diff --git a/FlatCAMApp.py b/FlatCAMApp.py index ebda6fdc..04fd7913 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -98,8 +98,8 @@ class App(QtCore.QObject): # #################################### # Version and VERSION DATE ########### # #################################### - version = 8.95 - version_date = "2019/08/17" + version = 8.96 + version_date = "2019/08/23" beta = True # current date now @@ -183,6 +183,9 @@ class App(QtCore.QObject): # in the worker task. thread_exception = QtCore.pyqtSignal(object) + # used to signal that there are arguments for the app + args_at_startup = QtCore.pyqtSignal() + def __init__(self, user_defaults=True, post_gui=None): """ Starts the application. @@ -320,7 +323,6 @@ class App(QtCore.QObject): QtCore.QObject.__init__(self) self.ui = FlatCAMGUI(self.version, self.beta, self) - self.set_ui_title(name=_("New Project - Not saved")) self.ui.geom_update[int, int, int, int, int].connect(self.save_geometry) self.ui.final_save.connect(self.final_save) @@ -345,6 +347,7 @@ class App(QtCore.QObject): # General App "units": self.ui.general_defaults_form.general_app_group.units_radio, "global_app_level": self.ui.general_defaults_form.general_app_group.app_level_radio, + "global_portable": self.ui.general_defaults_form.general_app_group.portability_cb, "global_language": self.ui.general_defaults_form.general_app_group.language_cb, "global_shell_at_startup": self.ui.general_defaults_form.general_app_group.shell_startup_cb, @@ -420,6 +423,21 @@ class App(QtCore.QObject): # Gerber Editor "gerber_editor_sel_limit": self.ui.gerber_defaults_form.gerber_editor_group.sel_limit_entry, + "gerber_editor_newcode": self.ui.gerber_defaults_form.gerber_editor_group.addcode_entry, + "gerber_editor_newsize": self.ui.gerber_defaults_form.gerber_editor_group.addsize_entry, + "gerber_editor_newtype": self.ui.gerber_defaults_form.gerber_editor_group.addtype_combo, + "gerber_editor_newdim": self.ui.gerber_defaults_form.gerber_editor_group.adddim_entry, + "gerber_editor_array_size": self.ui.gerber_defaults_form.gerber_editor_group.grb_array_size_entry, + "gerber_editor_lin_axis": self.ui.gerber_defaults_form.gerber_editor_group.grb_axis_radio, + "gerber_editor_lin_pitch": self.ui.gerber_defaults_form.gerber_editor_group.grb_pitch_entry, + "gerber_editor_lin_angle": self.ui.gerber_defaults_form.gerber_editor_group.grb_angle_entry, + "gerber_editor_circ_dir": self.ui.gerber_defaults_form.gerber_editor_group.grb_circular_dir_radio, + "gerber_editor_circ_angle": + self.ui.gerber_defaults_form.gerber_editor_group.grb_circular_angle_entry, + "gerber_editor_scale_f": self.ui.gerber_defaults_form.gerber_editor_group.grb_scale_entry, + "gerber_editor_buff_f": self.ui.gerber_defaults_form.gerber_editor_group.grb_buff_entry, + "gerber_editor_ma_low": self.ui.gerber_defaults_form.gerber_editor_group.grb_ma_low_entry, + "gerber_editor_ma_high": self.ui.gerber_defaults_form.gerber_editor_group.grb_ma_high_entry, # Excellon General "excellon_plot": self.ui.excellon_defaults_form.excellon_gen_group.plot_cb, @@ -558,6 +576,7 @@ class App(QtCore.QObject): # NCC Tool "tools_ncctools": self.ui.tools_defaults_form.tools_ncc_group.ncc_tool_dia_entry, + "tools_nccorder": self.ui.tools_defaults_form.tools_ncc_group.ncc_order_radio, "tools_nccoverlap": self.ui.tools_defaults_form.tools_ncc_group.ncc_overlap_entry, "tools_nccmargin": self.ui.tools_defaults_form.tools_ncc_group.ncc_margin_entry, "tools_nccmethod": self.ui.tools_defaults_form.tools_ncc_group.ncc_method_radio, @@ -578,6 +597,7 @@ class App(QtCore.QObject): # Paint Area Tool "tools_painttooldia": self.ui.tools_defaults_form.tools_paint_group.painttooldia_entry, + "tools_paintorder": self.ui.tools_defaults_form.tools_paint_group.paint_order_radio, "tools_paintoverlap": self.ui.tools_defaults_form.tools_paint_group.paintoverlap_entry, "tools_paintmargin": self.ui.tools_defaults_form.tools_paint_group.paintmargin_entry, "tools_paintmethod": self.ui.tools_defaults_form.tools_paint_group.paintmethod_combo, @@ -681,8 +701,10 @@ class App(QtCore.QObject): # Global APP Preferences "global_serial": 0, "global_stats": {}, + "global_tabs_detachable": True, "units": "IN", "global_app_level": 'b', + "global_portable": False, "global_language": 'English', "global_version_check": True, "global_send_stats": True, @@ -791,6 +813,20 @@ class App(QtCore.QObject): # Gerber Editor "gerber_editor_sel_limit": 30, + "gerber_editor_newcode": 10, + "gerber_editor_newsize": 0.8, + "gerber_editor_newtype": 'C', + "gerber_editor_newdim": "0.5, 0.5", + "gerber_editor_array_size": 5, + "gerber_editor_lin_axis": 'X', + "gerber_editor_lin_pitch": 1, + "gerber_editor_lin_angle": 0.0, + "gerber_editor_circ_dir": 'CW', + "gerber_editor_circ_angle": 0.0, + "gerber_editor_scale_f": 1.0, + "gerber_editor_buff_f": 0.1, + "gerber_editor_ma_low": 0.0, + "gerber_editor_ma_high": 1.0, # Excellon General "excellon_plot": True, @@ -916,6 +952,7 @@ class App(QtCore.QObject): "cncjob_toolchange_macro_enable": False, "tools_ncctools": "0.0393701, 0.019685", + "tools_nccorder": 'rev', "tools_nccoverlap": 0.015748, "tools_nccmargin": 0.0393701, "tools_nccmethod": "seed", @@ -934,6 +971,7 @@ class App(QtCore.QObject): "tools_cutout_convexshape": False, "tools_painttooldia": 0.023622, + "tools_paintorder": 'rev', "tools_paintoverlap": 0.015748, "tools_paintmargin": 0.0, "tools_paintmethod": "seed", @@ -1290,13 +1328,8 @@ class App(QtCore.QObject): self.tools_form = None self.on_options_combo_change(0) # Will show the initial form - # ### Define OBJECT COLLECTION ### - self.collection = ObjectCollection(self) - self.ui.project_tab_layout.addWidget(self.collection.view) # ################################ - self.log.debug("Finished creating Object Collection.") - # ### Initialize the color box's color in Preferences -> Global -> Color # Init Plot Colors self.ui.general_defaults_form.general_gui_group.pf_color_entry.set_value(self.defaults['global_plot_fill']) @@ -1368,46 +1401,52 @@ class App(QtCore.QObject): "background-color:%s" % str(self.defaults['cncjob_annotation_fontcolor'])[:7]) # ### End of Data #### - # ### Plot Area #### + # ############################################### + # ############# SETUP Plot Area ################# + # ############################################### + start_plot_time = time.time() # debug - self.plotcanvas = PlotCanvas(self.ui.right_layout, self) - - self.plotcanvas.vis_connect('mouse_move', self.on_mouse_move_over_plot) - self.plotcanvas.vis_connect('mouse_press', self.on_mouse_click_over_plot) - self.plotcanvas.vis_connect('mouse_release', self.on_mouse_click_release_over_plot) - self.plotcanvas.vis_connect('mouse_double_click', self.on_double_click_over_plot) - - # Keys over plot enabled - self.plotcanvas.vis_connect('key_press', self.ui.keyPressEvent) + self.plotcanvas = None + self.app_cursor = None + self.hover_shapes = None + self.on_plotcanvas_setup() + end_plot_time = time.time() + self.log.debug("Finished Canvas initialization in %s seconds." % (str(end_plot_time - start_plot_time))) self.ui.splitter.setStretchFactor(1, 2) - # So it can receive key presses - self.plotcanvas.vispy_canvas.native.setFocus() - - self.app_cursor = self.plotcanvas.new_cursor() - self.app_cursor.enabled = False - # to use for tools like Measurement tool who depends on the event sources who are changed inside the Editors # depending on from where those tools are called different actions can be done self.call_source = 'app' - end_plot_time = time.time() - self.log.debug("Finished Canvas initialization in %s seconds." % (str(end_plot_time - start_plot_time))) + # ############################################## + # ######### SETUP OBJECT COLLECTION ############ + # ############################################## + + self.collection = ObjectCollection(self) + self.ui.project_tab_layout.addWidget(self.collection.view) # ### Adjust tabs width ## ## # self.collection.view.setMinimumWidth(self.ui.options_scroll_area.widget().sizeHint().width() + # self.ui.options_scroll_area.verticalScrollBar().sizeHint().width()) self.collection.view.setMinimumWidth(290) + self.log.debug("Finished creating Object Collection.") + + # ############################################### + # ############# Worker SETUP #################### + # ############################################### - # ### Worker #### if self.defaults["global_worker_number"]: self.workers = WorkerStack(workers_number=int(self.defaults["global_worker_number"])) else: self.workers = WorkerStack(workers_number=2) self.worker_task.connect(self.workers.add_task) + self.log.debug("Finished creating Workers crew.") + + # ################################################ + # ############### Signal handling ################ + # ################################################ - # ### Signal handling ### # ### Custom signals ### self.inform.connect(self.info) self.app_quit.connect(self.quit_application) @@ -1506,12 +1545,8 @@ class App(QtCore.QObject): self.ui.menuviewenable.triggered.connect(self.enable_all_plots) self.ui.menuview_zoom_fit.triggered.connect(self.on_zoom_fit) - self.ui.menuview_zoom_in.triggered.connect( - lambda: self.plotcanvas.zoom(1 / float(self.defaults['global_zoom_ratio'])) - ) - self.ui.menuview_zoom_out.triggered.connect( - lambda: self.plotcanvas.zoom(float(self.defaults['global_zoom_ratio'])) - ) + self.ui.menuview_zoom_in.triggered.connect(self.on_zoom_in) + self.ui.menuview_zoom_out.triggered.connect(self.on_zoom_out) self.ui.menuview_toggle_code_editor.triggered.connect(self.on_toggle_code_editor) self.ui.menuview_toggle_fscreen.triggered.connect(self.on_fullscreen) @@ -1545,6 +1580,15 @@ class App(QtCore.QObject): # ToolBar signals self.connect_toolbar_signals() + # Notebook signals + # make the right click on the notebook tab connect to a function + self.ui.notebook.setupContextMenu() + self.ui.notebook.addContextMenu( + _("Detachable Tabs"), self.on_notebook_tab_rmb_click, + initial_checked=self.defaults["global_tabs_detachable"]) + # activate initial state + self.on_notebook_tab_rmb_click(self.defaults["global_tabs_detachable"]) + # Context Menu self.ui.popmenu_disable.triggered.connect(lambda: self.toggle_plots(self.collection.get_selected())) self.ui.popmenu_panel_toggle.triggered.connect(self.on_toggle_notebook) @@ -1668,6 +1712,9 @@ class App(QtCore.QObject): self.ui.buttonFind.clicked.connect(self.handleFindGCode) self.ui.buttonReplace.clicked.connect(self.handleReplaceGCode) + # portability changed + self.ui.general_defaults_form.general_app_group.portability_cb.stateChanged.connect(self.on_portable_checked) + # Object list self.collection.view.activated.connect(self.on_row_activated) @@ -1682,6 +1729,10 @@ class App(QtCore.QObject): self.ui.excellon_options_form.excellon_opt_group.excellon_defaults_button.clicked.connect( self.on_excellon_options_button) + # when there are arguments at application startup this get launched + self.args_at_startup.connect(self.on_startup_args) + self.log.debug("Finished connecting Signals.") + # this is a flag to signal to other tools that the ui tooltab is locked and not accessible self.tool_tab_locked = False @@ -1691,21 +1742,18 @@ class App(QtCore.QObject): else: self.ui.splitter.setSizes([0, 1]) - # ################### - # ### Other setups ## - # ################### + # ########################################### + # ################# Other setups ############ + # ########################################### + # Sets up FlatCAMObj, FCProcess and FCProcessContainer. self.setup_obj_classes() self.setup_recent_items() self.setup_component_editor() - # ############ - # ### Shell ## - # ############ - - # ######################### - # Auto-complete KEYWORDS ## - # ######################### + # ########################################### + # #######Auto-complete KEYWORDS ############# + # ########################################### self.tcl_commands_list = ['add_circle', 'add_poly', 'add_polygon', 'add_polyline', 'add_rectangle', 'aligndrill', 'clear', 'aligndrillgrid', 'cncjob', 'cutout', 'delete', 'drillcncjob', @@ -1915,6 +1963,10 @@ class App(QtCore.QObject): self.myKeywords = self.tcl_commands_list + self.ordinary_keywords + self.tcl_keywords + # ########################################### + # ########### Shell SETUP ################### + # ########################################### + self.shell = FCShell(self, version=self.version) self.shell._edit.set_model_data(self.myKeywords) self.ui.code_editor.set_model_data(self.myKeywords) @@ -1941,9 +1993,9 @@ class App(QtCore.QObject): else: self.ui.shell_dock.hide() - # ######################## - # ### Tools and Plugins ## - # ######################## + # ########################################### + # ######### Tools and Plugins ############### + # ########################################### self.dblsidedtool = None self.measurement_tool = None @@ -1969,6 +2021,10 @@ class App(QtCore.QObject): # self.f_parse = ParseFont(self) # self.parse_system_fonts() + # ############################################### + # ######## START-UP ARGUMENTS ################### + # ############################################### + # test if the program was started with a script as parameter if self.cmd_line_shellfile: try: @@ -1979,9 +2035,9 @@ class App(QtCore.QObject): print("ERROR: ", ext) sys.exit(2) - # ########################## - # ### Check for updates #### - # ########################## + # ############################################### + # ############# Check for updates ############### + # ############################################### # Separate thread (Not worker) # Check for updates on startup but only if the user consent and the app is not in Beta version @@ -1994,9 +2050,9 @@ class App(QtCore.QObject): 'params': []}) self.thr2.start(QtCore.QThread.LowPriority) - # ################################### - # ### Variables for global usage #### - # ################################### + # ################################################ + # ######### Variables for global usage ########### + # ################################################ # coordinates for relative position display self.rel_point1 = (0, 0) @@ -2061,13 +2117,13 @@ class App(QtCore.QObject): self.dxf_list = ['dxf'] self.pdf_list = ['pdf'] self.prj_list = ['flatprj'] + self.conf_list = ['flatconfig'] # global variable used by NCC Tool to signal that some polygons could not be cleared, if True # flag for polygons not cleared self.poly_not_cleared = False # VisPy visuals - self.hover_shapes = ShapeCollection(parent=self.plotcanvas.vispy_canvas.view.scene, layers=1) self.isHovering = False self.notHovering = True @@ -2096,7 +2152,7 @@ class App(QtCore.QObject): os.chmod(filename_factory, S_IREAD | S_IRGRP | S_IROTH) #################################################### - # ### EDITOR section ############################### + # ### ADDING FlatCAM EDITORS section ############### #################################################### # watch out for the position of the editors instantiation ... if it is done before a save of the default values @@ -2113,50 +2169,13 @@ class App(QtCore.QObject): App.log.debug("END of constructor. Releasing control.") - # accept a project file as command line parameter + self.set_ui_title(name=_("New Project - Not saved")) + + # accept some type file as command line parameter: FlatCAM project, FlatCAM preferences or scripts # the path/file_name must be enclosed in quotes if it contain spaces - for argument in App.args: - if '.FlatPrj' in argument: - try: - project_name = str(argument) + if App.args: + self.args_at_startup.emit() - if project_name == "": - self.inform.emit(_("Open cancelled.")) - else: - # self.open_project(project_name) - run_from_arg = True - self.worker_task.emit({'fcn': self.open_project, - 'params': [project_name, run_from_arg]}) - except Exception as e: - log.debug("Could not open FlatCAM project file as App parameter due: %s" % str(e)) - - if '.FlatConfig' in argument: - try: - file_name = str(argument) - - if file_name == "": - self.inform.emit(_("Open Config file failed.")) - else: - # run_from_arg = True - # self.worker_task.emit({'fcn': self.open_config_file, - # 'params': [file_name, run_from_arg]}) - self.open_config_file(file_name, run_from_arg=True) - except Exception as e: - log.debug("Could not open FlatCAM Config file as App parameter due: %s" % str(e)) - - if '.FlatScript' in argument: - try: - file_name = str(argument) - - if file_name == "": - self.inform.emit(_("Open Script file failed.")) - else: - # run_from_arg = True - # self.worker_task.emit({'fcn': self.open_script_file, - # 'params': [file_name, run_from_arg]}) - self.on_filerunscript(name=file_name) - except Exception as e: - log.debug("Could not open FlatCAM Script file as App parameter due: %s" % str(e)) @staticmethod def copy_and_overwrite(from_path, to_path): @@ -2175,6 +2194,52 @@ class App(QtCore.QObject): from_new_path = os.path.dirname(os.path.realpath(__file__)) + '\\flatcamGUI\\VisPyData\\data' shutil.copytree(from_new_path, to_path) + def on_startup_args(self): + log.debug("Application was started with an argument. Processing ...") + for argument in App.args: + if '.FlatPrj' in argument: + try: + project_name = str(argument) + + if project_name == "": + self.inform.emit(_("Open cancelled.")) + else: + # self.open_project(project_name) + run_from_arg = True + # self.worker_task.emit({'fcn': self.open_project, + # 'params': [project_name, run_from_arg]}) + self.open_project(filename=project_name, run_from_arg=run_from_arg) + except Exception as e: + log.debug("Could not open FlatCAM project file as App parameter due: %s" % str(e)) + + elif '.FlatConfig' in argument: + try: + file_name = str(argument) + + if file_name == "": + self.inform.emit(_("Open Config file failed.")) + else: + # run_from_arg = True + # self.worker_task.emit({'fcn': self.open_config_file, + # 'params': [file_name, run_from_arg]}) + self.open_config_file(file_name, run_from_arg=True) + except Exception as e: + log.debug("Could not open FlatCAM Config file as App parameter due: %s" % str(e)) + + elif '.FlatScript' in argument: + try: + file_name = str(argument) + + if file_name == "": + self.inform.emit(_("Open Script file failed.")) + else: + # run_from_arg = True + # self.worker_task.emit({'fcn': self.open_script_file, + # 'params': [file_name, run_from_arg]}) + self.on_filerunscript(name=file_name) + except Exception as e: + log.debug("Could not open FlatCAM Script file as App parameter due: %s" % str(e)) + def set_ui_title(self, name): self.ui.setWindowTitle('FlatCAM %s %s - %s %s' % (self.version, @@ -3006,7 +3071,7 @@ class App(QtCore.QObject): # Save update options try: f = open(filename, "w") - json.dump(defaults_from_file, f) + json.dump(defaults_from_file, f, default=to_dict, indent=2, sort_keys=True) f.close() except: self.inform.emit(_("[ERROR_NOTCL] Failed to write defaults to file.")) @@ -3106,6 +3171,11 @@ class App(QtCore.QObject): :param initialize: Function to run after creation of the object but before it is attached to the application. The function is called with 2 parameters: the new object and the App instance. :type initialize: function + :param active: + :param fit: + :param plot: If to plot the resulting object + :param autoselected: if the resulting object is autoselected in the Project tab and therefore in the + self.colleaction :return: None :rtype: None """ @@ -3189,11 +3259,9 @@ class App(QtCore.QObject): obj.options['ymin'] = ymin obj.options['xmax'] = xmax obj.options['ymax'] = ymax - except: - log.warning("The object has no bounds properties.") - # don't plot objects with no bounds, there is nothing to plot - self.plot = False - pass + except Exception as e: + log.warning("The object has no bounds properties. %s" % str(e)) + return "fail" FlatCAMApp.App.log.debug("Moving new object back to main thread.") @@ -3438,7 +3506,7 @@ class App(QtCore.QObject): # log.debug("Application defaults saved ... Exit event.") # QtWidgets.qApp.quit() - def save_defaults(self, silent=False): + def save_defaults(self, silent=False, data_path=None): """ Saves application default options ``self.defaults`` to current_defaults.FlatConfig. @@ -3447,9 +3515,12 @@ class App(QtCore.QObject): """ self.report_usage("save_defaults") + if data_path is None: + data_path = self.data_path + # Read options from file try: - f = open(self.data_path + "/current_defaults.FlatConfig") + f = open(data_path + "/current_defaults.FlatConfig") defaults_file_content = f.read() f.close() except: @@ -3506,7 +3577,7 @@ class App(QtCore.QObject): # Save update options try: - f = open(self.data_path + "/current_defaults.FlatConfig", "w") + f = open(data_path + "/current_defaults.FlatConfig", "w") json.dump(defaults, f, default=to_dict, indent=2, sort_keys=True) f.close() except: @@ -3516,7 +3587,7 @@ class App(QtCore.QObject): if not silent: self.inform.emit(_("[success] Defaults saved.")) - def save_factory_defaults(self, silent=False): + def save_factory_defaults(self, silent=False, data_path=None): """ Saves application factory default options ``self.defaults`` to factory_defaults.FlatConfig. @@ -3526,9 +3597,12 @@ class App(QtCore.QObject): """ self.report_usage("save_factory_defaults") + if data_path is None: + data_path = self.data_path + # Read options from file try: - f_f_def = open(self.data_path + "/factory_defaults.FlatConfig") + f_f_def = open(data_path + "/factory_defaults.FlatConfig") factory_defaults_file_content = f_f_def.read() f_f_def.close() except: @@ -3554,7 +3628,7 @@ class App(QtCore.QObject): # Save update options try: - f_f_def_s = open(self.data_path + "/factory_defaults.FlatConfig", "w") + f_f_def_s = open(data_path + "/factory_defaults.FlatConfig", "w") json.dump(factory_defaults, f_f_def_s, default=to_dict, indent=2, sort_keys=True) f_f_def_s.close() except: @@ -3608,11 +3682,96 @@ class App(QtCore.QObject): settings.setValue('axis_font_size', self.ui.general_defaults_form.general_gui_set_group.axis_font_size_spinner.get_value()) + settings.setValue('toolbar_lock', self.ui.lock_action.isChecked()) + # This will write the setting to the platform specific storage. del settings log.debug("App.final_save() --> App UI state saved.") QtWidgets.qApp.quit() + def on_portable_checked(self, state): + line_no = 0 + data = None + + if sys.platform != 'win32': + # this won't work in Linux or MacOS + return + + # test if the app was frozen and choose the path for the configuration file + if getattr(sys, "frozen", False) is True: + current_data_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + '\\config' + else: + current_data_path = os.path.dirname(os.path.realpath(__file__)) + '\\config' + + config_file = current_data_path + '\\configuration.txt' + try: + with open(config_file, 'r') as f: + try: + data = f.readlines() + except Exception as e: + log.debug('App.__init__() -->%s' % str(e)) + return + except FileNotFoundError: + pass + + for line in data: + line = line.strip('\n') + param = str(line).rpartition('=') + if param[0] == 'portable': + break + line_no += 1 + + if state: + data[line_no] = 'portable=True\n' + # create the new defauults files + # create current_defaults.FlatConfig file if there is none + try: + f = open(current_data_path + '/current_defaults.FlatConfig') + f.close() + except IOError: + App.log.debug('Creating empty current_defaults.FlatConfig') + f = open(current_data_path + '/current_defaults.FlatConfig', 'w') + json.dump({}, f) + f.close() + + # create factory_defaults.FlatConfig file if there is none + try: + f = open(current_data_path + '/factory_defaults.FlatConfig') + f.close() + except IOError: + App.log.debug('Creating empty factory_defaults.FlatConfig') + f = open(current_data_path + '/factory_defaults.FlatConfig', 'w') + json.dump({}, f) + f.close() + + try: + f = open(current_data_path + '/recent.json') + f.close() + except IOError: + App.log.debug('Creating empty recent.json') + f = open(current_data_path + '/recent.json', 'w') + json.dump([], f) + f.close() + + try: + fp = open(current_data_path + '/recent_projects.json') + fp.close() + except IOError: + App.log.debug('Creating empty recent_projects.json') + fp = open(current_data_path + '/recent_projects.json', 'w') + json.dump([], fp) + fp.close() + + # save the current defaults to the new defaults file + self.save_defaults(silent=True, data_path=current_data_path) + self.save_factory_defaults(silent=True, data_path=current_data_path) + + else: + data[line_no] = 'portable=False\n' + + with open(config_file, 'w') as f: + f.writelines(data) + def on_toggle_shell(self): """ toggle shell if is visible close it if closed open it @@ -4010,7 +4169,7 @@ class App(QtCore.QObject): msgbox = QtWidgets.QMessageBox() msgbox.setWindowTitle(_("Toggle Units")) msgbox.setWindowIcon(QtGui.QIcon('share/toggle_units32.png')) - msgbox.setText(_("Change project units ...")) + msgbox.setText("%s" % _("Change project units ...")) msgbox.setInformativeText(_("Changing the units of the project causes all geometrical " "properties of all objects to be scaled accordingly.\nContinue?")) bt_ok = msgbox.addButton(_('Ok'), QtWidgets.QMessageBox.AcceptRole) @@ -4545,6 +4704,13 @@ class App(QtCore.QObject): self.ui.cncjob_defaults_form.cncjob_gen_group.annotation_fontcolor_entry.set_value(new_val_sel) self.defaults['global_proj_item_dis_color'] = new_val_sel + def on_notebook_tab_rmb_click(self, checked): + self.ui.notebook.set_detachable(val=checked) + self.defaults["global_tabs_detachable"] = checked + + self.ui.plot_tab_area.set_detachable(val=checked) + self.defaults["global_tabs_detachable"] = checked + def on_deselect_all(self): self.collection.set_all_inactive() self.delete_selection_shape() @@ -4990,7 +5156,7 @@ class App(QtCore.QObject): msgbox = QtWidgets.QMessageBox() msgbox.setWindowTitle(_("Delete objects")) msgbox.setWindowIcon(QtGui.QIcon('share/deleteshape32.png')) - # msgbox.setText(_("Delete FlatCAM objects ...")) + # msgbox.setText("%s" % _("Change project units ...")) msgbox.setText(_("Are you sure you want to permanently delete\n" "the selected objects?")) bt_ok = msgbox.addButton(_('Ok'), QtWidgets.QMessageBox.AcceptRole) @@ -7166,12 +7332,15 @@ class App(QtCore.QObject): self.should_we_save = False - def on_file_saveprojectas(self, make_copy=False, thread=True, quit=False): + def on_file_saveprojectas(self, make_copy=False, use_thread=True, quit_action=False): """ Callback for menu item File->Save Project As... Opens a file chooser and saves the project to the given file via ``self.save_project()``. + :param make_copy if to be create a copy of the project; boolean + :param use_thread: if to be run in a separate thread; boolean + :param quit_action: if to be followed by quiting the application; boolean :return: None """ @@ -7202,16 +7371,17 @@ class App(QtCore.QObject): except IOError: pass - if thread is True: + if use_thread is True: self.worker_task.emit({'fcn': self.save_project, - 'params': [filename, quit]}) + 'params': [filename, quit_action]}) else: - self.save_project(filename, quit) + self.save_project(filename, quit_action) # self.save_project(filename) if self.defaults["global_open_style"] is False: self.file_opened.emit("project", filename) self.file_saved.emit("project", filename) + if not make_copy: self.project_filename = filename @@ -7222,7 +7392,9 @@ class App(QtCore.QObject): """ Exports a Geometry Object to an SVG file. + :param obj_name: the name of the FlatCAM object to be saved as SVG :param filename: Path to the SVG file to save to. + :param scale_factor: factor by which to change/scale the thickness of the features :return: """ self.report_usage("export_svg()") @@ -7284,9 +7456,12 @@ class App(QtCore.QObject): """ Exports a Geometry Object to an SVG file in negative. + :param obj_name: the name of the FlatCAM object to be saved as SVG + :param box_name: the name of the FlatCAM object to be used as delimitation of the content to be saved :param filename: Path to the SVG file to save to. - :param: use_thread: If True use threads - :type: Bool + :param boundary: thickness of a black border to surround all the features + :param scale_factor: factor by which to change/scale the thickness of the features + :param use_thread: if to be run in a separate thread; boolean :return: """ self.report_usage("export_negative()") @@ -7408,11 +7583,13 @@ class App(QtCore.QObject): def export_svg_black(self, obj_name, box_name, filename, scale_factor=0.00, use_thread=True): """ - Exports a Geometry Object to an SVG file in negative. + Exports a Geometry Object to an SVG file in positive black. + :param obj_name: the name of the FlatCAM object to be saved as SVG + :param box_name: the name of the FlatCAM object to be used as delimitation of the content to be saved :param filename: Path to the SVG file to save to. - :param: use_thread: If True use threads - :type: Bool + :param scale_factor: factor by which to change/scale the thickness of the features + :param use_thread: if to be run in a separate thread; boolean :return: """ self.report_usage("export_svg_black()") @@ -7529,9 +7706,11 @@ class App(QtCore.QObject): def save_source_file(self, obj_name, filename, use_thread=True): """ - Exports a Gerber Object to an Gerber file. + Exports a FlatCAM Object to an Gerber/Excellon file. + :param obj_name: the name of the FlatCAM object for which to save it's embedded source file :param filename: Path to the Gerber file to save to. + :param use_thread: if to be run in a separate thread :return: """ self.report_usage("save source file()") @@ -7565,7 +7744,9 @@ class App(QtCore.QObject): """ Exports a Excellon Object to an Excellon file. + :param obj_name: the name of the FlatCAM object to be saved as Excellon :param filename: Path to the Excellon file to save to. + :param use_thread: if to be run in a separate thread :return: """ self.report_usage("export_excellon()") @@ -7701,7 +7882,9 @@ class App(QtCore.QObject): """ Exports a Gerber Object to an Gerber file. + :param obj_name: the name of the FlatCAM object to be saved as Gerber :param filename: Path to the Gerber file to save to. + :param use_thread: if to be run in a separate thread :return: """ self.report_usage("export_gerber()") @@ -7824,7 +8007,9 @@ class App(QtCore.QObject): """ Exports a Geometry Object to an DXF file. + :param obj_name: the name of the FlatCAM object to be saved as DXF :param filename: Path to the DXF file to save to. + :param use_thread: if to be run in a separate thread :return: """ self.report_usage("export_dxf()") @@ -7868,7 +8053,7 @@ class App(QtCore.QObject): def job_thread_exc(app_obj): ret = make_dxf() if ret == 'fail': - self.inform.emit(_('[[WARNING_NOTCL]] Could not export DXF file.')) + app_obj.inform.emit(_('[[WARNING_NOTCL]] Could not export DXF file.')) return self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]}) @@ -8254,6 +8439,8 @@ class App(QtCore.QObject): """ App.log.debug("Opening project: " + filename) + self.set_ui_title(name=_("Loading Project ... Please Wait ...")) + # Open and parse an uncompressed Project file try: f = open(filename, 'r') @@ -8293,20 +8480,26 @@ class App(QtCore.QObject): self.set_screen_units(self.options["units"]) # Re create objects - App.log.debug("Re-creating objects...") + App.log.debug(" **************** Started PROEJCT loading... **************** ") + for obj in d['objs']: def obj_init(obj_inst, app_inst): obj_inst.from_dict(obj) - App.log.debug(obj['kind'] + ": " + obj['options']['name']) + App.log.debug("Recreating from opened project an %s object: %s" % + (obj['kind'].capitalize(), obj['options']['name'])) + + self.set_ui_title(name="{} {}: {}".format(_("Loading Project ... restoring"), obj['kind'].upper(), obj['options']['name'])) + self.new_object(obj['kind'], obj['options']['name'], obj_init, active=False, fit=False, plot=True) - self.plot_all() + + # self.plot_all() self.inform.emit(_("[success] Project loaded from: %s") % filename) self.should_we_save = False self.file_opened.emit("project", filename) self.set_ui_title(name=self.project_filename) - App.log.debug("Project loaded") + App.log.debug(" **************** Finished PROJECT loading... **************** ") def propagate_defaults(self, silent=False): """ @@ -8856,6 +9049,35 @@ The normal flow when working in FlatCAM is the following:

_("info") ) + def on_plotcanvas_setup(self, container=None): + """ + This is doing the setup for the plot area (VisPy canvas) + + :param container: widget where to install the canvas + :return: None + """ + if container: + plot_container = container + else: + plot_container = self.ui.right_layout + + self.plotcanvas = PlotCanvas(plot_container, self) + + # So it can receive key presses + self.plotcanvas.vispy_canvas.native.setFocus() + + self.plotcanvas.vis_connect('mouse_move', self.on_mouse_move_over_plot) + self.plotcanvas.vis_connect('mouse_press', self.on_mouse_click_over_plot) + self.plotcanvas.vis_connect('mouse_release', self.on_mouse_click_release_over_plot) + self.plotcanvas.vis_connect('mouse_double_click', self.on_double_click_over_plot) + + # Keys over plot enabled + self.plotcanvas.vis_connect('key_press', self.ui.keyPressEvent) + + self.app_cursor = self.plotcanvas.new_cursor() + self.app_cursor.enabled = False + self.hover_shapes = ShapeCollection(parent=self.plotcanvas.vispy_canvas.view.scene, layers=1) + def on_zoom_fit(self, event): """ Callback for zoom-out request. This can be either from the corresponding @@ -8868,6 +9090,12 @@ The normal flow when working in FlatCAM is the following:

self.plotcanvas.fit_view() + def on_zoom_in(self): + self.plotcanvas.zoom(1 / float(self.defaults['global_zoom_ratio'])) + + def on_zoom_out(self): + self.plotcanvas.zoom(float(self.defaults['global_zoom_ratio'])) + def disable_all_plots(self): self.report_usage("disable_all_plots()") @@ -8906,7 +9134,6 @@ The normal flow when working in FlatCAM is the following:

:param objects: list of Objects to be enabled :return: """ - log.debug("Enabling plots ...") self.inform.emit(_("Working ...")) for obj in objects: @@ -8970,12 +9197,13 @@ The normal flow when working in FlatCAM is the following:

for obj in objects: obj.on_generatecnc_button_click() - def save_project(self, filename, quit=False): + def save_project(self, filename, quit_action=False): """ Saves the current project to the specified file. :param filename: Name of the file in which to save. :type filename: str + :param quit_action: if the project saving will be followed by an app quit; boolean :return: None """ self.log.debug("save_project()") @@ -9037,28 +9265,37 @@ The normal flow when working in FlatCAM is the following:

else: self.inform.emit(_("[ERROR_NOTCL] Failed to save project file: %s. Retry to save it.") % filename) + settings = QSettings("Open Source", "FlatCAM") + lock_state = self.ui.lock_action.isChecked() + settings.setValue('toolbar_lock', lock_state) + + # This will write the setting to the platform specific storage. + del settings + # if quit: # t = threading.Thread(target=lambda: self.check_project_file_size(1, filename=filename)) # t.start() - self.start_delayed_quit(delay=500, filename=filename, quit=quit) + self.start_delayed_quit(delay=500, filename=filename, should_quit=quit_action) - def start_delayed_quit(self, delay, filename, quit=None): + def start_delayed_quit(self, delay, filename, should_quit=None): """ :param delay: period of checking if project file size is more than zero; in seconds :param filename: the name of the project file to be checked periodically for size more than zero + :param should_quit: if the task finished will be followed by an app quit; boolean :return: """ - to_quit = quit + to_quit = should_quit self.save_timer = QtCore.QTimer() self.save_timer.setInterval(delay) - self.save_timer.timeout.connect(lambda: self.check_project_file_size(filename=filename, quit=to_quit)) + self.save_timer.timeout.connect(lambda: self.check_project_file_size(filename=filename, should_quit=to_quit)) self.save_timer.start() - def check_project_file_size(self, filename, quit=None): + def check_project_file_size(self, filename, should_quit=None): """ :param filename: the name of the project file to be checked periodically for size more than zero + :param should_quit: will quit the app if True; boolean :return: """ @@ -9066,9 +9303,9 @@ The normal flow when working in FlatCAM is the following:

if os.stat(filename).st_size > 0: self.save_in_progress = False self.save_timer.stop() - if quit: + if should_quit: self.app_quit.emit() - except Exception: + except Exception as e: traceback.print_exc() def on_options_app2project(self): diff --git a/FlatCAMObj.py b/FlatCAMObj.py index 6a59fd0f..ffb024f5 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -136,7 +136,6 @@ class FlatCAMObj(QtCore.QObject): def on_options_change(self, key): # Update form on programmatically options change self.set_form_item(key) - # Set object visibility if key == 'plot': self.visible = self.options['plot'] @@ -774,7 +773,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber): if self.ui.follow_cb.get_value() is True: obj = self.app.collection.get_active() - obj.follow() + obj.follow_geo() # in the end toggle the visibility of the origin object so we can see the generated Geometry obj.ui.plot_cb.toggle() else: @@ -786,7 +785,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber): if self.ui.follow_cb.get_value() is True: obj = self.app.collection.get_active() - obj.follow() + obj.follow_geo() # in the end toggle the visibility of the origin object so we can see the generated Geometry obj.ui.plot_cb.toggle() else: @@ -1130,6 +1129,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber): :return: None :rtype: None """ + log.debug("FlatCAMObj.FlatCAMGerber.convert_units()") factor = Gerber.convert_units(self, units) @@ -2769,8 +2769,9 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): self.app.worker_task.emit({'fcn': job_thread, 'params': [self.app]}) def convert_units(self, units): - factor = Excellon.convert_units(self, units) + log.debug("FlatCAMObj.FlatCAMExcellon.convert_units()") + factor = Excellon.convert_units(self, units) self.options['drillz'] = float(self.options['drillz']) * factor self.options['travelz'] = float(self.options['travelz']) * factor self.options['feedrate'] = float(self.options['feedrate']) * factor @@ -3423,7 +3424,6 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): self.ui.level.setText(_( 'Advanced' )) - self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click) self.ui.generate_cnc_button.clicked.connect(self.on_generatecnc_button_click) self.ui.paint_tool_button.clicked.connect(lambda: self.app.paint_tool.run(toggle=False)) @@ -4958,6 +4958,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): :return: None :rtype: None """ + log.debug("FlatCAMObj.FlatCAMGeometry.scale()") try: xfactor = float(xfactor) @@ -5027,6 +5028,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): :return: None :rtype: None """ + log.debug("FlatCAMObj.FlatCAMGeometry.offset()") try: dx, dy = vect @@ -5057,6 +5059,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): self.app.inform.emit(_("[success] Geometry Offset done.")) def convert_units(self, units): + log.debug("FlatCAMObj.FlatCAMGeometry.convert_units()") + self.ui_disconnect() factor = Geometry.convert_units(self, units) @@ -5203,11 +5207,11 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): for tooluid_key in self.tools: solid_geometry = self.tools[tooluid_key]['solid_geometry'] self.plot_element(solid_geometry, visible=visible) - - # plot solid geometry that may be an direct attribute of the geometry object - # for SingleGeo - if self.solid_geometry: - self.plot_element(self.solid_geometry, visible=visible) + else: + # plot solid geometry that may be an direct attribute of the geometry object + # for SingleGeo + if self.solid_geometry: + self.plot_element(self.solid_geometry, visible=visible) # self.plot_element(self.solid_geometry, visible=self.options['plot']) self.shapes.redraw() @@ -5217,8 +5221,8 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): def on_plot_cb_click(self, *args): if self.muted_ui: return - self.plot() self.read_form_item('plot') + self.plot() self.ui_disconnect() cb_flag = self.ui.plot_cb.isChecked() @@ -6024,8 +6028,9 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob): self.annotation.redraw() def convert_units(self, units): + log.debug("FlatCAMObj.FlatCAMECNCjob.convert_units()") + factor = CNCjob.convert_units(self, units) - FlatCAMApp.App.log.debug("FlatCAMCNCjob.convert_units()") self.options["tooldia"] = float(self.options["tooldia"]) * factor param_list = ['cutz', 'depthperpass', 'travelz', 'feedrate', 'feedrate_z', 'feedrate_rapid', diff --git a/FlatCAMWorker.py b/FlatCAMWorker.py index 1461f989..9c93afe1 100644 --- a/FlatCAMWorker.py +++ b/FlatCAMWorker.py @@ -7,6 +7,7 @@ # ########################################################## ## from PyQt5 import QtCore +# import traceback class Worker(QtCore.QObject): @@ -60,6 +61,7 @@ class Worker(QtCore.QObject): task['fcn'](*task['params']) except Exception as e: self.app.thread_exception.emit(e) + # print(traceback.format_exc()) # raise e finally: self.task_completed.emit(self.name) diff --git a/ObjectCollection.py b/ObjectCollection.py index 3e5ef4de..3721db2b 100644 --- a/ObjectCollection.py +++ b/ObjectCollection.py @@ -693,7 +693,7 @@ class ObjectCollection(QtCore.QAbstractItemModel): :param name: Name of the FlatCAM Object :return: None """ - log.debug("ObjectCollection.set_inactive()") + # log.debug("ObjectCollection.set_inactive()") obj = self.get_by_name(name) item = obj.item diff --git a/README.md b/README.md index 2015396e..70c87779 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,74 @@ CAD program, and create G-Code for Isolation routing. ================================================= +23.08.2019 + +- in Tool Cutout for the manual gaps, right mouse button click will exit from the action of adding gaps +- in Tool Cutout tool I've added the possibility to create a cutout without bridge gaps; added the 'None' option in the Gaps combobox +- in NCC Tool added ability to add multiple zones to clear when Area option is checked and the modifier key is pressed (either CTRL or SHIFT as set in Preferences). Right click of the mouse is an additional way to finish the job. +- fixed a bug in Excellon Editor that made that the selection of drills is always cumulative +- in Paint Tool added ability to add multiple zones to paint when Area option is checked and the modifier key is pressed (either CTRL or SHIFT as set in Preferences). Right click of the mouse is an additional way to finish the job. +- in Paint Tool and NCC Tool, for the Area option, now mouse panning is allowed while adding areas to process +- for all the FlatCAM tools launched from toolbar the behavior is modified: first click it will launch the tool; second click: if the Tool tab has focus it will close the tool but if another tab is selected, the tool will have focus +- modified the NCC Tool and Paint Tool to work multiple times after first launch +- fixed the issue with GUI entries content being deselected on right click in the box in order to copy the value +- some changes in GUI tooltips +- modified the way key modifiers are detected in Gerber Editor Selection class and in Excellon Editor Selection class +- updated the translations +- fixed aperture move in Gerber Editor +- fixed drills/slots move in Excellon Editor +- RELEASE 8.96 + +22.08.2019 + +- added ability to turn ON/OFF the detachable capability of the tabs in Notebook through a context menu activated by right mouse button click on the Notebook header +- added ability to turn ON/OFF the detachable capability of the tabs in Plot Tab Area through a context menu activated by right mouse button click on the Notebook header +- added possibility to turn application portable from the Edit -> Preferences -> General -> App. Preferences -> Portable checkbox +- moved the canvas setup into it's own function and called it in the init() function +- fixed the Buffer Tool in Geometry Editor; made the Buffer entry field a QDoubleSpinner and set the lower limit to zero. +- fixed Tool Cutout so when the target Gerber is a single Polygon then the created manual geometry will follow the shape if shape is freeform +- fixed TclCommandFollow command; an older function name was used who yielded wrong results +- in Tool Cutout for the manual gaps, now the moving geometry that cuts gaps will orient itself to fit the angle of the cutout geometry + +21.08.2019 + +- added feature in Paint Tool allowing the painting to be done on Gerber objects +- added feature in Paint Tool to set how (and if) the tools are sorted +- added Edit -> Preferences GUI entries for the above just added features +- added new entry in Properties Tool which is the calculated Convex Hull Area (should give a more precise area for the irregular shapes than the box area) +- added some more strings in Properties Tool for the translation +- in NCC Tool added area selection feature +- fixed bug in Excellon parser for the Excellon files that do not put the type of zero suppression they use in the file (like DipTrace eCAD) +- fixed some issues introduced in NCC Tool + +20.08.2019 + +- added ability to do copper clearing through NCC Tool on Geometry objects +- replaced the layout from Grid to Form for the Reference objects comboboxes in Paint Tool and in NCC Tool + +19.08.2019 + +- updated the Edit -> Preferences to include also the Gerber Editor complete Preferences +- started to update the app strings to make it easier for future translations +- fixed the POT file and the German translation +- some mods in the Tool Sub +- fixed bug in Tool Sub that created issues when toggling visibility of the plots +- fixed the Spanish, Brazilian Portuguese and Romanian translations + +18.08.2019 + +- made the exported preferences formatted therefore more easily read +- projects at startup don't work in another thread so there is no multithreading if I want to double click an project and to load it +- added messages in the application window title which show the progress in loading a project (which is not thread-safe therefore keeping the app from fully initialize until finished) +- in NCC Tool added a new parameter (radio button) that offer the choice on the order of the tools both in tools table and in execution of engraving; added as a parameter also in Edit -> Preferences -> Tools -> NCC Tool +- added possibility to drag & drop FlatCAM config files (*.FlatConfig) into the canvas to be opened into the application +- added GUI in Paint tool in beginning to add Paint by external reference object +- finished adding in Paint Tool the usage of an external object to set the extent of th area painted. For simple shapes (single Polygon) the shape can be anything, for the rest will be a convex hull of the reference object +- modified NCC tool so for simple objects (single Polygon) the external object used as reference can have any shape, for the other types of objects the copper cleared area will be the convex hull of the reference object +- modified the strings of the app wherever they contained the char seq so it is not included in the translated string +- updated the translation files for the modified strings (and for the newly added strings) +- added ability to lock toolbars within the context menu that is popped up on any toolbars right mouse click. The value is saved in QSettings and it is persistent between application startup's. + 17.08.2019 - added estimated time of routing for the CNCJob and added travelled distance parameter for geometry, too diff --git a/camlib.py b/camlib.py index 242b4bd1..9c7bafe7 100644 --- a/camlib.py +++ b/camlib.py @@ -229,7 +229,8 @@ class Geometry(object): # fixed issue of getting bounds only for one level lists of objects # now it can get bounds for nested lists of objects - log.debug("Geometry->bounds()") + log.debug("camlib.Geometry.bounds()") + if self.solid_geometry is None: log.debug("solid_geometry is None") return 0, 0, 0, 0 @@ -1278,7 +1279,7 @@ class Geometry(object): :return: Scaling factor resulting from unit change. :rtype: float """ - log.debug("Geometry.convert_units()") + log.debug("camlib.Geometry.convert_units()") if units.upper() == self.units.upper(): return 1.0 @@ -1378,6 +1379,7 @@ class Geometry(object): :type point: list :return: None """ + log.debug("camlib.Geometry.mirror()") px, py = point xscale, yscale = {"X": (1.0, -1.0), "Y": (-1.0, 1.0)}[axis] @@ -1420,6 +1422,7 @@ class Geometry(object): See shapely manual for more information: http://toblerity.org/shapely/manual.html#affine-transformations """ + log.debug("camlib.Geometry.rotate()") px, py = point @@ -1460,6 +1463,8 @@ class Geometry(object): See shapely manual for more information: http://toblerity.org/shapely/manual.html#affine-transformations """ + log.debug("camlib.Geometry.skew()") + px, py = point def skew_geom(obj): @@ -3298,7 +3303,8 @@ class Gerber (Geometry): # fixed issue of getting bounds only for one level lists of objects # now it can get bounds for nested lists of objects - log.debug("Gerber->bounds()") + log.debug("camlib.Gerber.bounds()") + if self.solid_geometry is None: log.debug("solid_geometry is None") return 0, 0, 0, 0 @@ -3442,6 +3448,8 @@ class Gerber (Geometry): :type vect: tuple :return: None """ + log.debug("camlib.Gerber.offset()") + try: dx, dy = vect except TypeError: @@ -3504,6 +3512,7 @@ class Gerber (Geometry): :type point: list :return: None """ + log.debug("camlib.Gerber.mirror()") px, py = point xscale, yscale = {"X": (1.0, -1.0), "Y": (-1.0, 1.0)}[axis] @@ -3554,6 +3563,7 @@ class Gerber (Geometry): See shapely manual for more information: http://toblerity.org/shapely/manual.html#affine-transformations """ + log.debug("camlib.Gerber.skew()") px, py = point @@ -3596,6 +3606,7 @@ class Gerber (Geometry): :param point: :return: """ + log.debug("camlib.Gerber.rotate()") px, py = point @@ -4521,7 +4532,7 @@ class Excellon(Geometry): else: result = float(number_str) / (10 ** (float(nr_length) - float(self.excellon_format_upper_mm))) return result - elif self.zeros == "T" or self.zeros == "TZ": # Trailing + else: # Trailing # You must show all zeros to the right of the number and can omit # all zeros to the left of the number. The CNC-7 will count the number # of digits you typed and automatically fill in the missing zeros. @@ -4533,9 +4544,6 @@ class Excellon(Geometry): else: # Metric is 000.000 result = float(number_str) / (10 ** (float(self.excellon_format_lower_mm))) return result - else: # None - the numbers are in decimal format - return float(number_str) - except Exception as e: log.error("Aborted. Operation could not be completed due of %s" % str(e)) return @@ -4631,7 +4639,7 @@ class Excellon(Geometry): # fixed issue of getting bounds only for one level lists of objects # now it can get bounds for nested lists of objects - log.debug("Excellon() -> bounds()") + log.debug("camlib.Excellon.bounds()") # if self.solid_geometry is None: # log.debug("solid_geometry is None") # return 0, 0, 0, 0 @@ -4691,6 +4699,8 @@ class Excellon(Geometry): :type str: IN or MM :return: """ + log.debug("camlib.Excellon.convert_units()") + factor = Geometry.convert_units(self, units) # Tools @@ -4711,6 +4721,8 @@ class Excellon(Geometry): :return: None :rtype: NOne """ + log.debug("camlib.Excellon.scale()") + if yfactor is None: yfactor = xfactor @@ -4755,6 +4767,7 @@ class Excellon(Geometry): :type vect: tuple :return: None """ + log.debug("camlib.Excellon.offset()") dx, dy = vect @@ -4795,6 +4808,8 @@ class Excellon(Geometry): :type point: list :return: None """ + log.debug("camlib.Excellon.mirror()") + px, py = point xscale, yscale = {"X": (1.0, -1.0), "Y": (-1.0, 1.0)}[axis] @@ -4842,6 +4857,8 @@ class Excellon(Geometry): See shapely manual for more information: http://toblerity.org/shapely/manual.html#affine-transformations """ + log.debug("camlib.Excellon.skew()") + if angle_x is None: angle_x = 0.0 @@ -4900,6 +4917,7 @@ class Excellon(Geometry): :param point: tuple of coordinates (x, y) :return: """ + log.debug("camlib.Excellon.rotate()") def rotate_geom(obj, origin=None): if type(obj) is list: @@ -5092,8 +5110,9 @@ class CNCjob(Geometry): return self.__dict__ def convert_units(self, units): + log.debug("camlib.CNCJob.convert_units()") + factor = Geometry.convert_units(self, units) - log.debug("CNCjob.convert_units()") self.z_cut = float(self.z_cut) * factor self.z_move *= factor @@ -6987,6 +7006,8 @@ class CNCjob(Geometry): # fixed issue of getting bounds only for one level lists of objects # now it can get bounds for nested lists of objects + log.debug("camlib.CNCJob.bounds()") + def bounds_rec(obj): if type(obj) is list: minx = Inf @@ -7058,6 +7079,7 @@ class CNCjob(Geometry): :return: None :rtype: None """ + log.debug("camlib.CNCJob.scale()") if yfactor is None: yfactor = xfactor @@ -7207,6 +7229,8 @@ class CNCjob(Geometry): :type vect: tuple :return: None """ + log.debug("camlib.CNCJob.offset()") + dx, dy = vect def offset_g(g): @@ -7271,6 +7295,8 @@ class CNCjob(Geometry): :param point: tupple of coordinates (x,y) :return: """ + log.debug("camlib.CNCJob.mirror()") + px, py = point xscale, yscale = {"X": (1.0, -1.0), "Y": (-1.0, 1.0)}[axis] @@ -7296,6 +7322,8 @@ class CNCjob(Geometry): See shapely manual for more information: http://toblerity.org/shapely/manual.html#affine-transformations """ + log.debug("camlib.CNCJob.skew()") + px, py = point for g in self.gcode_parsed: @@ -7312,6 +7340,7 @@ class CNCjob(Geometry): :param point: tupple of coordinates (x,y) :return: """ + log.debug("camlib.CNCJob.rotate()") px, py = point diff --git a/config/configuration.txt b/config/configuration.txt index fca42d67..22bbfb42 100644 --- a/config/configuration.txt +++ b/config/configuration.txt @@ -1 +1 @@ -portable=False \ No newline at end of file +portable=False diff --git a/flatcamEditors/FlatCAMExcEditor.py b/flatcamEditors/FlatCAMExcEditor.py index ead1ea1d..3aec77e3 100644 --- a/flatcamEditors/FlatCAMExcEditor.py +++ b/flatcamEditors/FlatCAMExcEditor.py @@ -1251,6 +1251,9 @@ class FCDrillSelect(DrawTool): self.storage = self.exc_editor_app.storage_dict # self.selected = self.exc_editor_app.selected + # here we store the selected tools + self.sel_tools = set() + # here we store all shapes that were selected so we can search for the nearest to our click location self.sel_storage = FlatCAMExcEditor.make_storage() @@ -1261,16 +1264,18 @@ class FCDrillSelect(DrawTool): def click(self, point): key_modifier = QtWidgets.QApplication.keyboardModifiers() - if self.exc_editor_app.app.defaults["global_mselect_key"] == 'Control': - if key_modifier == Qt.ControlModifier: - pass - else: - self.exc_editor_app.selected = [] + + if key_modifier == QtCore.Qt.ShiftModifier: + mod_key = 'Shift' + elif key_modifier == QtCore.Qt.ControlModifier: + mod_key = 'Control' else: - if key_modifier == Qt.ShiftModifier: - pass - else: - self.exc_editor_app.selected = [] + mod_key = None + + if mod_key == self.draw_app.app.defaults["global_mselect_key"]: + pass + else: + self.exc_editor_app.selected = [] def click_release(self, pos): self.exc_editor_app.tools_table_exc.clearSelection() @@ -1308,11 +1313,13 @@ class FCDrillSelect(DrawTool): self.exc_editor_app.selected = [] else: modifiers = QtWidgets.QApplication.keyboardModifiers() - mod_key = 'Control' + if modifiers == QtCore.Qt.ShiftModifier: mod_key = 'Shift' elif modifiers == QtCore.Qt.ControlModifier: mod_key = 'Control' + else: + mod_key = None if mod_key == self.draw_app.app.defaults["global_mselect_key"]: if closest_shape in self.exc_editor_app.selected: @@ -1329,14 +1336,13 @@ class FCDrillSelect(DrawTool): except (TypeError, AttributeError): pass - sel_tools = set() self.exc_editor_app.tools_table_exc.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) for shape_s in self.exc_editor_app.selected: for storage in self.exc_editor_app.storage_dict: if shape_s in self.exc_editor_app.storage_dict[storage].get_objects(): - sel_tools.add(storage) + self.sel_tools.add(storage) - for storage in sel_tools: + for storage in self.sel_tools: for k, v in self.draw_app.tool2tooldia.items(): if v == storage: self.exc_editor_app.tools_table_exc.selectRow(int(k) - 1) diff --git a/flatcamEditors/FlatCAMGeoEditor.py b/flatcamEditors/FlatCAMGeoEditor.py index 8e464684..2ffab031 100644 --- a/flatcamEditors/FlatCAMGeoEditor.py +++ b/flatcamEditors/FlatCAMGeoEditor.py @@ -76,7 +76,9 @@ class BufferSelectionTool(FlatCAMTool): self.buffer_tools_box.addLayout(form_layout) # Buffer distance - self.buffer_distance_entry = FCEntry() + self.buffer_distance_entry = FCDoubleSpinner() + self.buffer_distance_entry.set_precision(4) + self.buffer_distance_entry.set_range(0.0000, 999999.9999) form_layout.addRow(_("Buffer distance:"), self.buffer_distance_entry) self.buffer_corner_lbl = QtWidgets.QLabel(_("Buffer corner:")) self.buffer_corner_lbl.setToolTip( @@ -2358,10 +2360,6 @@ class FCSelect(DrawTool): def click_release(self, point): - self.select_shapes(point) - return "" - - def select_shapes(self, pos): # list where we store the overlapped shapes under our mouse left click position over_shape_list = [] @@ -2381,7 +2379,7 @@ class FCSelect(DrawTool): # 3rd method of click selection -> inconvenient try: - _, closest_shape = self.storage.nearest(pos) + _, closest_shape = self.storage.nearest(point) except StopIteration: return "" @@ -2400,30 +2398,28 @@ class FCSelect(DrawTool): obj_to_add = over_shape_list[int(FlatCAMGeoEditor.draw_shape_idx)] key_modifier = QtWidgets.QApplication.keyboardModifiers() - if self.draw_app.app.defaults["global_mselect_key"] == 'Control': - # if CONTROL key is pressed then we add to the selected list the current shape but if it's already + + if key_modifier == QtCore.Qt.ShiftModifier: + mod_key = 'Shift' + elif key_modifier == QtCore.Qt.ControlModifier: + mod_key = 'Control' + else: + mod_key = None + + if mod_key == self.draw_app.app.defaults["global_mselect_key"]: + # if modifier key is pressed then we add to the selected list the current shape but if it's already # in the selected list, we removed it. Therefore first click selects, second deselects. - if key_modifier == Qt.ControlModifier: - if obj_to_add in self.draw_app.selected: - self.draw_app.selected.remove(obj_to_add) - else: - self.draw_app.selected.append(obj_to_add) + if obj_to_add in self.draw_app.selected: + self.draw_app.selected.remove(obj_to_add) else: - self.draw_app.selected = [] self.draw_app.selected.append(obj_to_add) else: - if key_modifier == Qt.ShiftModifier: - if obj_to_add in self.draw_app.selected: - self.draw_app.selected.remove(obj_to_add) - else: - self.draw_app.selected.append(obj_to_add) - else: - self.draw_app.selected = [] - self.draw_app.selected.append(obj_to_add) - + self.draw_app.selected = [] + self.draw_app.selected.append(obj_to_add) except Exception as e: log.error("[ERROR] Something went bad. %s" % str(e)) raise + return "" class FCMove(FCShapeTool): @@ -2708,11 +2704,13 @@ class FCBuffer(FCShapeTool): # the cb index start from 0 but the join styles for the buffer start from 1 therefore the adjustment # I populated the combobox such that the index coincide with the join styles value (whcih is really an INT) join_style = self.buff_tool.buffer_corner_cb.currentIndex() + 1 - self.draw_app.buffer(buffer_distance, join_style) + ret_val = self.draw_app.buffer(buffer_distance, join_style) self.app.ui.notebook.setTabText(2, _("Tools")) self.draw_app.app.ui.splitter.setSizes([0, 1]) self.disactivate() + if ret_val == 'fail': + return self.draw_app.app.inform.emit(_("[success] Done. Buffer Tool completed.")) def on_buffer_int(self): @@ -2734,11 +2732,13 @@ class FCBuffer(FCShapeTool): # the cb index start from 0 but the join styles for the buffer start from 1 therefore the adjustment # I populated the combobox such that the index coincide with the join styles value (whcih is really an INT) join_style = self.buff_tool.buffer_corner_cb.currentIndex() + 1 - self.draw_app.buffer_int(buffer_distance, join_style) + ret_val = self.draw_app.buffer_int(buffer_distance, join_style) self.app.ui.notebook.setTabText(2, _("Tools")) self.draw_app.app.ui.splitter.setSizes([0, 1]) self.disactivate() + if ret_val == 'fail': + return self.draw_app.app.inform.emit(_("[success] Done. Buffer Int Tool completed.")) def on_buffer_ext(self): @@ -2760,11 +2760,13 @@ class FCBuffer(FCShapeTool): # the cb index start from 0 but the join styles for the buffer start from 1 therefore the adjustment # I populated the combobox such that the index coincide with the join styles value (whcih is really an INT) join_style = self.buff_tool.buffer_corner_cb.currentIndex() + 1 - self.draw_app.buffer_ext(buffer_distance, join_style) + ret_val = self.draw_app.buffer_ext(buffer_distance, join_style) self.app.ui.notebook.setTabText(2, _("Tools")) self.draw_app.app.ui.splitter.setSizes([0, 1]) self.disactivate() + if ret_val == 'fail': + return self.draw_app.app.inform.emit(_("[success] Done. Buffer Ext Tool completed.")) def activate(self): @@ -2922,9 +2924,9 @@ class FCTransform(FCShapeTool): self.draw_app.transform_tool.run() -# ##################### ## -# # ## Main Application # ## -# ##################### ## +# ############################################### +# ################ Main Application ############# +# ############################################### class FlatCAMGeoEditor(QtCore.QObject): transform_complete = QtCore.pyqtSignal() @@ -4230,11 +4232,11 @@ class FlatCAMGeoEditor(QtCore.QObject): # deselect everything self.selected = [] self.replot() - return + return 'fail' if len(selected) == 0: self.app.inform.emit(_("[WARNING_NOTCL] Nothing selected for buffering.")) - return + return 'fail' if not isinstance(buf_distance, float): self.app.inform.emit(_("[WARNING_NOTCL] Invalid distance for buffering.")) @@ -4242,17 +4244,32 @@ class FlatCAMGeoEditor(QtCore.QObject): # deselect everything self.selected = [] self.replot() - return + return 'fail' - pre_buffer = cascaded_union([t.geo for t in selected]) - results = pre_buffer.buffer(buf_distance - 1e-10, resolution=32, join_style=join_style) - if results.is_empty: + results = [] + for t in selected: + if isinstance(t.geo, Polygon) and not t.geo.is_empty: + results.append((t.geo.exterior).buffer( + buf_distance - 1e-10, + resolution=int(int(self.app.defaults["geometry_circle_steps"]) / 4), + join_style=join_style) + ) + else: + results.append(t.geo.buffer( + buf_distance - 1e-10, + resolution=int(int(self.app.defaults["geometry_circle_steps"]) / 4), + join_style=join_style) + ) + + if not results: self.app.inform.emit(_("[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value.")) # deselect everything self.selected = [] self.replot() - return - self.add_shape(DrawToolShape(results)) + return 'fail' + + for sha in results: + self.add_shape(DrawToolShape(sha)) self.replot() self.app.inform.emit(_("[success] Full buffer geometry created.")) @@ -4262,77 +4279,48 @@ class FlatCAMGeoEditor(QtCore.QObject): if buf_distance < 0: self.app.inform.emit( - _("[ERROR_NOTCL] Negative buffer value is not accepted. " - "Use Buffer interior to generate an 'inside' shape") + _("[ERROR_NOTCL] Negative buffer value is not accepted.") ) # deselect everything self.selected = [] self.replot() - return + return 'fail' if len(selected) == 0: self.app.inform.emit(_("[WARNING_NOTCL] Nothing selected for buffering.")) - return + return 'fail' if not isinstance(buf_distance, float): self.app.inform.emit(_("[WARNING_NOTCL] Invalid distance for buffering.")) # deselect everything self.selected = [] self.replot() - return + return 'fail' - pre_buffer = cascaded_union([t.geo for t in selected]) - results = pre_buffer.buffer(buf_distance + 1e-10, resolution=32, join_style=join_style) + results = [] + for t in selected: + if isinstance(t.geo, LinearRing): + t.geo = Polygon(t.geo) - if results.is_empty: + if isinstance(t.geo, Polygon) and not t.geo.is_empty: + results.append((t.geo).buffer( + -buf_distance + 1e-10, + resolution=int(int(self.app.defaults["geometry_circle_steps"]) / 4), + join_style=join_style) + ) + + if not results: self.app.inform.emit(_("[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value.")) # deselect everything self.selected = [] self.replot() - return + return 'fail' - if type(results) == MultiPolygon: - for poly in results: - for interior in poly.interiors: - self.add_shape(DrawToolShape(interior)) - else: - for interior in results: - self.add_shape(DrawToolShape(interior)) + for sha in results: + self.add_shape(DrawToolShape(sha)) self.replot() self.app.inform.emit(_("[success] Interior buffer geometry created.")) - # selected = self.get_selected() - # - # if len(selected) == 0: - # self.app.inform.emit("[WARNING] Nothing selected for buffering.") - # return - # - # if not isinstance(buf_distance, float): - # self.app.inform.emit("[WARNING] Invalid distance for buffering.") - # return - # - # pre_buffer = cascaded_union([t.geo for t in selected]) - # results = pre_buffer.buffer(buf_distance) - # if results.is_empty: - # self.app.inform.emit("Failed. Choose a smaller buffer value.") - # return - # - # int_geo = [] - # if type(results) == MultiPolygon: - # for poly in results: - # for g in poly.interiors: - # int_geo.append(g) - # res = cascaded_union(int_geo) - # self.add_shape(DrawToolShape(res)) - # else: - # print(results.interiors) - # for g in results.interiors: - # int_geo.append(g) - # res = cascaded_union(int_geo) - # self.add_shape(DrawToolShape(res)) - # - # self.replot() - # self.app.inform.emit("Interior buffer geometry created.") def buffer_ext(self, buf_distance, join_style): selected = self.get_selected() @@ -4356,19 +4344,27 @@ class FlatCAMGeoEditor(QtCore.QObject): self.replot() return - pre_buffer = cascaded_union([t.geo for t in selected]) - results = pre_buffer.buffer(buf_distance - 1e-10, resolution=32, join_style=join_style) - if results.is_empty: + results = [] + for t in selected: + if isinstance(t.geo, LinearRing): + t.geo = Polygon(t.geo) + + if isinstance(t.geo, Polygon) and not t.geo.is_empty: + results.append((t.geo).buffer( + buf_distance, + resolution=int(int(self.app.defaults["geometry_circle_steps"]) / 4), + join_style=join_style) + ) + + if not results: self.app.inform.emit(_("[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value.")) # deselect everything self.selected = [] self.replot() return - if type(results) == MultiPolygon: - for poly in results: - self.add_shape(DrawToolShape(poly.exterior)) - else: - self.add_shape(DrawToolShape(results.exterior)) + + for sha in results: + self.add_shape(DrawToolShape(sha)) self.replot() self.app.inform.emit(_("[success] Exterior buffer geometry created.")) diff --git a/flatcamEditors/FlatCAMGrbEditor.py b/flatcamEditors/FlatCAMGrbEditor.py index 700c6591..4eb4149d 100644 --- a/flatcamEditors/FlatCAMGrbEditor.py +++ b/flatcamEditors/FlatCAMGrbEditor.py @@ -2195,6 +2195,9 @@ class FCApertureSelect(DrawTool): # bending modes using in FCRegion and FCTrack self.draw_app.bend_mode = 1 + # here store the selected apertures + self.sel_aperture = set() + try: self.grb_editor_app.apertures_table.clearSelection() except Exception as e: @@ -2202,6 +2205,7 @@ class FCApertureSelect(DrawTool): self.grb_editor_app.hide_tool('all') self.grb_editor_app.hide_tool('select') + self.grb_editor_app.array_frame.hide() try: QtGui.QGuiApplication.restoreOverrideCursor() @@ -2213,42 +2217,47 @@ class FCApertureSelect(DrawTool): def click(self, point): key_modifier = QtWidgets.QApplication.keyboardModifiers() - if self.grb_editor_app.app.defaults["global_mselect_key"] == 'Control': - if key_modifier == Qt.ControlModifier: - pass - else: - self.grb_editor_app.selected = [] + + if key_modifier == QtCore.Qt.ShiftModifier: + mod_key = 'Shift' + elif key_modifier == QtCore.Qt.ControlModifier: + mod_key = 'Control' else: - if key_modifier == Qt.ShiftModifier: - pass - else: - self.grb_editor_app.selected = [] + mod_key = None + + if mod_key == self.draw_app.app.defaults["global_mselect_key"]: + pass + else: + self.grb_editor_app.selected = [] def click_release(self, point): self.grb_editor_app.apertures_table.clearSelection() - sel_aperture = set() key_modifier = QtWidgets.QApplication.keyboardModifiers() + if key_modifier == QtCore.Qt.ShiftModifier: + mod_key = 'Shift' + elif key_modifier == QtCore.Qt.ControlModifier: + mod_key = 'Control' + else: + mod_key = None + for storage in self.grb_editor_app.storage_dict: try: for geo_el in self.grb_editor_app.storage_dict[storage]['geometry']: if 'solid' in geo_el.geo: geometric_data = geo_el.geo['solid'] if Point(point).within(geometric_data): - if (self.grb_editor_app.app.defaults["global_mselect_key"] == 'Control' and - key_modifier == Qt.ControlModifier) or \ - (self.grb_editor_app.app.defaults["global_mselect_key"] == 'Shift' and - key_modifier == Qt.ShiftModifier): - + if mod_key == self.grb_editor_app.app.defaults["global_mselect_key"]: if geo_el in self.draw_app.selected: self.draw_app.selected.remove(geo_el) + self.sel_aperture.remove(storage) else: # add the object to the selected shapes self.draw_app.selected.append(geo_el) - sel_aperture.add(storage) + self.sel_aperture.add(storage) else: self.draw_app.selected.append(geo_el) - sel_aperture.add(storage) + self.sel_aperture.add(storage) except KeyError: pass @@ -2259,7 +2268,7 @@ class FCApertureSelect(DrawTool): log.debug("FlatCAMGrbEditor.FCApertureSelect.click_release() --> %s" % str(e)) self.grb_editor_app.apertures_table.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection) - for aper in sel_aperture: + for aper in self.sel_aperture: for row in range(self.grb_editor_app.apertures_table.rowCount()): if str(aper) == self.grb_editor_app.apertures_table.item(row, 1).text(): self.grb_editor_app.apertures_table.selectRow(row) @@ -2345,7 +2354,7 @@ class FlatCAMGrbEditor(QtCore.QObject): # ######################### # ### Gerber Apertures #### # ######################### - self.apertures_table_label = QtWidgets.QLabel(_('Apertures:')) + self.apertures_table_label = QtWidgets.QLabel('%s:' % _('Apertures')) self.apertures_table_label.setToolTip( _("Apertures Table for the Gerber Object.") ) @@ -2391,7 +2400,7 @@ class FlatCAMGrbEditor(QtCore.QObject): grid1 = QtWidgets.QGridLayout() self.apertures_box.addLayout(grid1) - apcode_lbl = QtWidgets.QLabel(_('Aperture Code:')) + apcode_lbl = QtWidgets.QLabel('%s:' % _('Aperture Code')) apcode_lbl.setToolTip( _("Code for the new aperture") ) @@ -2401,7 +2410,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.apcode_entry.setValidator(QtGui.QIntValidator(0, 999)) grid1.addWidget(self.apcode_entry, 1, 1) - apsize_lbl = QtWidgets.QLabel(_('Aperture Size:')) + apsize_lbl = QtWidgets.QLabel('%s:' % _('Aperture Size')) apsize_lbl.setToolTip( _("Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -2415,7 +2424,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.apsize_entry.setValidator(QtGui.QDoubleValidator(0.0001, 99.9999, 4)) grid1.addWidget(self.apsize_entry, 2, 1) - aptype_lbl = QtWidgets.QLabel(_('Aperture Type:')) + aptype_lbl = QtWidgets.QLabel('%s:' % _('Aperture Type')) aptype_lbl.setToolTip( _("Select the type of new aperture. Can be:\n" "C = circular\n" @@ -2428,7 +2437,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.aptype_cb.addItems(['C', 'R', 'O']) grid1.addWidget(self.aptype_cb, 3, 1) - self.apdim_lbl = QtWidgets.QLabel(_('Aperture Dim:')) + self.apdim_lbl = QtWidgets.QLabel('%s:' % _('Aperture Dim')) self.apdim_lbl.setToolTip( _("Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -2484,8 +2493,8 @@ class FlatCAMGrbEditor(QtCore.QObject): # Buffer distance self.buffer_distance_entry = FCEntry() - buf_form_layout.addRow(_("Buffer distance:"), self.buffer_distance_entry) - self.buffer_corner_lbl = QtWidgets.QLabel(_("Buffer corner:")) + buf_form_layout.addRow('%s:' % _("Buffer distance"), self.buffer_distance_entry) + self.buffer_corner_lbl = QtWidgets.QLabel('%s:' % _("Buffer corner")) self.buffer_corner_lbl.setToolTip( _("There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -2517,7 +2526,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.scale_tool_frame.hide() # Title - scale_title_lbl = QtWidgets.QLabel('%s' % _('Scale Aperture:')) + scale_title_lbl = QtWidgets.QLabel('%s:' % _('Scale Aperture')) scale_title_lbl.setToolTip( _("Scale a aperture in the aperture list") ) @@ -2527,7 +2536,7 @@ class FlatCAMGrbEditor(QtCore.QObject): scale_form_layout = QtWidgets.QFormLayout() self.scale_tools_box.addLayout(scale_form_layout) - self.scale_factor_lbl = QtWidgets.QLabel(_("Scale factor:")) + self.scale_factor_lbl = QtWidgets.QLabel('%s:' % _("Scale factor")) self.scale_factor_lbl.setToolTip( _("The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999") @@ -2555,7 +2564,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.ma_tool_frame.hide() # Title - ma_title_lbl = QtWidgets.QLabel('%s' % _('Mark polygon areas:')) + ma_title_lbl = QtWidgets.QLabel('%s:' % _('Mark polygon areas')) ma_title_lbl.setToolTip( _("Mark the polygon areas.") ) @@ -2565,7 +2574,7 @@ class FlatCAMGrbEditor(QtCore.QObject): ma_form_layout = QtWidgets.QFormLayout() self.ma_tools_box.addLayout(ma_form_layout) - self.ma_upper_threshold_lbl = QtWidgets.QLabel(_("Area UPPER threshold:")) + self.ma_upper_threshold_lbl = QtWidgets.QLabel('%s:' % _("Area UPPER threshold")) self.ma_upper_threshold_lbl.setToolTip( _("The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999") @@ -2573,7 +2582,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.ma_upper_threshold_entry = FCEntry() self.ma_upper_threshold_entry.setValidator(QtGui.QDoubleValidator(0.0000, 9999.9999, 4)) - self.ma_lower_threshold_lbl = QtWidgets.QLabel(_("Area LOWER threshold:")) + self.ma_lower_threshold_lbl = QtWidgets.QLabel('%s:' % _("Area LOWER threshold")) self.ma_lower_threshold_lbl.setToolTip( _("The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999") @@ -2594,7 +2603,6 @@ class FlatCAMGrbEditor(QtCore.QObject): # ###################### # ### Add Pad Array #### # ###################### - # add a frame and inside add a vertical box layout. Inside this vbox layout I add # all the add Pad array widgets # this way I can hide/show the frame @@ -2627,7 +2635,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.array_form = QtWidgets.QFormLayout() self.array_box.addLayout(self.array_form) - self.pad_array_size_label = QtWidgets.QLabel(_('Nr of pads:')) + self.pad_array_size_label = QtWidgets.QLabel('%s:' % _('Nr of pads')) self.pad_array_size_label.setToolTip( _("Specify how many pads to be in the array.") ) @@ -2646,7 +2654,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.linear_form = QtWidgets.QFormLayout() self.linear_box.addLayout(self.linear_form) - self.pad_axis_label = QtWidgets.QLabel(_('Direction:')) + self.pad_axis_label = QtWidgets.QLabel('%s:' % _('Direction')) self.pad_axis_label.setToolTip( _("Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2661,7 +2669,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.pad_axis_radio.set_value('X') self.linear_form.addRow(self.pad_axis_label, self.pad_axis_radio) - self.pad_pitch_label = QtWidgets.QLabel(_('Pitch:')) + self.pad_pitch_label = QtWidgets.QLabel('%s:' % _('Pitch')) self.pad_pitch_label.setToolTip( _("Pitch = Distance between elements of the array.") ) @@ -2670,7 +2678,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.pad_pitch_entry = LengthEntry() self.linear_form.addRow(self.pad_pitch_label, self.pad_pitch_entry) - self.linear_angle_label = QtWidgets.QLabel(_('Angle:')) + self.linear_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) self.linear_angle_label.setToolTip( _( "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2691,7 +2699,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.circular_box.setContentsMargins(0, 0, 0, 0) self.array_circular_frame.setLayout(self.circular_box) - self.pad_direction_label = QtWidgets.QLabel(_('Direction:')) + self.pad_direction_label = QtWidgets.QLabel('%s:' % _('Direction')) self.pad_direction_label.setToolTip( _("Direction for circular array." "Can be CW = clockwise or CCW = counter clockwise.") @@ -2706,7 +2714,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.pad_direction_radio.set_value('CW') self.circular_form.addRow(self.pad_direction_label, self.pad_direction_radio) - self.pad_angle_label = QtWidgets.QLabel(_('Angle:')) + self.pad_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) self.pad_angle_label.setToolTip( _("Angle at which each element in circular array is placed.") ) @@ -2944,23 +2952,24 @@ class FlatCAMGrbEditor(QtCore.QObject): self.tool2tooldia[i + 1] = tt_aperture # Init GUI - if self.units == 'MM': - self.buffer_distance_entry.set_value(0.01) - self.scale_factor_entry.set_value(1.0) - self.ma_upper_threshold_entry.set_value(1.0) - self.apsize_entry.set_value(1.00) - else: - self.buffer_distance_entry.set_value(0.0003937) - self.scale_factor_entry.set_value(0.03937) - self.ma_upper_threshold_entry.set_value(0.00155) - self.apsize_entry.set_value(0.039) - self.ma_lower_threshold_entry.set_value(0.0) - self.pad_array_size_entry.set_value(5) - self.pad_pitch_entry.set_value(2.54) - self.pad_angle_entry.set_value(12) - self.pad_direction_radio.set_value('CW') - self.pad_axis_radio.set_value('X') + self.buffer_distance_entry.set_value(self.app.defaults["gerber_editor_buff_f"]) + self.scale_factor_entry.set_value(self.app.defaults["gerber_editor_scale_f"]) + self.ma_upper_threshold_entry.set_value(self.app.defaults["gerber_editor_ma_low"]) + self.ma_lower_threshold_entry.set_value(self.app.defaults["gerber_editor_ma_high"]) + + self.apsize_entry.set_value(self.app.defaults["gerber_editor_newsize"]) + self.aptype_cb.set_value(self.app.defaults["gerber_editor_newtype"]) + self.apdim_entry.set_value(self.app.defaults["gerber_editor_newdim"]) + + self.pad_array_size_entry.set_value(self.app.defaults["gerber_editor_array_size"]) + # linear array + self.pad_axis_radio.set_value(self.app.defaults["gerber_editor_lin_axis"]) + self.pad_pitch_entry.set_value(self.app.defaults["gerber_editor_lin_pitch"]) + self.linear_angle_spinner.set_value(self.app.defaults["gerber_editor_lin_angle"]) + # circular array + self.pad_direction_radio.set_value(self.app.defaults["gerber_editor_circ_dir"]) + self.pad_angle_entry.set_value(self.app.defaults["gerber_editor_circ_angle"]) def build_ui(self, first_run=None): @@ -3113,7 +3122,7 @@ class FlatCAMGrbEditor(QtCore.QObject): self.apcode_entry.set_value(max(self.tool2tooldia.values()) + 1) except ValueError: # this means that the edited object has no apertures so we start with 10 (Gerber specifications) - self.apcode_entry.set_value(10) + self.apcode_entry.set_value(self.app.defaults["gerber_editor_newcode"]) def on_aperture_add(self, apid=None): self.is_modified = True diff --git a/flatcamGUI/FlatCAMGUI.py b/flatcamGUI/FlatCAMGUI.py index 4fd87d13..505f36bf 100644 --- a/flatcamGUI/FlatCAMGUI.py +++ b/flatcamGUI/FlatCAMGUI.py @@ -1,20 +1,21 @@ -# ########################################################## ## +# ########################################################## # FlatCAM: 2D Post-processing for Manufacturing # # http://flatcam.org # # Author: Juan Pablo Caram (c) # # Date: 2/5/2014 # # MIT Licence # -# ########################################################## ## +# ########################################################## -# ########################################################## ## +# ########################################################## # File Modified (major mod): Marius Adrian Stanciu # # Date: 3/10/2019 # -# ########################################################## ## +# ########################################################## from PyQt5.QtCore import QSettings from flatcamGUI.GUIElements import * import platform import webbrowser +import sys from flatcamEditors.FlatCAMGeoEditor import FCShapeTool @@ -467,7 +468,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.exc_add_array_slot_menuitem = self.exc_editor_menu.addAction( QtGui.QIcon('share/slot_array26.png'), _('Add Slot Array\tQ')) self.exc_add_slot_menuitem = self.exc_editor_menu.addAction(QtGui.QIcon('share/slot26.png'), - _('Add Slot\tW')) + _('Add Slot\tW')) self.exc_editor_menu.addSeparator() self.exc_resize_drill_menuitem = self.exc_editor_menu.addAction( @@ -845,6 +846,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.plot_tab_area.addTab(self.plot_tab, _("Plot Area")) self.right_layout = QtWidgets.QVBoxLayout() + self.right_layout.setObjectName("right_layout") self.right_layout.setContentsMargins(2, 2, 2, 2) self.plot_tab.setLayout(self.right_layout) @@ -958,8 +960,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.pref_export_button.setText(_("Export Preferences")) self.pref_export_button.setMinimumWidth(130) self.pref_export_button.setToolTip( - _( "Export a full set of FlatCAM settings in a file\n" - "that is saved on HDD.")) + _("Export a full set of FlatCAM settings in a file\n" + "that is saved on HDD.")) self.pref_tab_bottom_layout_1.addWidget(self.pref_export_button) self.pref_open_button = QtWidgets.QPushButton() @@ -1614,7 +1616,6 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.sh_editor.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) self.sh_hlay.addWidget(self.sh_editor) - # ########################################################### ## # # ## HERE WE BUILD THE CONTEXT MENU FOR RMB CLICK ON CANVAS # ## # ########################################################### ## @@ -1671,7 +1672,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.grb_draw_track = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/track32.png'), _("Track")) self.grb_draw_region = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/polygon32.png'), _("Region")) - self.grb_draw_poligonize = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/poligonize32.png'), _("Poligonize")) + self.grb_draw_poligonize = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/poligonize32.png'), + _("Poligonize")) self.grb_draw_semidisc = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/semidisc32.png'), _("SemiDisc")) self.grb_draw_disc = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/disc32.png'), _("Disc")) self.grb_editor_cmenu.addSeparator() @@ -1692,7 +1694,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.slot = self.e_editor_cmenu.addAction(QtGui.QIcon('share/slot26.png'), _("Add Slot")) self.slot_array = self.e_editor_cmenu.addAction(QtGui.QIcon('share/slot_array26.png'), _("Add Slot Array")) self.e_editor_cmenu.addSeparator() - self.drill_resize= self.e_editor_cmenu.addAction(QtGui.QIcon('share/resize16.png'), _("Resize Drill")) + self.drill_resize = self.e_editor_cmenu.addAction(QtGui.QIcon('share/resize16.png'), _("Resize Drill")) self.popMenu.addSeparator() self.popmenu_copy = self.popMenu.addAction(QtGui.QIcon('share/copy32.png'), _("Copy")) @@ -1902,6 +1904,31 @@ class FlatCAMGUI(QtWidgets.QMainWindow): del settings log.debug("FlatCAMGUI.__init__() --> UI layout restored from defaults. QSettings set to 'standard'") + # construct the Toolbar Lock menu entry to the context menu of the QMainWindow + self.lock_action = QtWidgets.QAction() + self.lock_action.setText(_("Lock Toolbars")) + self.lock_action.setCheckable(True) + + settings = QSettings("Open Source", "FlatCAM") + if settings.contains("toolbar_lock"): + lock_val = settings.value('toolbar_lock') + if lock_val == 'true': + lock_state = True + self.lock_action.setChecked(True) + else: + + lock_state = False + self.lock_action.setChecked(False) + else: + lock_state = False + settings.setValue('toolbar_lock', lock_state) + + # This will write the setting to the platform specific storage. + del settings + + self.lock_toolbar(lock=lock_state) + self.lock_action.triggered[bool].connect(self.lock_toolbar) + def eventFilter(self, obj, event): if self.general_defaults_form.general_app_group.toggle_tooltips_cb.get_value() is False: if event.type() == QtCore.QEvent.ToolTip: @@ -3158,6 +3185,30 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.app.ui.grid_snap_btn.trigger() return + def createPopupMenu(self): + menu = super().createPopupMenu() + + menu.addSeparator() + menu.addAction(self.lock_action) + return menu + + def lock_toolbar(self, lock=False): + """ + Used to (un)lock the toolbars of the app. + + :param lock: boolean, will lock all toolbars in place when set True + :return: None + """ + + if lock: + for widget in self.children(): + if isinstance(widget, QtWidgets.QToolBar): + widget.setMovable(False) + else: + for widget in self.children(): + if isinstance(widget, QtWidgets.QToolBar): + widget.setMovable(True) + def dragEnterEvent(self, event): if event.mimeData().hasUrls: event.accept() @@ -3218,6 +3269,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow): if extension in self.app.prj_list: # self.app.open_project() is not Thread Safe self.app.open_project(self.filename) + + if extension in self.app.conf_list: + self.app.open_config_file(self.filename) else: event.ignore() else: @@ -3861,7 +3915,6 @@ class GeneralGUISetGroupUI(OptionsGroupUI): self.form_box.addRow(self.notebook_font_size_label, self.notebook_font_size_spinner) self.form_box.addRow(self.axis_font_size_label, self.axis_font_size_spinner) - # Add the QFormLayout that holds the Application general defaults # to the main layout of this TAB self.layout.addLayout(self.form_box) @@ -3914,7 +3967,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): self.form_box = QtWidgets.QFormLayout() # Units for FlatCAM - self.unitslabel = QtWidgets.QLabel(_('Units:')) + self.unitslabel = QtWidgets.QLabel('%s:' % _('Units')) self.unitslabel.setToolTip(_("The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" "FLatCAM is started.")) @@ -3922,7 +3975,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): {'label': _('MM'), 'value': 'MM'}]) # Application Level for FlatCAM - self.app_level_label = QtWidgets.QLabel(_('APP. LEVEL:')) + self.app_level_label = QtWidgets.QLabel('%s:' % _('APP. LEVEL')) self.app_level_label.setToolTip(_("Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" "ADVANCED level -> full functionality.\n\n" @@ -3931,8 +3984,16 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): self.app_level_radio = RadioSet([{'label': _('Basic'), 'value': 'b'}, {'label': _('Advanced'), 'value': 'a'}]) + # Application Level for FlatCAM + self.portability_label = QtWidgets.QLabel('%s:' % _('Portable app')) + self.portability_label.setToolTip(_("Choose if the application should run as portable.\n\n" + "If Checked the application will run portable,\n" + "which means that the preferences files will be saved\n" + "in the application folder, in the lib\config subfolder.")) + self.portability_cb = FCCheckBox() + # Languages for FlatCAM - self.languagelabel = QtWidgets.QLabel(_('Languages:')) + self.languagelabel = QtWidgets.QLabel('%s:' % _('Languages')) self.languagelabel.setToolTip(_("Set the language used throughout FlatCAM.")) self.language_cb = FCComboBox() self.languagespace = QtWidgets.QLabel('') @@ -3946,7 +4007,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): "applied at the next app start.")) # Shell StartUp CB - self.shell_startup_label = QtWidgets.QLabel(_('Shell at StartUp:')) + self.shell_startup_label = QtWidgets.QLabel('%s:' % _('Shell at StartUp')) self.shell_startup_label.setToolTip( _("Check this box if you want the shell to\n" "start automatically at startup.") @@ -3958,7 +4019,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): ) # Version Check CB - self.version_check_label = QtWidgets.QLabel(_('Version Check:')) + self.version_check_label = QtWidgets.QLabel('%s:' % _('Version Check')) self.version_check_label.setToolTip( _("Check this box if you want to check\n" "for a new version automatically at startup.") @@ -3970,7 +4031,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): ) # Send Stats CB - self.send_stats_label = QtWidgets.QLabel(_('Send Stats:')) + self.send_stats_label = QtWidgets.QLabel('%s:' % _('Send Stats')) self.send_stats_label.setToolTip( _("Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM.") @@ -3984,7 +4045,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): self.ois_version_check = OptionalInputSection(self.version_check_cb, [self.send_stats_cb]) # Select mouse pan button - self.panbuttonlabel = QtWidgets.QLabel(_('Pan Button:')) + self.panbuttonlabel = QtWidgets.QLabel('%s:' % _('Pan Button')) self.panbuttonlabel.setToolTip(_("Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" "- RMB --> Right Mouse Button")) @@ -3992,13 +4053,13 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): {'label': _('RMB'), 'value': '2'}]) # Multiple Selection Modifier Key - self.mselectlabel = QtWidgets.QLabel(_('Multiple Sel:')) + self.mselectlabel = QtWidgets.QLabel('%s:' % _('Multiple Sel:')) self.mselectlabel.setToolTip(_("Select the key used for multiple selection.")) self.mselect_radio = RadioSet([{'label': _('CTRL'), 'value': 'Control'}, {'label': _('SHIFT'), 'value': 'Shift'}]) # Project at StartUp CB - self.project_startup_label = QtWidgets.QLabel(_('Project at StartUp:')) + self.project_startup_label = QtWidgets.QLabel('%s:' % _('Project at StartUp')) self.project_startup_label.setToolTip( _("Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup.") @@ -4010,7 +4071,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): ) # Project autohide CB - self.project_autohide_label = QtWidgets.QLabel(_('Project AutoHide:')) + self.project_autohide_label = QtWidgets.QLabel('%s:' % _('Project AutoHide')) self.project_autohide_label.setToolTip( _("Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -4024,7 +4085,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): ) # Enable/Disable ToolTips globally - self.toggle_tooltips_label = QtWidgets.QLabel(_('Enable ToolTips:')) + self.toggle_tooltips_label = QtWidgets.QLabel('%s:' % _('Enable ToolTips')) self.toggle_tooltips_label.setToolTip( _("Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App.") @@ -4034,7 +4095,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): _("Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App.") ) - self.worker_number_label = QtWidgets.QLabel(_('Workers number:')) + self.worker_number_label = QtWidgets.QLabel('%s:' % _('Workers number')) self.worker_number_label.setToolTip( _("The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -4055,7 +4116,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): self.worker_number_sb.set_range(2, 16) # Geometric tolerance - tol_label = QtWidgets.QLabel(_("Geo Tolerance:")) + tol_label = QtWidgets.QLabel('%s:' % _("Geo Tolerance")) tol_label.setToolTip(_( "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -4079,6 +4140,9 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): # Add (label - input field) pair to the QFormLayout self.form_box.addRow(self.unitslabel, self.units_radio) self.form_box.addRow(self.app_level_label, self.app_level_radio) + self.form_box.addRow(self.portability_label, self.portability_cb) + self.form_box.addRow(QtWidgets.QLabel('')) + self.form_box.addRow(self.languagelabel, self.language_cb) self.form_box.addRow(self.languagespace, self.language_apply_btn) @@ -4102,7 +4166,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): self.layout.addLayout(self.form_box) # Open behavior - self.open_style_cb = FCCheckBox(_('"Open" behavior')) + self.open_style_cb = FCCheckBox('%s' % _('"Open" behavior')) self.open_style_cb.setToolTip( _("When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n\n" @@ -4135,7 +4199,7 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): # Project LZMA Comppression Level self.compress_combo = FCComboBox() - self.compress_label = QtWidgets.QLabel(_('Compression Level:')) + self.compress_label = QtWidgets.QLabel('%s:' % _('Compression Level')) self.compress_label.setToolTip( _("The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -4154,6 +4218,9 @@ class GeneralAppPrefGroupUI(OptionsGroupUI): self.layout.addStretch() + if sys.platform != 'win32': + self.portability_label.hide() + self.portability_cb.hide() class GerberGenPrefGroupUI(OptionsGroupUI): def __init__(self, parent=None): @@ -4163,35 +4230,35 @@ class GerberGenPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Gerber General"))) # ## Plot options - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.layout.addWidget(self.plot_options_label) grid0 = QtWidgets.QGridLayout() self.layout.addLayout(grid0) # Solid CB - self.solid_cb = FCCheckBox(label=_('Solid')) + self.solid_cb = FCCheckBox(label='%s' % _('Solid')) self.solid_cb.setToolTip( _("Solid color polygons.") ) grid0.addWidget(self.solid_cb, 0, 0) # Multicolored CB - self.multicolored_cb = FCCheckBox(label=_('M-Color')) + self.multicolored_cb = FCCheckBox(label='%s' % _('M-Color')) self.multicolored_cb.setToolTip( _("Draw polygons in different colors.") ) grid0.addWidget(self.multicolored_cb, 0, 1) # Plot CB - self.plot_cb = FCCheckBox(label=_('Plot')) + self.plot_cb = FCCheckBox(label='%s' % _('Plot')) self.plot_options_label.setToolTip( _("Plot (show) this object.") ) grid0.addWidget(self.plot_cb, 0, 2) # Number of circle steps for circular aperture linear approximation - self.circle_steps_label = QtWidgets.QLabel(_("Circle Steps:")) + self.circle_steps_label = QtWidgets.QLabel('%s:' % _("Circle Steps")) self.circle_steps_label.setToolTip( _("The number of circle steps for Gerber \n" "circular aperture linear approximation.") @@ -4211,7 +4278,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Gerber Options"))) # ## Isolation Routing - self.isolation_routing_label = QtWidgets.QLabel(_("Isolation Routing:")) + self.isolation_routing_label = QtWidgets.QLabel("%s:" % _("Isolation Routing")) self.isolation_routing_label.setToolTip( _("Create a Geometry object with\n" "toolpaths to cut outside polygons.") @@ -4222,7 +4289,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): grid0 = QtWidgets.QGridLayout() self.layout.addLayout(grid0) - tdlabel = QtWidgets.QLabel(_('Tool dia:')) + tdlabel = QtWidgets.QLabel('%s:' % _('Tool dia')) tdlabel.setToolTip( _("Diameter of the cutting tool.") ) @@ -4231,7 +4298,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.iso_tool_dia_entry, 0, 1) # Nr of passes - passlabel = QtWidgets.QLabel(_('Width (# passes):')) + passlabel = QtWidgets.QLabel('%s:' % _('# Passes')) passlabel.setToolTip( _("Width of the isolation gap in\n" "number (integer) of tool widths.") @@ -4242,7 +4309,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.iso_width_entry, 1, 1) # Pass overlap - overlabel = QtWidgets.QLabel(_('Pass overlap:')) + overlabel = QtWidgets.QLabel('%s:' % _('Pass overlap')) overlabel.setToolTip( _("How much (fraction) of the tool width to overlap each tool pass.\n" "Example:\n" @@ -4252,7 +4319,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): self.iso_overlap_entry = FloatEntry() grid0.addWidget(self.iso_overlap_entry, 2, 1) - milling_type_label = QtWidgets.QLabel(_('Milling Type:')) + milling_type_label = QtWidgets.QLabel('%s:' % _('Milling Type')) milling_type_label.setToolTip( _("Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -4271,10 +4338,13 @@ class GerberOptPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.combine_passes_cb, 4, 0, 1, 2) # ## Clear non-copper regions - self.clearcopper_label = QtWidgets.QLabel(_("Clear non-copper:")) + self.clearcopper_label = QtWidgets.QLabel("%s:" % _("Non-copper regions")) self.clearcopper_label.setToolTip( - _("Create a Geometry object with\n" - "toolpaths to cut all non-copper regions.") + _("Create polygons covering the\n" + "areas without copper on the PCB.\n" + "Equivalent to the inverse of this\n" + "object. Can be used to remove all\n" + "copper from a specified region.") ) self.layout.addWidget(self.clearcopper_label) @@ -4282,7 +4352,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid1) # Margin - bmlabel = QtWidgets.QLabel(_('Boundary Margin:')) + bmlabel = QtWidgets.QLabel('%s:' % _('Boundary Margin')) bmlabel.setToolTip( _("Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -4294,21 +4364,20 @@ class GerberOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.noncopper_margin_entry, 0, 1) # Rounded corners - self.noncopper_rounded_cb = FCCheckBox(label=_("Rounded corners")) + self.noncopper_rounded_cb = FCCheckBox(label=_("Rounded Geo")) self.noncopper_rounded_cb.setToolTip( - _("Creates a Geometry objects with polygons\n" - "covering the copper-free areas of the PCB.") + _("Resulting geometry will have rounded corners.") ) grid1.addWidget(self.noncopper_rounded_cb, 1, 0, 1, 2) # ## Bounding box - self.boundingbox_label = QtWidgets.QLabel(_('Bounding Box:')) + self.boundingbox_label = QtWidgets.QLabel('%s:' % _('Bounding Box')) self.layout.addWidget(self.boundingbox_label) grid2 = QtWidgets.QGridLayout() self.layout.addLayout(grid2) - bbmargin = QtWidgets.QLabel(_('Boundary Margin:')) + bbmargin = QtWidgets.QLabel('%s:' % _('Boundary Margin')) bbmargin.setToolTip( _("Distance of the edges of the box\n" "to the nearest polygon.") @@ -4317,7 +4386,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI): self.bbmargin_entry = LengthEntry() grid2.addWidget(self.bbmargin_entry, 0, 1) - self.bbrounded_cb = FCCheckBox(label=_("Rounded corners")) + self.bbrounded_cb = FCCheckBox(label='%s' % _("Rounded Geo")) self.bbrounded_cb.setToolTip( _("If the bounding box is \n" "to have rounded corners\n" @@ -4336,7 +4405,7 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Gerber Adv. Options"))) # ## Advanced Gerber Parameters - self.adv_param_label = QtWidgets.QLabel(_("Advanced Param.:")) + self.adv_param_label = QtWidgets.QLabel("%s:" % _("Advanced Param.")) self.adv_param_label.setToolTip( _("A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -4401,7 +4470,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Gerber Export"))) # Plot options - self.export_options_label = QtWidgets.QLabel(_("Export Options:")) + self.export_options_label = QtWidgets.QLabel("%s:" % _("Export Options")) self.export_options_label.setToolTip( _("The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry.") @@ -4412,7 +4481,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI): self.layout.addLayout(form) # Gerber Units - self.gerber_units_label = QtWidgets.QLabel(_('Units:')) + self.gerber_units_label = QtWidgets.QLabel('%s:' % _('Units')) self.gerber_units_label.setToolTip( _("The units used in the Gerber file.") ) @@ -4426,7 +4495,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI): form.addRow(self.gerber_units_label, self.gerber_units_radio) # Gerber format - self.digits_label = QtWidgets.QLabel(_("Int/Decimals:")) + self.digits_label = QtWidgets.QLabel("%s:" % _("Int/Decimals")) self.digits_label.setToolTip( _("The number of digits in the whole part of the number\n" "and in the fractional part of the number.") @@ -4462,7 +4531,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI): form.addRow(self.digits_label, hlay1) # Gerber Zeros - self.zeros_label = QtWidgets.QLabel(_('Zeros:')) + self.zeros_label = QtWidgets.QLabel('%s:' % _('Zeros')) self.zeros_label.setAlignment(QtCore.Qt.AlignLeft) self.zeros_label.setToolTip( _("This sets the type of Gerber zeros.\n" @@ -4495,7 +4564,7 @@ class GerberEditorPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Gerber Editor"))) # Advanced Gerber Parameters - self.param_label = QtWidgets.QLabel(_("Parameters:")) + self.param_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.param_label.setToolTip( _("A list of Gerber Editor parameters.") ) @@ -4505,7 +4574,7 @@ class GerberEditorPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid0) # Selection Limit - self.sel_limit_label = QtWidgets.QLabel(_("Selection limit:")) + self.sel_limit_label = QtWidgets.QLabel('%s:' % _("Selection limit")) self.sel_limit_label.setToolTip( _("Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -4518,6 +4587,177 @@ class GerberEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.sel_limit_label, 0, 0) grid0.addWidget(self.sel_limit_entry, 0, 1) + # New aperture code + self.addcode_entry_lbl = QtWidgets.QLabel('%s:' % _('New Aperture code')) + self.addcode_entry_lbl.setToolTip( + _("Code for the new aperture") + ) + + self.addcode_entry = FCEntry() + self.addcode_entry.setValidator(QtGui.QIntValidator(0, 99)) + + grid0.addWidget(self.addcode_entry_lbl, 1, 0) + grid0.addWidget(self.addcode_entry, 1, 1) + + # New aperture size + self.addsize_entry_lbl = QtWidgets.QLabel('%s:' % _('New Aperture size')) + self.addsize_entry_lbl.setToolTip( + _("Size for the new aperture") + ) + + self.addsize_entry = FCEntry() + self.addsize_entry.setValidator(QtGui.QDoubleValidator(0.0001, 99.9999, 4)) + + grid0.addWidget(self.addsize_entry_lbl, 2, 0) + grid0.addWidget(self.addsize_entry, 2, 1) + + # New aperture type + self.addtype_combo_lbl = QtWidgets.QLabel('%s:' % _('New Aperture type')) + self.addtype_combo_lbl.setToolTip( + _("Type for the new aperture.\n" + "Can be 'C', 'R' or 'O'.") + ) + + self.addtype_combo = FCComboBox() + self.addtype_combo.addItems(['C', 'R', 'O']) + + grid0.addWidget(self.addtype_combo_lbl, 3, 0) + grid0.addWidget(self.addtype_combo, 3, 1) + + # Number of pads in a pad array + self.grb_array_size_label = QtWidgets.QLabel('%s:' % _('Nr of pads')) + self.grb_array_size_label.setToolTip( + _("Specify how many pads to be in the array.") + ) + + self.grb_array_size_entry = LengthEntry() + + grid0.addWidget(self.grb_array_size_label, 4, 0) + grid0.addWidget(self.grb_array_size_entry, 4, 1) + + self.adddim_label = QtWidgets.QLabel('%s:' % _('Aperture Dimensions')) + self.adddim_label.setToolTip( + _("Diameters of the cutting tools, separated by ','") + ) + grid0.addWidget(self.adddim_label, 5, 0) + self.adddim_entry = FCEntry() + grid0.addWidget(self.adddim_entry, 5, 1) + + self.grb_array_linear_label = QtWidgets.QLabel(_('%s:' % 'Linear Pad Array')) + grid0.addWidget(self.grb_array_linear_label, 6, 0, 1, 2) + + # Linear Pad Array direction + self.grb_axis_label = QtWidgets.QLabel('%s:' % _('Linear Dir.')) + self.grb_axis_label.setToolTip( + _("Direction on which the linear array is oriented:\n" + "- 'X' - horizontal axis \n" + "- 'Y' - vertical axis or \n" + "- 'Angle' - a custom angle for the array inclination") + ) + + self.grb_axis_radio = RadioSet([{'label': _('X'), 'value': 'X'}, + {'label': _('Y'), 'value': 'Y'}, + {'label': _('Angle'), 'value': 'A'}]) + + grid0.addWidget(self.grb_axis_label, 7, 0) + grid0.addWidget(self.grb_axis_radio, 7, 1) + + # Linear Pad Array pitch distance + self.grb_pitch_label = QtWidgets.QLabel('%s:' % _('Pitch')) + self.grb_pitch_label.setToolTip( + _("Pitch = Distance between elements of the array.") + ) + # self.drill_pitch_label.setMinimumWidth(100) + self.grb_pitch_entry = LengthEntry() + + grid0.addWidget(self.grb_pitch_label, 8, 0) + grid0.addWidget(self.grb_pitch_entry, 8, 1) + + # Linear Pad Array custom angle + self.grb_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) + self.grb_angle_label.setToolTip( + _("Angle at which each element in circular array is placed.") + ) + self.grb_angle_entry = LengthEntry() + + grid0.addWidget(self.grb_angle_label, 9, 0) + grid0.addWidget(self.grb_angle_entry, 9, 1) + + self.grb_array_circ_label = QtWidgets.QLabel('%s:' % _('Circular Pad Array')) + grid0.addWidget(self.grb_array_circ_label, 10, 0, 1, 2) + + # Circular Pad Array direction + self.grb_circular_direction_label = QtWidgets.QLabel('%s:' % _('Circular Dir.')) + self.grb_circular_direction_label.setToolTip( + _("Direction for circular array.\n" + "Can be CW = clockwise or CCW = counter clockwise.") + ) + + self.grb_circular_dir_radio = RadioSet([{'label': _('CW'), 'value': 'CW'}, + {'label': _('CCW'), 'value': 'CCW'}]) + + grid0.addWidget(self.grb_circular_direction_label, 11, 0) + grid0.addWidget(self.grb_circular_dir_radio, 11, 1) + + # Circular Pad Array Angle + self.grb_circular_angle_label = QtWidgets.QLabel('%s:' % _('Circ. Angle')) + self.grb_circular_angle_label.setToolTip( + _("Angle at which each element in circular array is placed.") + ) + self.grb_circular_angle_entry = LengthEntry() + + grid0.addWidget(self.grb_circular_angle_label, 12, 0) + grid0.addWidget(self.grb_circular_angle_entry, 12, 1) + + self.grb_array_tools_b_label = QtWidgets.QLabel('%s:' % _('Buffer Tool')) + grid0.addWidget(self.grb_array_tools_b_label, 13, 0, 1, 2) + + # Buffer Distance + self.grb_buff_label = QtWidgets.QLabel('%s:' % _('Buffer distance')) + self.grb_buff_label.setToolTip( + _("Distance at which to buffer the Gerber element.") + ) + self.grb_buff_entry = LengthEntry() + + grid0.addWidget(self.grb_buff_label, 14, 0) + grid0.addWidget(self.grb_buff_entry, 14, 1) + + self.grb_array_tools_s_label = QtWidgets.QLabel('%s:' % _('Scale Tool')) + grid0.addWidget(self.grb_array_tools_s_label, 15, 0, 1, 2) + + # Scale Factor + self.grb_scale_label = QtWidgets.QLabel('%s:' % _('Scale factor')) + self.grb_scale_label.setToolTip( + _("Factor to scale the Gerber element.") + ) + self.grb_scale_entry = LengthEntry() + + grid0.addWidget(self.grb_scale_label, 16, 0) + grid0.addWidget(self.grb_scale_entry, 16, 1) + + self.grb_array_tools_ma_label = QtWidgets.QLabel('%s:' % _('Mark Area Tool')) + grid0.addWidget(self.grb_array_tools_ma_label, 17, 0, 1, 2) + + # Mark area Tool low threshold + self.grb_ma_low_label = QtWidgets.QLabel('%s:' % _('Threshold low')) + self.grb_ma_low_label.setToolTip( + _("Threshold value under which the apertures are not marked.") + ) + self.grb_ma_low_entry = LengthEntry() + + grid0.addWidget(self.grb_ma_low_label, 18, 0) + grid0.addWidget(self.grb_ma_low_entry, 18, 1) + + # Mark area Tool high threshold + self.grb_ma_high_label = QtWidgets.QLabel('%s:' % _('Threshold low')) + self.grb_ma_high_label.setToolTip( + _("Threshold value over which the apertures are not marked.") + ) + self.grb_ma_high_entry = LengthEntry() + + grid0.addWidget(self.grb_ma_high_label, 19, 0) + grid0.addWidget(self.grb_ma_high_entry, 19, 1) + self.layout.addStretch() @@ -4530,7 +4770,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Excellon General"))) # Plot options - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.layout.addWidget(self.plot_options_label) grid1 = QtWidgets.QGridLayout() @@ -4549,7 +4789,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.solid_cb, 0, 1) # Excellon format - self.excellon_format_label = QtWidgets.QLabel(_("Excellon Format:")) + self.excellon_format_label = QtWidgets.QLabel("%s:" % _("Excellon Format")) self.excellon_format_label.setToolTip( _("The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -4576,7 +4816,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): hlay1 = QtWidgets.QHBoxLayout() self.layout.addLayout(hlay1) - self.excellon_format_in_label = QtWidgets.QLabel(_("INCH:")) + self.excellon_format_in_label = QtWidgets.QLabel('%s:' % _("INCH")) self.excellon_format_in_label.setAlignment(QtCore.Qt.AlignLeft) self.excellon_format_in_label.setToolTip( _("Default values for INCH are 2:4")) @@ -4609,7 +4849,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): hlay2 = QtWidgets.QHBoxLayout() self.layout.addLayout(hlay2) - self.excellon_format_mm_label = QtWidgets.QLabel(_("METRIC:")) + self.excellon_format_mm_label = QtWidgets.QLabel('%s:' % _("METRIC")) self.excellon_format_mm_label.setAlignment(QtCore.Qt.AlignLeft) self.excellon_format_mm_label.setToolTip( _("Default values for METRIC are 3:3")) @@ -4643,7 +4883,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): grid2 = QtWidgets.QGridLayout() self.layout.addLayout(grid2) - self.excellon_zeros_label = QtWidgets.QLabel(_('Default Zeros:')) + self.excellon_zeros_label = QtWidgets.QLabel('%s:' % _('Default Zeros')) self.excellon_zeros_label.setAlignment(QtCore.Qt.AlignLeft) self.excellon_zeros_label.setToolTip( _("This sets the type of Excellon zeros.\n" @@ -4667,7 +4907,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): ) grid2.addWidget(self.excellon_zeros_radio, 0, 1) - self.excellon_units_label = QtWidgets.QLabel(_('Default Units:')) + self.excellon_units_label = QtWidgets.QLabel('%s:' % _('Default Units')) self.excellon_units_label.setAlignment(QtCore.Qt.AlignLeft) self.excellon_units_label.setToolTip( _("This sets the default units of Excellon files.\n" @@ -4689,7 +4929,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): grid2.addWidget(QtWidgets.QLabel(""), 2, 0) - self.excellon_general_label = QtWidgets.QLabel(_("Excellon Optimization:")) + self.excellon_general_label = QtWidgets.QLabel("%s:" % _("Excellon Optimization")) grid2.addWidget(self.excellon_general_label, 3, 0, 1, 2) self.excellon_optimization_label = QtWidgets.QLabel(_('Algorithm: ')) @@ -4719,7 +4959,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): ) grid2.addWidget(self.excellon_optimization_radio, 4, 1) - self.optimization_time_label = QtWidgets.QLabel(_('Optimization Time: ')) + self.optimization_time_label = QtWidgets.QLabel('%s:' % _('Optimization Time')) self.optimization_time_label.setAlignment(QtCore.Qt.AlignLeft) self.optimization_time_label.setToolTip( _("When OR-Tools Metaheuristic (MH) is enabled there is a\n" @@ -4768,7 +5008,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Excellon Options"))) # ## Create CNC Job - self.cncjob_label = QtWidgets.QLabel(_('Create CNC Job')) + self.cncjob_label = QtWidgets.QLabel('%s' % _('Create CNC Job')) self.cncjob_label.setToolTip( _("Parameters used to create a CNC Job object\n" "for this drill object.") @@ -4778,7 +5018,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): grid2 = QtWidgets.QGridLayout() self.layout.addLayout(grid2) - cutzlabel = QtWidgets.QLabel(_('Cut Z:')) + cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) cutzlabel.setToolTip( _("Drill depth (negative)\n" "below the copper surface.") @@ -4787,7 +5027,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): self.cutz_entry = LengthEntry() grid2.addWidget(self.cutz_entry, 0, 1) - travelzlabel = QtWidgets.QLabel(_('Travel Z:')) + travelzlabel = QtWidgets.QLabel('%s:' % _('Travel Z')) travelzlabel.setToolTip( _("Tool height when travelling\n" "across the XY plane.") @@ -4797,7 +5037,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): grid2.addWidget(self.travelz_entry, 1, 1) # Tool change: - toolchlabel = QtWidgets.QLabel(_("Tool change:")) + toolchlabel = QtWidgets.QLabel('%s:' % _("Tool change")) toolchlabel.setToolTip( _("Include tool-change sequence\n" "in G-Code (Pause for tool change).") @@ -4806,25 +5046,27 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): grid2.addWidget(toolchlabel, 2, 0) grid2.addWidget(self.toolchange_cb, 2, 1) - toolchangezlabel = QtWidgets.QLabel(_('Toolchange Z:')) + toolchangezlabel = QtWidgets.QLabel('%s:' % _('Toolchange Z')) toolchangezlabel.setToolTip( - _("Toolchange Z position.") + _("Z-axis position (height) for\n" + "tool change.") ) grid2.addWidget(toolchangezlabel, 3, 0) self.toolchangez_entry = LengthEntry() grid2.addWidget(self.toolchangez_entry, 3, 1) - frlabel = QtWidgets.QLabel(_('Feedrate:')) + frlabel = QtWidgets.QLabel('%s:' % _('Feedrate (Plunge):')) frlabel.setToolTip( _("Tool speed while drilling\n" - "(in units per minute).") + "(in units per minute).\n" + "This is for linear move G01.") ) grid2.addWidget(frlabel, 4, 0) self.feedrate_entry = LengthEntry() grid2.addWidget(self.feedrate_entry, 4, 1) # Spindle speed - spdlabel = QtWidgets.QLabel(_('Spindle Speed:')) + spdlabel = QtWidgets.QLabel('%s:' % _('Spindle Speed')) spdlabel.setToolTip( _("Speed of the spindle\n" "in RPM (optional)") @@ -4834,7 +5076,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): grid2.addWidget(self.spindlespeed_entry, 5, 1) # Spindle direction - spindle_dir_label = QtWidgets.QLabel(_('Spindle dir.:')) + spindle_dir_label = QtWidgets.QLabel('%s:' % _('Spindle dir.')) spindle_dir_label.setToolTip( _("This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -4848,14 +5090,14 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): grid2.addWidget(self.spindledir_radio, 6, 1) # Dwell - dwelllabel = QtWidgets.QLabel(_('Dwell:')) + dwelllabel = QtWidgets.QLabel('%s:' % _('Dwell')) dwelllabel.setToolTip( _("Pause to allow the spindle to reach its\n" "speed before cutting.") ) dwelltime = QtWidgets.QLabel(_('Duration:')) dwelltime.setToolTip( - _("Number of milliseconds for spindle to dwell.") + _("Number of time units for spindle to dwell.") ) self.dwell_cb = FCCheckBox() self.dwelltime_entry = FCEntry() @@ -4867,10 +5109,10 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): self.ois_dwell_exc = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry]) # postprocessor selection - pp_excellon_label = QtWidgets.QLabel(_("Postprocessor:")) + pp_excellon_label = QtWidgets.QLabel('%s:' % _("Postprocessor")) pp_excellon_label.setToolTip( - _("The postprocessor file that dictates\n" - "gcode output.") + _("The postprocessor JSON file that dictates\n" + "Gcode output.") ) grid2.addWidget(pp_excellon_label, 9, 0) self.pp_excellon_name_cb = FCComboBox() @@ -4878,7 +5120,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): grid2.addWidget(self.pp_excellon_name_cb, 9, 1) # ### Choose what to use for Gcode creation: Drills, Slots or Both - excellon_gcode_type_label = QtWidgets.QLabel(_('Gcode: ')) + excellon_gcode_type_label = QtWidgets.QLabel('%s' % _('Gcode')) excellon_gcode_type_label.setToolTip( _("Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -4896,20 +5138,20 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI): self.excellon_gcode_type_radio.setVisible(False) # ### Milling Holes ## ## - self.mill_hole_label = QtWidgets.QLabel(_('Mill Holes')) + self.mill_hole_label = QtWidgets.QLabel('%s' % _('Mill Holes')) self.mill_hole_label.setToolTip( _("Create Geometry for milling holes.") ) grid2.addWidget(excellon_gcode_type_label, 11, 0, 1, 2) - tdlabel = QtWidgets.QLabel(_('Drill Tool dia:')) + tdlabel = QtWidgets.QLabel('%s:' % _('Drill Tool dia')) tdlabel.setToolTip( _("Diameter of the cutting tool.") ) grid2.addWidget(tdlabel, 12, 0) self.tooldia_entry = LengthEntry() grid2.addWidget(self.tooldia_entry, 12, 1) - stdlabel = QtWidgets.QLabel(_('Slot Tool dia:')) + stdlabel = QtWidgets.QLabel('%s:' % _('Slot Tool dia')) stdlabel.setToolTip( _("Diameter of the cutting tool\n" "when milling slots.") @@ -4942,7 +5184,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): # ## ADVANCED OPTIONS ### # ####################### - self.cncjob_label = QtWidgets.QLabel(_('Advanced Options:')) + self.cncjob_label = QtWidgets.QLabel('%s:' % _('Advanced Options')) self.cncjob_label.setToolTip( _("Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced.") @@ -4952,7 +5194,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): grid1 = QtWidgets.QGridLayout() self.layout.addLayout(grid1) - offsetlabel = QtWidgets.QLabel(_('Offset Z:')) + offsetlabel = QtWidgets.QLabel('%s:' % _('Offset Z')) offsetlabel.setToolTip( _("Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" @@ -4961,7 +5203,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): self.offset_entry = LengthEntry() grid1.addWidget(self.offset_entry, 0, 1) - toolchange_xy_label = QtWidgets.QLabel(_('Toolchange X,Y:')) + toolchange_xy_label = QtWidgets.QLabel('%s:' % _('Toolchange X,Y')) toolchange_xy_label.setToolTip( _("Toolchange X,Y position.") ) @@ -4969,7 +5211,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): self.toolchangexy_entry = FCEntry() grid1.addWidget(self.toolchangexy_entry, 1, 1) - startzlabel = QtWidgets.QLabel(_('Start move Z:')) + startzlabel = QtWidgets.QLabel('%s:' % _('Start move Z')) startzlabel.setToolTip( _("Height of the tool just after start.\n" "Delete the value if you don't need this feature.") @@ -4978,7 +5220,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): self.estartz_entry = FloatEntry() grid1.addWidget(self.estartz_entry, 2, 1) - endzlabel = QtWidgets.QLabel(_('End move Z:')) + endzlabel = QtWidgets.QLabel('%s:' % _('End move Z')) endzlabel.setToolTip( _("Height of the tool after\n" "the last move at the end of the job.") @@ -4987,7 +5229,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): self.eendz_entry = LengthEntry() grid1.addWidget(self.eendz_entry, 3, 1) - fr_rapid_label = QtWidgets.QLabel(_('Feedrate Rapids:')) + fr_rapid_label = QtWidgets.QLabel('%s:' % _('Feedrate Rapids')) fr_rapid_label.setToolTip( _("Tool speed while drilling\n" "(in units per minute).\n" @@ -5000,7 +5242,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.feedrate_rapid_entry, 4, 1) # Probe depth - self.pdepth_label = QtWidgets.QLabel(_("Probe Z depth:")) + self.pdepth_label = QtWidgets.QLabel('%s:' % _("Probe Z depth")) self.pdepth_label.setToolTip( _("The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units.") @@ -5010,9 +5252,9 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.pdepth_entry, 5, 1) # Probe feedrate - self.feedrate_probe_label = QtWidgets.QLabel(_("Feedrate Probe:")) + self.feedrate_probe_label = QtWidgets.QLabel('%s:' % _("Feedrate Probe")) self.feedrate_probe_label.setToolTip( - _( "The feedrate used while the probe is probing.") + _("The feedrate used while the probe is probing.") ) grid1.addWidget(self.feedrate_probe_label, 6, 0) self.feedrate_probe_entry = FCEntry() @@ -5029,7 +5271,7 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(fplungelabel, 7, 0) grid1.addWidget(self.fplunge_cb, 7, 1) - fretractlabel = QtWidgets.QLabel(_('Fast Retract:')) + fretractlabel = QtWidgets.QLabel('%s:' % _('Fast Retract')) fretractlabel.setToolTip( _("Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -5053,7 +5295,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Excellon Export"))) # Plot options - self.export_options_label = QtWidgets.QLabel(_("Export Options:")) + self.export_options_label = QtWidgets.QLabel("%s:" % _("Export Options")) self.export_options_label.setToolTip( _("The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry.") @@ -5064,7 +5306,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): self.layout.addLayout(form) # Excellon Units - self.excellon_units_label = QtWidgets.QLabel(_('Units:')) + self.excellon_units_label = QtWidgets.QLabel('%s:' % _('Units')) self.excellon_units_label.setToolTip( _("The units used in the Excellon file.") ) @@ -5078,7 +5320,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): form.addRow(self.excellon_units_label, self.excellon_units_radio) # Excellon non-decimal format - self.digits_label = QtWidgets.QLabel(_("Int/Decimals:")) + self.digits_label = QtWidgets.QLabel("%s:" % _("Int/Decimals")) self.digits_label.setToolTip( _("The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -5098,7 +5340,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): ) hlay1.addWidget(self.format_whole_entry, QtCore.Qt.AlignLeft) - excellon_separator_label= QtWidgets.QLabel(':') + excellon_separator_label = QtWidgets.QLabel(':') excellon_separator_label.setFixedWidth(5) hlay1.addWidget(excellon_separator_label, QtCore.Qt.AlignLeft) @@ -5116,7 +5358,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): form.addRow(self.digits_label, hlay1) # Select the Excellon Format - self.format_label = QtWidgets.QLabel(_("Format:")) + self.format_label = QtWidgets.QLabel("%s:" % _("Format")) self.format_label.setToolTip( _("Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -5139,7 +5381,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): form.addRow(self.format_label, self.format_radio) # Excellon Zeros - self.zeros_label = QtWidgets.QLabel(_('Zeros:')) + self.zeros_label = QtWidgets.QLabel('%s:' % _('Zeros')) self.zeros_label.setAlignment(QtCore.Qt.AlignLeft) self.zeros_label.setToolTip( _("This sets the type of Excellon zeros.\n" @@ -5162,7 +5404,7 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI): form.addRow(self.zeros_label, self.zeros_radio) # Slot type - self.slot_type_label = QtWidgets.QLabel(_('Slot type:')) + self.slot_type_label = QtWidgets.QLabel('%s:' % _('Slot type')) self.slot_type_label.setAlignment(QtCore.Qt.AlignLeft) self.slot_type_label.setToolTip( _("This sets how the slots will be exported.\n" @@ -5203,7 +5445,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Excellon Editor"))) # Excellon Editor Parameters - self.param_label = QtWidgets.QLabel(_("Parameters:")) + self.param_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.param_label.setToolTip( _("A list of Excellon Editor parameters.") ) @@ -5213,7 +5455,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid0) # Selection Limit - self.sel_limit_label = QtWidgets.QLabel(_("Selection limit:")) + self.sel_limit_label = QtWidgets.QLabel('%s:' % _("Selection limit")) self.sel_limit_label.setToolTip( _("Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -5227,7 +5469,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.sel_limit_entry, 0, 1) # New tool diameter - self.addtool_entry_lbl = QtWidgets.QLabel(_('New Tool Dia:')) + self.addtool_entry_lbl = QtWidgets.QLabel('%s:' % _('New Tool Dia')) self.addtool_entry_lbl.setToolTip( _("Diameter for the new tool") ) @@ -5239,7 +5481,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.addtool_entry, 1, 1) # Number of drill holes in a drill array - self.drill_array_size_label = QtWidgets.QLabel(_('Nr of drills:')) + self.drill_array_size_label = QtWidgets.QLabel('%s:' % _('Nr of drills')) self.drill_array_size_label.setToolTip( _("Specify how many drills to be in the array.") ) @@ -5250,7 +5492,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.drill_array_size_label, 2, 0) grid0.addWidget(self.drill_array_size_entry, 2, 1) - self.drill_array_linear_label = QtWidgets.QLabel(_('Linear Drill Array:')) + self.drill_array_linear_label = QtWidgets.QLabel('%s:' % _('Linear Drill Array')) grid0.addWidget(self.drill_array_linear_label, 3, 0, 1, 2) # Linear Drill Array direction @@ -5270,7 +5512,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.drill_axis_radio, 4, 1) # Linear Drill Array pitch distance - self.drill_pitch_label = QtWidgets.QLabel(_('Pitch:')) + self.drill_pitch_label = QtWidgets.QLabel(_('%s:' % 'Pitch')) self.drill_pitch_label.setToolTip( _("Pitch = Distance between elements of the array.") ) @@ -5281,7 +5523,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.drill_pitch_entry, 5, 1) # Linear Drill Array custom angle - self.drill_angle_label = QtWidgets.QLabel(_('Angle:')) + self.drill_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) self.drill_angle_label.setToolTip( _("Angle at which each element in circular array is placed.") ) @@ -5290,11 +5532,11 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.drill_angle_label, 6, 0) grid0.addWidget(self.drill_angle_entry, 6, 1) - self.drill_array_circ_label = QtWidgets.QLabel(_('Circular Drill Array:')) + self.drill_array_circ_label = QtWidgets.QLabel('%s:' % _('Circular Drill Array')) grid0.addWidget(self.drill_array_circ_label, 7, 0, 1, 2) # Circular Drill Array direction - self.drill_circular_direction_label = QtWidgets.QLabel(_('Circular Dir.:')) + self.drill_circular_direction_label = QtWidgets.QLabel('%s:' % _('Circular Dir.')) self.drill_circular_direction_label.setToolTip( _("Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise.") @@ -5307,7 +5549,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.drill_circular_dir_radio, 8, 1) # Circular Drill Array Angle - self.drill_circular_angle_label = QtWidgets.QLabel(_('Circ. Angle:')) + self.drill_circular_angle_label = QtWidgets.QLabel('%s:' % _('Circ. Angle')) self.drill_circular_angle_label.setToolTip( _("Angle at which each element in circular array is placed.") ) @@ -5318,11 +5560,11 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): # ##### SLOTS ##### # ################# - self.drill_array_circ_label = QtWidgets.QLabel(_('Slots:')) + self.drill_array_circ_label = QtWidgets.QLabel('%s:' % _('Slots')) grid0.addWidget(self.drill_array_circ_label, 10, 0, 1, 2) # Slot length - self.slot_length_label = QtWidgets.QLabel(_('Length:')) + self.slot_length_label = QtWidgets.QLabel('%s:' % _('Length')) self.slot_length_label.setToolTip( _("Length = The length of the slot.") ) @@ -5333,7 +5575,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_length_entry, 11, 1) # Slot direction - self.slot_axis_label = QtWidgets.QLabel(_('Direction:')) + self.slot_axis_label = QtWidgets.QLabel('%s:' % _('Direction')) self.slot_axis_label.setToolTip( _("Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -5349,7 +5591,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_axis_radio, 12, 1) # Slot custom angle - self.slot_angle_label = QtWidgets.QLabel(_('Angle:')) + self.slot_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) self.slot_angle_label.setToolTip( _("Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -5369,11 +5611,11 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): # #### SLOTS ARRAY ####### # ######################## - self.slot_array_linear_label = QtWidgets.QLabel(_('Linear Slot Array:')) + self.slot_array_linear_label = QtWidgets.QLabel('%s:' % _('Linear Slot Array')) grid0.addWidget(self.slot_array_linear_label, 14, 0, 1, 2) # Number of slot holes in a drill array - self.slot_array_size_label = QtWidgets.QLabel(_('Nr of slots:')) + self.slot_array_size_label = QtWidgets.QLabel('%s:' % _('Nr of slots')) self.drill_array_size_label.setToolTip( _("Specify how many slots to be in the array.") ) @@ -5385,7 +5627,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_array_size_entry, 15, 1) # Linear Slot Array direction - self.slot_array_axis_label = QtWidgets.QLabel(_('Linear Dir.:')) + self.slot_array_axis_label = QtWidgets.QLabel('%s:' % _('Linear Dir.')) self.slot_array_axis_label.setToolTip( _("Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -5401,7 +5643,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_array_axis_radio, 16, 1) # Linear Slot Array pitch distance - self.slot_array_pitch_label = QtWidgets.QLabel(_('Pitch:')) + self.slot_array_pitch_label = QtWidgets.QLabel('%s:' % _('Pitch')) self.slot_array_pitch_label.setToolTip( _("Pitch = Distance between elements of the array.") ) @@ -5412,7 +5654,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_array_pitch_entry, 17, 1) # Linear Slot Array custom angle - self.slot_array_angle_label = QtWidgets.QLabel(_('Angle:')) + self.slot_array_angle_label = QtWidgets.QLabel('%s:' % _('Angle')) self.slot_array_angle_label.setToolTip( _("Angle at which each element in circular array is placed.") ) @@ -5421,11 +5663,11 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_array_angle_label, 18, 0) grid0.addWidget(self.slot_array_angle_entry, 18, 1) - self.slot_array_circ_label = QtWidgets.QLabel(_('Circular Slot Array:')) + self.slot_array_circ_label = QtWidgets.QLabel('%s:' % _('Circular Slot Array')) grid0.addWidget(self.slot_array_circ_label, 19, 0, 1, 2) # Circular Slot Array direction - self.slot_array_circular_direction_label = QtWidgets.QLabel(_('Circular Dir.:')) + self.slot_array_circular_direction_label = QtWidgets.QLabel('%s:' % _('Circular Dir.')) self.slot_array_circular_direction_label.setToolTip( _("Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise.") @@ -5438,7 +5680,7 @@ class ExcellonEditorPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.slot_array_circular_dir_radio, 20, 1) # Circular Slot Array Angle - self.slot_array_circular_angle_label = QtWidgets.QLabel(_('Circ. Angle:')) + self.slot_array_circular_angle_label = QtWidgets.QLabel('%s:' % _('Circ. Angle')) self.slot_array_circular_angle_label.setToolTip( _("Angle at which each element in circular array is placed.") ) @@ -5458,7 +5700,7 @@ class GeometryGenPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Geometry General"))) # ## Plot options - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.layout.addWidget(self.plot_options_label) # Plot CB @@ -5472,7 +5714,7 @@ class GeometryGenPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid0) # Number of circle steps for circular aperture linear approximation - self.circle_steps_label = QtWidgets.QLabel(_("Circle Steps:")) + self.circle_steps_label = QtWidgets.QLabel('%s:' % _("Circle Steps")) self.circle_steps_label.setToolTip( _("The number of circle steps for Geometry \n" "circle and arc shapes linear approximation.") @@ -5482,11 +5724,11 @@ class GeometryGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.circle_steps_entry, 1, 1) # Tools - self.tools_label = QtWidgets.QLabel(_("Tools:")) + self.tools_label = QtWidgets.QLabel("%s:" % _("Tools")) grid0.addWidget(self.tools_label, 2, 0, 1, 2) # Tooldia - tdlabel = QtWidgets.QLabel(_('Tool dia:')) + tdlabel = QtWidgets.QLabel('%s:' % _('Tool dia')) tdlabel.setToolTip( _("Diameters of the cutting tools, separated by ','") ) @@ -5507,7 +5749,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): # ------------------------------ # ## Create CNC Job # ------------------------------ - self.cncjob_label = QtWidgets.QLabel(_('Create CNC Job:')) + self.cncjob_label = QtWidgets.QLabel('%s:' % _('Create CNC Job')) self.cncjob_label.setToolTip( _("Create a CNC Job object\n" "tracing the contours of this\n" @@ -5519,7 +5761,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid1) # Cut Z - cutzlabel = QtWidgets.QLabel(_('Cut Z:')) + cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) cutzlabel.setToolTip( _("Cutting depth (negative)\n" "below the copper surface.") @@ -5529,14 +5771,19 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.cutz_entry, 0, 1) # Multidepth CheckBox - self.multidepth_cb = FCCheckBox(label=_('Multidepth')) + self.multidepth_cb = FCCheckBox(label=_('Multi-Depth')) self.multidepth_cb.setToolTip( - _("Multidepth usage: True or False.") + _( + "Use multiple passes to limit\n" + "the cut depth in each pass. Will\n" + "cut multiple times until Cut Z is\n" + "reached." + ) ) grid1.addWidget(self.multidepth_cb, 1, 0) # Depth/pass - dplabel = QtWidgets.QLabel(_('Depth/Pass:')) + dplabel = QtWidgets.QLabel('%s:' % _('Depth/Pass')) dplabel.setToolTip( _("The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -5552,7 +5799,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): self.ois_multidepth = OptionalInputSection(self.multidepth_cb, [self.depthperpass_entry]) # Travel Z - travelzlabel = QtWidgets.QLabel(_('Travel Z:')) + travelzlabel = QtWidgets.QLabel('%s:' % _('Travel Z')) travelzlabel.setToolTip( _("Height of the tool when\n" "moving without cutting.") @@ -5562,26 +5809,31 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.travelz_entry, 3, 1) # Tool change: - toolchlabel = QtWidgets.QLabel(_("Tool change:")) + toolchlabel = QtWidgets.QLabel('%s:' % _("Tool change")) toolchlabel.setToolTip( - _("Include tool-change sequence\n" - "in G-Code (Pause for tool change).") + _( + "Include tool-change sequence\n" + "in the Machine Code (Pause for tool change)." + ) ) self.toolchange_cb = FCCheckBox() grid1.addWidget(toolchlabel, 4, 0) grid1.addWidget(self.toolchange_cb, 4, 1) # Toolchange Z - toolchangezlabel = QtWidgets.QLabel(_('Toolchange Z:')) + toolchangezlabel = QtWidgets.QLabel('%s:' % _('Toolchange Z')) toolchangezlabel.setToolTip( - _("Toolchange Z position.") + _( + "Z-axis position (height) for\n" + "tool change." + ) ) grid1.addWidget(toolchangezlabel, 5, 0) self.toolchangez_entry = LengthEntry() grid1.addWidget(self.toolchangez_entry, 5, 1) # Feedrate X-Y - frlabel = QtWidgets.QLabel(_('Feed Rate X-Y:')) + frlabel = QtWidgets.QLabel('%s:' % _('Feed Rate X-Y')) frlabel.setToolTip( _("Cutting speed in the XY\n" "plane in units per minute") @@ -5591,7 +5843,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.cncfeedrate_entry, 6, 1) # Feedrate Z (Plunge) - frz_label = QtWidgets.QLabel(_('Feed Rate Z:')) + frz_label = QtWidgets.QLabel('%s:' % _('Feed Rate Z')) frz_label.setToolTip( _("Cutting speed in the XY\n" "plane in units per minute.\n" @@ -5602,17 +5854,20 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.cncplunge_entry, 7, 1) # Spindle Speed - spdlabel = QtWidgets.QLabel(_('Spindle speed:')) + spdlabel = QtWidgets.QLabel('%s:' % _('Spindle speed')) spdlabel.setToolTip( - _("Speed of the spindle\n" - "in RPM (optional)") + _( + "Speed of the spindle in RPM (optional).\n" + "If LASER postprocessor is used,\n" + "this value is the power of laser." + ) ) grid1.addWidget(spdlabel, 8, 0) self.cncspindlespeed_entry = IntEntry(allow_empty=True) grid1.addWidget(self.cncspindlespeed_entry, 8, 1) # Spindle direction - spindle_dir_label = QtWidgets.QLabel(_('Spindle dir.:')) + spindle_dir_label = QtWidgets.QLabel('%s:' % _('Spindle dir.')) spindle_dir_label.setToolTip( _("This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -5626,14 +5881,14 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.spindledir_radio, 9, 1) # Dwell - self.dwell_cb = FCCheckBox(label=_('Dwell:')) + self.dwell_cb = FCCheckBox(label='%s:' % _('Dwell')) self.dwell_cb.setToolTip( _("Pause to allow the spindle to reach its\n" "speed before cutting.") ) - dwelltime = QtWidgets.QLabel(_('Duration:')) + dwelltime = QtWidgets.QLabel('%s:' % _('Duration')) dwelltime.setToolTip( - _("Number of milliseconds for spindle to dwell.") + _("Number of time units for spindle to dwell.") ) self.dwelltime_entry = FCEntry() grid1.addWidget(self.dwell_cb, 10, 0) @@ -5643,10 +5898,10 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry]) # postprocessor selection - pp_label = QtWidgets.QLabel(_("Postprocessor:")) + pp_label = QtWidgets.QLabel('%s:' % _("Postprocessor")) pp_label.setToolTip( - _("The postprocessor file that dictates\n" - "Machine Code output.") + _("The Postprocessor file that dictates\n" + "the Machine Code (like GCode, RML, HPGL) output.") ) grid1.addWidget(pp_label, 12, 0) self.pp_geometry_name_cb = FCComboBox() @@ -5666,7 +5921,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): # ------------------------------ # ## Advanced Options # ------------------------------ - self.cncjob_label = QtWidgets.QLabel(_('Advanced Options:')) + self.cncjob_label = QtWidgets.QLabel('%s:' % _('Advanced Options')) self.cncjob_label.setToolTip( _("Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object.") @@ -5677,7 +5932,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid1) # Toolchange X,Y - toolchange_xy_label = QtWidgets.QLabel(_('Toolchange X,Y:')) + toolchange_xy_label = QtWidgets.QLabel(_('%s:' % 'Toolchange X-Y')) toolchange_xy_label.setToolTip( _("Toolchange X,Y position.") ) @@ -5686,7 +5941,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.toolchangexy_entry, 1, 1) # Start move Z - startzlabel = QtWidgets.QLabel(_('Start move Z:')) + startzlabel = QtWidgets.QLabel('%s:' % _('Start move Z')) startzlabel.setToolTip( _("Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature.") @@ -5696,7 +5951,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.gstartz_entry, 2, 1) # End move Z - endzlabel = QtWidgets.QLabel(_('End move Z:')) + endzlabel = QtWidgets.QLabel('%s:' % _('End move Z')) endzlabel.setToolTip( _("Height of the tool after\n" "the last move at the end of the job.") @@ -5706,21 +5961,20 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.gendz_entry, 3, 1) # Feedrate rapids - fr_rapid_label = QtWidgets.QLabel(_('Feedrate Rapids:')) + fr_rapid_label = QtWidgets.QLabel('%s:' % _('Feed Rate Rapids')) fr_rapid_label.setToolTip( _("Cutting speed in the XY plane\n" "(in units per minute).\n" "This is for the rapid move G00.\n" "It is useful only for Marlin,\n" - "ignore for any other cases." - ) + "ignore for any other cases.") ) grid1.addWidget(fr_rapid_label, 4, 0) self.cncfeedrate_rapid_entry = LengthEntry() grid1.addWidget(self.cncfeedrate_rapid_entry, 4, 1) # End move extra cut - self.extracut_cb = FCCheckBox(label=_('Re-cut 1st pt.')) + self.extracut_cb = FCCheckBox(label='%s' % _('Re-cut 1st pt.')) self.extracut_cb.setToolTip( _("In order to remove possible\n" "copper leftovers where first cut\n" @@ -5730,7 +5984,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.extracut_cb, 5, 0) # Probe depth - self.pdepth_label = QtWidgets.QLabel(_("Probe Z depth:")) + self.pdepth_label = QtWidgets.QLabel('%s:' % _("Probe Z depth")) self.pdepth_label.setToolTip( _("The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units.") @@ -5740,7 +5994,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.pdepth_entry, 6, 1) # Probe feedrate - self.feedrate_probe_label = QtWidgets.QLabel(_("Feedrate Probe:")) + self.feedrate_probe_label = QtWidgets.QLabel('%s:' % _("Feedrate Probe")) self.feedrate_probe_label.setToolTip( _("The feedrate used while the probe is probing.") ) @@ -5749,7 +6003,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.feedrate_probe_entry, 7, 1) # Fast Move from Z Toolchange - fplungelabel = QtWidgets.QLabel(_('Fast Plunge:')) + fplungelabel = QtWidgets.QLabel('%s:' % _('Fast Plunge')) fplungelabel.setToolTip( _("By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -5761,7 +6015,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.fplunge_cb, 8, 1) # Size of trace segment on X axis - segx_label = QtWidgets.QLabel(_("Seg. X size:")) + segx_label = QtWidgets.QLabel('%s:' % _("Seg. X size")) segx_label.setToolTip( _("The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -5772,7 +6026,7 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.segx_entry, 9, 1) # Size of trace segment on Y axis - segy_label = QtWidgets.QLabel(_("Seg. Y size:")) + segy_label = QtWidgets.QLabel('%s:' % _("Seg. Y size")) segy_label.setToolTip( _("The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -5793,7 +6047,7 @@ class GeometryEditorPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Geometry Editor"))) # Advanced Geometry Parameters - self.param_label = QtWidgets.QLabel(_("Parameters:")) + self.param_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.param_label.setToolTip( _("A list of Geometry Editor parameters.") ) @@ -5803,7 +6057,7 @@ class GeometryEditorPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid0) # Selection Limit - self.sel_limit_label = QtWidgets.QLabel(_("Selection limit:")) + self.sel_limit_label = QtWidgets.QLabel('%s:' % _("Selection limit")) self.sel_limit_label.setToolTip( _("Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -5827,7 +6081,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("CNC Job General"))) # ## Plot options - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.layout.addWidget(self.plot_options_label) grid0 = QtWidgets.QGridLayout() @@ -5838,13 +6092,11 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): # Plot CB # self.plot_cb = QtWidgets.QCheckBox('Plot') self.plot_cb = FCCheckBox(_('Plot Object')) - self.plot_cb.setToolTip( - "Plot (show) this object." - ) + self.plot_cb.setToolTip(_("Plot (show) this object.")) grid0.addWidget(self.plot_cb, 0, 0) # Plot Kind - self.cncplot_method_label = QtWidgets.QLabel(_("Plot kind:")) + self.cncplot_method_label = QtWidgets.QLabel('%s:' % _("Plot kind:")) self.cncplot_method_label.setToolTip( _("This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -5863,12 +6115,12 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(QtWidgets.QLabel(''), 1, 2) # Display Annotation - self.annotation_label = QtWidgets.QLabel(_("Display Annotation:")) + self.annotation_label = QtWidgets.QLabel('%s:' % _("Display Annotation")) self.annotation_label.setToolTip( _("This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" "of a travel line." - ) + ) ) self.annotation_cb = FCCheckBox() @@ -5877,7 +6129,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(QtWidgets.QLabel(''), 2, 2) # Annotation Font Size - self.annotation_fontsize_label = QtWidgets.QLabel(_("Annotation Size:")) + self.annotation_fontsize_label = QtWidgets.QLabel('%s:' % _("Annotation Size")) self.annotation_fontsize_label.setToolTip( _("The font size of the annotation text. In pixels.") ) @@ -5887,7 +6139,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(QtWidgets.QLabel(''), 3, 2) # Annotation Font Color - self.annotation_color_label = QtWidgets.QLabel(_('Annotation Color:')) + self.annotation_color_label = QtWidgets.QLabel('%s:' % _('Annotation Color')) self.annotation_color_label.setToolTip( _("Set the font color for the annotation texts.") ) @@ -5910,7 +6162,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): # ################################################################### # Number of circle steps for circular aperture linear approximation # # ################################################################### - self.steps_per_circle_label = QtWidgets.QLabel(_("Circle Steps:")) + self.steps_per_circle_label = QtWidgets.QLabel('%s:' % _("Circle Steps")) self.steps_per_circle_label.setToolTip( _("The number of circle steps for GCode \n" "circle and arc shapes linear approximation.") @@ -5920,17 +6172,17 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.steps_per_circle_entry, 5, 1) # Tool dia for plot - tdlabel = QtWidgets.QLabel(_('Tool dia:')) + tdlabel = QtWidgets.QLabel('%s:' % _('Tool dia')) tdlabel.setToolTip( _("Diameter of the tool to be\n" "rendered in the plot.") ) grid0.addWidget(tdlabel, 6, 0) self.tooldia_entry = LengthEntry() - grid0.addWidget(self.tooldia_entry,6, 1) + grid0.addWidget(self.tooldia_entry, 6, 1) # Number of decimals to use in GCODE coordinates - cdeclabel = QtWidgets.QLabel(_('Coords dec.:')) + cdeclabel = QtWidgets.QLabel('%s:' % _('Coords dec.')) cdeclabel.setToolTip( _("The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)") @@ -5940,7 +6192,7 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.coords_dec_entry, 7, 1) # Number of decimals to use in GCODE feedrate - frdeclabel = QtWidgets.QLabel(_('Feedrate dec.:')) + frdeclabel = QtWidgets.QLabel('%s:' % _('Feedrate dec.')) frdeclabel.setToolTip( _("The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)") @@ -5960,7 +6212,7 @@ class CNCJobOptPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("CNC Job Options"))) # ## Export G-Code - self.export_gcode_label = QtWidgets.QLabel(_("Export G-Code:")) + self.export_gcode_label = QtWidgets.QLabel("%s:" % _("Export G-Code")) self.export_gcode_label.setToolTip( _("Export and save G-Code to\n" "make this object to a file.") @@ -5968,7 +6220,7 @@ class CNCJobOptPrefGroupUI(OptionsGroupUI): self.layout.addWidget(self.export_gcode_label) # Prepend to G-Code - prependlabel = QtWidgets.QLabel(_('Prepend to G-Code:')) + prependlabel = QtWidgets.QLabel('%s:' % _('Prepend to G-Code')) prependlabel.setToolTip( _("Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file.") @@ -5979,7 +6231,7 @@ class CNCJobOptPrefGroupUI(OptionsGroupUI): self.layout.addWidget(self.prepend_text) # Append text to G-Code - appendlabel = QtWidgets.QLabel(_('Append to G-Code:')) + appendlabel = QtWidgets.QLabel('%s:' % _('Append to G-Code')) appendlabel.setToolTip( _("Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -6001,7 +6253,7 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("CNC Job Adv. Options"))) # ## Export G-Code - self.export_gcode_label = QtWidgets.QLabel(_("Export G-Code:")) + self.export_gcode_label = QtWidgets.QLabel("%s:" % _("Export CNC Code")) self.export_gcode_label.setToolTip( _("Export and save G-Code to\n" "make this object to a file.") @@ -6009,12 +6261,18 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI): self.layout.addWidget(self.export_gcode_label) # Prepend to G-Code - toolchangelabel = QtWidgets.QLabel(_('Toolchange G-Code:')) + toolchangelabel = QtWidgets.QLabel('%s:' % _('Toolchange G-Code')) toolchangelabel.setToolTip( - _("Type here any G-Code commands you would\n" - "like to be executed when Toolchange event is encountered.\n" - "This will constitute a Custom Toolchange GCode,\n" - "or a Toolchange Macro.") + _( + "Type here any G-Code commands you would\n" + "like to be executed when Toolchange event is encountered.\n" + "This will constitute a Custom Toolchange GCode,\n" + "or a Toolchange Macro.\n" + "The FlatCAM variables are surrounded by '%' symbol.\n\n" + "WARNING: it can be used only with a postprocessor file\n" + "that has 'toolchange_custom' in it's name and this is built\n" + "having as template the 'Toolchange Custom' posprocessor file." + ) ) self.layout.addWidget(toolchangelabel) @@ -6025,7 +6283,7 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI): self.layout.addLayout(hlay) # Toolchange Replacement GCode - self.toolchange_cb = FCCheckBox(label=_('Use Toolchange Macro')) + self.toolchange_cb = FCCheckBox(label='%s' % _('Use Toolchange Macro')) self.toolchange_cb.setToolTip( _("Check this box if you want to use\n" "a Custom Toolchange GCode (macro).") @@ -6085,7 +6343,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("NCC Tool Options"))) # ## Clear non-copper regions - self.clearcopper_label = QtWidgets.QLabel(_("Parameters:")) + self.clearcopper_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.clearcopper_label.setToolTip( _("Create a Geometry object with\n" "toolpaths to cut all non-copper regions.") @@ -6095,7 +6353,7 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI): grid0 = QtWidgets.QGridLayout() self.layout.addLayout(grid0) - ncctdlabel = QtWidgets.QLabel(_('Tools dia:')) + ncctdlabel = QtWidgets.QLabel('%s:' % _('Tools dia')) ncctdlabel.setToolTip( _("Diameters of the cutting tools, separated by ','") ) @@ -6103,119 +6361,143 @@ class ToolsNCCPrefGroupUI(OptionsGroupUI): self.ncc_tool_dia_entry = FCEntry() grid0.addWidget(self.ncc_tool_dia_entry, 0, 1) - nccoverlabel = QtWidgets.QLabel(_('Overlap Rate:')) - nccoverlabel.setToolTip( - _( "How much (fraction) of the tool width to overlap each tool pass.\n" - "Example:\n" - "A value here of 0.25 means 25% from the tool diameter found above.\n\n" - "Adjust the value starting with lower values\n" - "and increasing it if areas that should be cleared are still \n" - "not cleared.\n" - "Lower values = faster processing, faster execution on PCB.\n" - "Higher values = slow processing and slow execution on CNC\n" - "due of too many paths.") - ) - grid0.addWidget(nccoverlabel, 1, 0) - self.ncc_overlap_entry = FloatEntry() - grid0.addWidget(self.ncc_overlap_entry, 1, 1) + self.ncc_order_label = QtWidgets.QLabel('%s:' % _('Tool order')) + self.ncc_order_label.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) - nccmarginlabel = QtWidgets.QLabel(_('Margin:')) + self.ncc_order_radio = RadioSet([{'label': _('No'), 'value': 'no'}, + {'label': _('Forward'), 'value': 'fwd'}, + {'label': _('Reverse'), 'value': 'rev'}]) + self.ncc_order_radio.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + grid0.addWidget(self.ncc_order_label, 1, 0) + grid0.addWidget(self.ncc_order_radio, 1, 1) + + nccoverlabel = QtWidgets.QLabel('%s:' % _('Overlap Rate')) + nccoverlabel.setToolTip( + _("How much (fraction) of the tool width to overlap each tool pass.\n" + "Example:\n" + "A value here of 0.25 means 25% from the tool diameter found above.\n\n" + "Adjust the value starting with lower values\n" + "and increasing it if areas that should be cleared are still \n" + "not cleared.\n" + "Lower values = faster processing, faster execution on PCB.\n" + "Higher values = slow processing and slow execution on CNC\n" + "due of too many paths.") + ) + grid0.addWidget(nccoverlabel, 2, 0) + self.ncc_overlap_entry = FloatEntry() + grid0.addWidget(self.ncc_overlap_entry, 2, 1) + + nccmarginlabel = QtWidgets.QLabel('%s:' % _('Margin')) nccmarginlabel.setToolTip( _("Bounding box margin.") ) - grid0.addWidget(nccmarginlabel, 2, 0) + grid0.addWidget(nccmarginlabel, 3, 0) self.ncc_margin_entry = FloatEntry() - grid0.addWidget(self.ncc_margin_entry, 2, 1) + grid0.addWidget(self.ncc_margin_entry, 3, 1) # Method - methodlabel = QtWidgets.QLabel(_('Method:')) + methodlabel = QtWidgets.QLabel('%s:' % _('Method')) methodlabel.setToolTip( _("Algorithm for non-copper clearing:
" "Standard: Fixed step inwards.
" "Seed-based: Outwards from seed.
" "Line-based: Parallel lines.") ) - grid0.addWidget(methodlabel, 3, 0) + grid0.addWidget(methodlabel, 4, 0) self.ncc_method_radio = RadioSet([ {"label": _("Standard"), "value": "standard"}, {"label": _("Seed-based"), "value": "seed"}, {"label": _("Straight lines"), "value": "lines"} ], orientation='vertical', stretch=False) - grid0.addWidget(self.ncc_method_radio, 3, 1) + grid0.addWidget(self.ncc_method_radio, 4, 1) # Connect lines - pathconnectlabel = QtWidgets.QLabel(_("Connect:")) + pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect")) pathconnectlabel.setToolTip( _("Draw lines between resulting\n" "segments to minimize tool lifts.") ) - grid0.addWidget(pathconnectlabel, 4, 0) + grid0.addWidget(pathconnectlabel, 5, 0) self.ncc_connect_cb = FCCheckBox() - grid0.addWidget(self.ncc_connect_cb, 4, 1) + grid0.addWidget(self.ncc_connect_cb, 5, 1) - contourlabel = QtWidgets.QLabel(_("Contour:")) + contourlabel = QtWidgets.QLabel('%s:' % _("Contour")) contourlabel.setToolTip( _("Cut around the perimeter of the polygon\n" "to trim rough edges.") ) - grid0.addWidget(contourlabel, 5, 0) + grid0.addWidget(contourlabel, 6, 0) self.ncc_contour_cb = FCCheckBox() - grid0.addWidget(self.ncc_contour_cb, 5, 1) + grid0.addWidget(self.ncc_contour_cb, 6, 1) - restlabel = QtWidgets.QLabel(_("Rest M.:")) + restlabel = QtWidgets.QLabel('%s:' % _("Rest M.")) restlabel.setToolTip( _("If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" - "could not be cleared by previous tool.\n" + "could not be cleared by previous tool, until there is\n" + "no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm.") ) - grid0.addWidget(restlabel, 6, 0) + grid0.addWidget(restlabel, 7, 0) self.ncc_rest_cb = FCCheckBox() - grid0.addWidget(self.ncc_rest_cb, 6, 1) + grid0.addWidget(self.ncc_rest_cb, 7, 1) # ## NCC Offset choice - self.ncc_offset_choice_label = QtWidgets.QLabel(_("Offset:")) + self.ncc_offset_choice_label = QtWidgets.QLabel('%s:' % _("Offset")) self.ncc_offset_choice_label.setToolTip( _("If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" "from the copper features.\n" "The value can be between 0 and 10 FlatCAM units.") ) - grid0.addWidget(self.ncc_offset_choice_label, 7, 0) + grid0.addWidget(self.ncc_offset_choice_label, 8, 0) self.ncc_choice_offset_cb = FCCheckBox() - grid0.addWidget(self.ncc_choice_offset_cb, 7, 1) + grid0.addWidget(self.ncc_choice_offset_cb, 8, 1) # ## NCC Offset value - self.ncc_offset_label = QtWidgets.QLabel(_("Offset value:")) + self.ncc_offset_label = QtWidgets.QLabel('%s:' % _("Offset value")) self.ncc_offset_label.setToolTip( _("If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" "from the copper features.\n" "The value can be between 0 and 10 FlatCAM units.") ) - grid0.addWidget(self.ncc_offset_label, 8, 0) + grid0.addWidget(self.ncc_offset_label, 9, 0) self.ncc_offset_spinner = FCDoubleSpinner() self.ncc_offset_spinner.set_range(0.00, 10.00) self.ncc_offset_spinner.set_precision(4) self.ncc_offset_spinner.setWrapping(True) self.ncc_offset_spinner.setSingleStep(0.1) - grid0.addWidget(self.ncc_offset_spinner, 8, 1) + grid0.addWidget(self.ncc_offset_spinner, 9, 1) # ## Reference self.reference_radio = RadioSet([{'label': _('Itself'), 'value': 'itself'}, - {'label': _('Box'), 'value': 'box'}]) - reference_label = QtWidgets.QLabel(_("Reference:")) + {"label": _("Area"), "value": "area"}, + {'label': _('Ref'), 'value': 'box'}]) + reference_label = QtWidgets.QLabel('%s:' % _("Reference")) reference_label.setToolTip( - _("When choosing the 'Itself' option the non copper clearing extent\n" + _("- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n " - "Choosing the 'Box' option will do non copper clearing within the box\n" - "specified by another object different than the one that is copper cleared.") + "- 'Area Selection' - left mouse click to start selection of the area to be painted.\n" + "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n" + "- 'Reference Object' - will do non copper clearing within the area\n" + "specified by another object.") ) - grid0.addWidget(reference_label, 9, 0) - grid0.addWidget(self.reference_radio, 9, 1) + grid0.addWidget(reference_label, 10, 0) + grid0.addWidget(self.reference_radio, 10, 1) self.layout.addStretch() @@ -6228,7 +6510,7 @@ class ToolsCutoutPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Cutout Tool Options"))) # ## Board cuttout - self.board_cutout_label = QtWidgets.QLabel(_("Parameters:")) + self.board_cutout_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.board_cutout_label.setToolTip( _("Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -6239,16 +6521,17 @@ class ToolsCutoutPrefGroupUI(OptionsGroupUI): grid0 = QtWidgets.QGridLayout() self.layout.addLayout(grid0) - tdclabel = QtWidgets.QLabel(_('Tool dia:')) + tdclabel = QtWidgets.QLabel('%s:' % _('Tool dia')) tdclabel.setToolTip( - _("Diameter of the cutting tool.") + _("Diameter of the tool used to cutout\n" + "the PCB shape out of the surrounding material.") ) grid0.addWidget(tdclabel, 0, 0) self.cutout_tooldia_entry = LengthEntry() grid0.addWidget(self.cutout_tooldia_entry, 0, 1) # Object kind - kindlabel = QtWidgets.QLabel(_('Obj kind:')) + kindlabel = QtWidgets.QLabel('%s:' % _('Obj kind')) kindlabel.setToolTip( _("Choice of what kind the object we want to cutout is.
" "- Single: contain a single PCB Gerber outline object.
" @@ -6262,30 +6545,33 @@ class ToolsCutoutPrefGroupUI(OptionsGroupUI): ]) grid0.addWidget(self.obj_kind_combo, 1, 1) - marginlabel = QtWidgets.QLabel(_('Margin:')) + marginlabel = QtWidgets.QLabel('%s:' % _('Margin')) marginlabel.setToolTip( - _("Distance from objects at which\n" - "to draw the cutout.") + _("Margin over bounds. A positive value here\n" + "will make the cutout of the PCB further from\n" + "the actual PCB border") ) grid0.addWidget(marginlabel, 2, 0) self.cutout_margin_entry = LengthEntry() grid0.addWidget(self.cutout_margin_entry, 2, 1) - gaplabel = QtWidgets.QLabel(_('Gap size:')) + gaplabel = QtWidgets.QLabel('%s:' % _('Gap size')) gaplabel.setToolTip( - _("Size of the gaps in the toolpath\n" - "that will remain to hold the\n" - "board in place.") + _("The size of the bridge gaps in the cutout\n" + "used to keep the board connected to\n" + "the surrounding material (the one \n" + "from which the PCB is cutout).") ) grid0.addWidget(gaplabel, 3, 0) self.cutout_gap_entry = LengthEntry() grid0.addWidget(self.cutout_gap_entry, 3, 1) - gaps_label = QtWidgets.QLabel(_('Gaps:')) + gaps_label = QtWidgets.QLabel('%s:' % _('Gaps')) gaps_label.setToolTip( - _("Number of bridge gaps used for the cutout.\n" + _("Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" + "- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -6297,16 +6583,17 @@ class ToolsCutoutPrefGroupUI(OptionsGroupUI): self.gaps_combo = FCComboBox() grid0.addWidget(self.gaps_combo, 4, 1) - gaps_items = ['LR', 'TB', '4', '2LR', '2TB', '8'] + gaps_items = ['None', 'LR', 'TB', '4', '2LR', '2TB', '8'] for it in gaps_items: self.gaps_combo.addItem(it) self.gaps_combo.setStyleSheet('background-color: rgb(255,255,255)') # Surrounding convex box shape self.convex_box = FCCheckBox() - self.convex_box_label = QtWidgets.QLabel(_("Convex Sh.:")) + self.convex_box_label = QtWidgets.QLabel('%s:' % _("Convex Sh.")) self.convex_box_label.setToolTip( - _("Create a convex shape surrounding the entire PCB.") + _("Create a convex shape surrounding the entire PCB.\n" + "Used only if the source object type is Gerber.") ) grid0.addWidget(self.convex_box_label, 5, 0) grid0.addWidget(self.convex_box, 5, 1) @@ -6322,7 +6609,7 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("2Sided Tool Options"))) # ## Board cuttout - self.dblsided_label = QtWidgets.QLabel(_("Parameters:")) + self.dblsided_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.dblsided_label.setToolTip( _("A tool to help in creating a double sided\n" "PCB using alignment holes.") @@ -6334,7 +6621,7 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI): # ## Drill diameter for alignment holes self.drill_dia_entry = LengthEntry() - self.dd_label = QtWidgets.QLabel(_("Drill diam.:")) + self.dd_label = QtWidgets.QLabel('%s:' % _("Drill dia")) self.dd_label.setToolTip( _("Diameter of the drill for the " "alignment holes.") @@ -6358,11 +6645,11 @@ class Tools2sidedPrefGroupUI(OptionsGroupUI): # ## Axis Location self.axis_location_radio = RadioSet([{'label': _('Point'), 'value': 'point'}, {'label': _('Box'), 'value': 'box'}]) - self.axloc_label = QtWidgets.QLabel(_("Axis Ref:")) + self.axloc_label = QtWidgets.QLabel('%s:' % _("Axis Ref")) self.axloc_label.setToolTip( _("The axis should pass through a point or cut\n " - "a specified box (in a Geometry object) in \n" - "the middle.") + "a specified box (in a FlatCAM object) through \n" + "the center.") ) # grid_lay.addRow("Axis Location:", self.axis_location) grid0.addWidget(self.axloc_label, 3, 0) @@ -6394,7 +6681,7 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid0) # Tool dia - ptdlabel = QtWidgets.QLabel(_('Tool dia:')) + ptdlabel = QtWidgets.QLabel('%s:' % _('Tool dia')) ptdlabel.setToolTip( _("Diameter of the tool to\n" "be used in the operation.") @@ -6404,74 +6691,108 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI): self.painttooldia_entry = LengthEntry() grid0.addWidget(self.painttooldia_entry, 0, 1) + self.paint_order_label = QtWidgets.QLabel('%s:' % _('Tool order')) + self.paint_order_label.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + + self.paint_order_radio = RadioSet([{'label': _('No'), 'value': 'no'}, + {'label': _('Forward'), 'value': 'fwd'}, + {'label': _('Reverse'), 'value': 'rev'}]) + self.paint_order_radio.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + grid0.addWidget(self.paint_order_label, 1, 0) + grid0.addWidget(self.paint_order_radio, 1, 1) + # Overlap - ovlabel = QtWidgets.QLabel(_('Overlap Rate:')) + ovlabel = QtWidgets.QLabel('%s:' % _('Overlap Rate')) ovlabel.setToolTip( - _("How much (fraction) of the tool\n" - "width to overlap each tool pass.") + _("How much (fraction) of the tool width to overlap each tool pass.\n" + "Example:\n" + "A value here of 0.25 means 25% from the tool diameter found above.\n\n" + "Adjust the value starting with lower values\n" + "and increasing it if areas that should be painted are still \n" + "not painted.\n" + "Lower values = faster processing, faster execution on PCB.\n" + "Higher values = slow processing and slow execution on CNC\n" + "due of too many paths.") ) - grid0.addWidget(ovlabel, 1, 0) + grid0.addWidget(ovlabel, 2, 0) self.paintoverlap_entry = LengthEntry() - grid0.addWidget(self.paintoverlap_entry, 1, 1) + grid0.addWidget(self.paintoverlap_entry, 2, 1) # Margin - marginlabel = QtWidgets.QLabel(_('Margin:')) + marginlabel = QtWidgets.QLabel('%s:' % _('Margin')) marginlabel.setToolTip( _("Distance by which to avoid\n" "the edges of the polygon to\n" "be painted.") ) - grid0.addWidget(marginlabel, 2, 0) + grid0.addWidget(marginlabel, 3, 0) self.paintmargin_entry = LengthEntry() - grid0.addWidget(self.paintmargin_entry, 2, 1) + grid0.addWidget(self.paintmargin_entry, 3, 1) # Method - methodlabel = QtWidgets.QLabel(_('Method:')) + methodlabel = QtWidgets.QLabel('%s:' % _('Method')) methodlabel.setToolTip( - _("Algorithm to paint the polygon:
" + _("Algorithm for non-copper clearing:
" "Standard: Fixed step inwards.
" - "Seed-based: Outwards from seed.") + "Seed-based: Outwards from seed.
" + "Line-based: Parallel lines.") ) - grid0.addWidget(methodlabel, 3, 0) + grid0.addWidget(methodlabel, 4, 0) self.paintmethod_combo = RadioSet([ {"label": _("Standard"), "value": "standard"}, {"label": _("Seed-based"), "value": "seed"}, {"label": _("Straight lines"), "value": "lines"} ], orientation='vertical', stretch=False) - grid0.addWidget(self.paintmethod_combo, 3, 1) + grid0.addWidget(self.paintmethod_combo, 4, 1) # Connect lines - pathconnectlabel = QtWidgets.QLabel(_("Connect:")) + pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect")) pathconnectlabel.setToolTip( _("Draw lines between resulting\n" "segments to minimize tool lifts.") ) - grid0.addWidget(pathconnectlabel, 4, 0) + grid0.addWidget(pathconnectlabel, 5, 0) self.pathconnect_cb = FCCheckBox() - grid0.addWidget(self.pathconnect_cb, 4, 1) + grid0.addWidget(self.pathconnect_cb, 5, 1) # Paint contour - contourlabel = QtWidgets.QLabel(_("Contour:")) + contourlabel = QtWidgets.QLabel('%s:' % _("Contour")) contourlabel.setToolTip( _("Cut around the perimeter of the polygon\n" "to trim rough edges.") ) - grid0.addWidget(contourlabel, 5, 0) + grid0.addWidget(contourlabel, 6, 0) self.contour_cb = FCCheckBox() - grid0.addWidget(self.contour_cb, 5, 1) + grid0.addWidget(self.contour_cb, 6, 1) # Polygon selection - selectlabel = QtWidgets.QLabel(_('Selection:')) + selectlabel = QtWidgets.QLabel('%s:' % _('Selection')) selectlabel.setToolTip( - _("How to select the polygons to paint.") + _("How to select Polygons to be painted.\n\n" + "- 'Area Selection' - left mouse click to start selection of the area to be painted.\n" + "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n" + "- 'All Polygons' - the Paint will start after click.\n" + "- 'Reference Object' - will do non copper clearing within the area\n" + "specified by another object.") ) - grid0.addWidget(selectlabel, 6, 0) + grid0.addWidget(selectlabel, 7, 0) self.selectmethod_combo = RadioSet([ {"label": _("Single"), "value": "single"}, {"label": _("Area"), "value": "area"}, - {"label": _("All"), "value": "all"} + {"label": _("All"), "value": "all"}, + {"label": _("Ref."), "value": "ref"} ]) - grid0.addWidget(self.selectmethod_combo, 6, 1) + grid0.addWidget(self.selectmethod_combo, 7, 1) self.layout.addStretch() @@ -6484,7 +6805,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Film Tool Options"))) # ## Board cuttout - self.film_label = QtWidgets.QLabel(_("Parameters:")) + self.film_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.film_label.setToolTip( _("Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -6510,7 +6831,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.film_type_radio, 0, 1) self.film_boundary_entry = FCEntry() - self.film_boundary_label = QtWidgets.QLabel(_("Border:")) + self.film_boundary_label = QtWidgets.QLabel('%s:' % _("Border")) self.film_boundary_label.setToolTip( _("Specify a border around the object.\n" "Only for negative film.\n" @@ -6525,7 +6846,7 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.film_boundary_entry, 1, 1) self.film_scale_entry = FCEntry() - self.film_scale_label = QtWidgets.QLabel(_("Scale Stroke:")) + self.film_scale_label = QtWidgets.QLabel('%s:' % _("Scale Stroke")) self.film_scale_label.setToolTip( _("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" @@ -6545,7 +6866,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Panelize Tool Options"))) # ## Board cuttout - self.panelize_label = QtWidgets.QLabel(_("Parameters:")) + self.panelize_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.panelize_label.setToolTip( _("Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -6558,7 +6879,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): # ## Spacing Columns self.pspacing_columns = FCEntry() - self.spacing_columns_label = QtWidgets.QLabel(_("Spacing cols:")) + self.spacing_columns_label = QtWidgets.QLabel('%s:' % _("Spacing cols")) self.spacing_columns_label.setToolTip( _("Spacing between columns of the desired panel.\n" "In current units.") @@ -6568,7 +6889,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): # ## Spacing Rows self.pspacing_rows = FCEntry() - self.spacing_rows_label = QtWidgets.QLabel(_("Spacing rows:")) + self.spacing_rows_label = QtWidgets.QLabel('%s:' % _("Spacing rows")) self.spacing_rows_label.setToolTip( _("Spacing between rows of the desired panel.\n" "In current units.") @@ -6578,7 +6899,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): # ## Columns self.pcolumns = FCEntry() - self.columns_label = QtWidgets.QLabel(_("Columns:")) + self.columns_label = QtWidgets.QLabel('%s:' % _("Columns")) self.columns_label.setToolTip( _("Number of columns of the desired panel") ) @@ -6587,7 +6908,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): # ## Rows self.prows = FCEntry() - self.rows_label = QtWidgets.QLabel(_("Rows:")) + self.rows_label = QtWidgets.QLabel('%s:' % _("Rows")) self.rows_label.setToolTip( _("Number of rows of the desired panel") ) @@ -6597,18 +6918,18 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): # ## Type of resulting Panel object self.panel_type_radio = RadioSet([{'label': _('Gerber'), 'value': 'gerber'}, {'label': _('Geo'), 'value': 'geometry'}]) - self.panel_type_label = QtWidgets.QLabel(_("Panel Type:")) + self.panel_type_label = QtWidgets.QLabel('%s:' % _("Panel Type")) self.panel_type_label.setToolTip( - _( "Choose the type of object for the panel object:\n" - "- Gerber\n" - "- Geometry") + _("Choose the type of object for the panel object:\n" + "- Gerber\n" + "- Geometry") ) grid0.addWidget(self.panel_type_label, 4, 0) grid0.addWidget(self.panel_type_radio, 4, 1) # ## Constrains - self.pconstrain_cb = FCCheckBox(_("Constrain within:")) + self.pconstrain_cb = FCCheckBox('%s:' % _("Constrain within")) self.pconstrain_cb.setToolTip( _("Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -6619,7 +6940,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): grid0.addWidget(self.pconstrain_cb, 5, 0) self.px_width_entry = FCEntry() - self.x_width_lbl = QtWidgets.QLabel(_("Width (DX):")) + self.x_width_lbl = QtWidgets.QLabel('%s:' % _("Width (DX)")) self.x_width_lbl.setToolTip( _("The width (DX) within which the panel must fit.\n" "In current units.") @@ -6628,7 +6949,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI): grid0.addWidget(self.px_width_entry, 6, 1) self.py_height_entry = FCEntry() - self.y_height_lbl = QtWidgets.QLabel(_("Height (DY):")) + self.y_height_lbl = QtWidgets.QLabel('%s:' % _("Height (DY)")) self.y_height_lbl.setToolTip( _("The height (DY)within which the panel must fit.\n" "In current units.") @@ -6647,7 +6968,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Calculators Tool Options"))) # ## V-shape Calculator Tool - self.vshape_tool_label = QtWidgets.QLabel(_("V-Shape Tool Calculator:")) + self.vshape_tool_label = QtWidgets.QLabel("%s:" % _("V-Shape Tool Calculator")) self.vshape_tool_label.setToolTip( _("Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -6660,7 +6981,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): # ## Tip Diameter self.tip_dia_entry = FCEntry() - self.tip_dia_label = QtWidgets.QLabel(_("Tip Diameter:")) + self.tip_dia_label = QtWidgets.QLabel('%s:' % _("Tip Diameter")) self.tip_dia_label.setToolTip( _("This is the tool tip diameter.\n" "It is specified by manufacturer.") @@ -6670,7 +6991,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): # ## Tip angle self.tip_angle_entry = FCEntry() - self.tip_angle_label = QtWidgets.QLabel(_("Tip angle:")) + self.tip_angle_label = QtWidgets.QLabel('%s:' % _("Tip Angle")) self.tip_angle_label.setToolTip( _("This is the angle on the tip of the tool.\n" "It is specified by manufacturer.") @@ -6680,7 +7001,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): # ## Depth-of-cut Cut Z self.cut_z_entry = FCEntry() - self.cut_z_label = QtWidgets.QLabel(_("Cut Z:")) + self.cut_z_label = QtWidgets.QLabel('%s:' % _("Cut Z")) self.cut_z_label.setToolTip( _("This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter.") @@ -6689,7 +7010,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.cut_z_entry, 2, 1) # ## Electroplating Calculator Tool - self.plate_title_label = QtWidgets.QLabel(_("ElectroPlating Calculator:")) + self.plate_title_label = QtWidgets.QLabel("%s:" % _("ElectroPlating Calculator")) self.plate_title_label.setToolTip( _("This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium chloride.") @@ -6701,7 +7022,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): # ## PCB Length self.pcblength_entry = FCEntry() - self.pcblengthlabel = QtWidgets.QLabel(_("Board Length:")) + self.pcblengthlabel = QtWidgets.QLabel('%s:' % _("Board Length")) self.pcblengthlabel.setToolTip(_('This is the board length. In centimeters.')) grid1.addWidget(self.pcblengthlabel, 0, 0) @@ -6709,14 +7030,14 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): # ## PCB Width self.pcbwidth_entry = FCEntry() - self.pcbwidthlabel = QtWidgets.QLabel(_("Board Width:")) + self.pcbwidthlabel = QtWidgets.QLabel('%s:' % _("Board Width")) self.pcbwidthlabel.setToolTip(_('This is the board width.In centimeters.')) grid1.addWidget(self.pcbwidthlabel, 1, 0) grid1.addWidget(self.pcbwidth_entry, 1, 1) # ## Current Density - self.cdensity_label = QtWidgets.QLabel(_("Current Density:")) + self.cdensity_label = QtWidgets.QLabel('%s:' % _("Current Density")) self.cdensity_entry = FCEntry() self.cdensity_label.setToolTip(_("Current density to pass through the board. \n" @@ -6725,7 +7046,7 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): grid1.addWidget(self.cdensity_entry, 2, 1) # ## PCB Copper Growth - self.growth_label = QtWidgets.QLabel(_("Copper Growth:")) + self.growth_label = QtWidgets.QLabel('%s:' % _("Copper Growth")) self.growth_entry = FCEntry() self.growth_label.setToolTip(_("How thick the copper growth is intended to be.\n" @@ -6744,7 +7065,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Transform Tool Options"))) # ## Transformations - self.transform_label = QtWidgets.QLabel(_("Parameters:")) + self.transform_label = QtWidgets.QLabel("%s:" % _("Parameters")) self.transform_label.setToolTip( _("Various transformations that can be applied\n" "on a FlatCAM object.") @@ -6756,34 +7077,39 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): # ## Rotate Angle self.rotate_entry = FCEntry() - self.rotate_label = QtWidgets.QLabel(_("Rotate Angle:")) + self.rotate_label = QtWidgets.QLabel('%s:' % _("Rotate Angle")) self.rotate_label.setToolTip( - _("Angle for rotation. In degrees.") + _("Angle for Rotation action, in degrees.\n" + "Float number between -360 and 359.\n" + "Positive numbers for CW motion.\n" + "Negative numbers for CCW motion.") ) grid0.addWidget(self.rotate_label, 0, 0) grid0.addWidget(self.rotate_entry, 0, 1) # ## Skew/Shear Angle on X axis self.skewx_entry = FCEntry() - self.skewx_label = QtWidgets.QLabel(_("Skew_X angle:")) + self.skewx_label = QtWidgets.QLabel('%s:' % _("Skew_X angle")) self.skewx_label.setToolTip( - _("Angle for Skew/Shear on X axis. In degrees.") + _("Angle for Skew action, in degrees.\n" + "Float number between -360 and 359.") ) grid0.addWidget(self.skewx_label, 1, 0) grid0.addWidget(self.skewx_entry, 1, 1) # ## Skew/Shear Angle on Y axis self.skewy_entry = FCEntry() - self.skewy_label = QtWidgets.QLabel(_("Skew_Y angle:")) + self.skewy_label = QtWidgets.QLabel('%s:' % _("Skew_Y angle")) self.skewy_label.setToolTip( - _("Angle for Skew/Shear on Y axis. In degrees.") + _("Angle for Skew action, in degrees.\n" + "Float number between -360 and 359.") ) grid0.addWidget(self.skewy_label, 2, 0) grid0.addWidget(self.skewy_entry, 2, 1) # ## Scale factor on X axis self.scalex_entry = FCEntry() - self.scalex_label = QtWidgets.QLabel(_("Scale_X factor:")) + self.scalex_label = QtWidgets.QLabel('%s:' % _("Scale_X factor")) self.scalex_label.setToolTip( _("Factor for scaling on X axis.") ) @@ -6792,7 +7118,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): # ## Scale factor on X axis self.scaley_entry = FCEntry() - self.scaley_label = QtWidgets.QLabel(_("Scale_Y factor:")) + self.scaley_label = QtWidgets.QLabel('%s:' % _("Scale_Y factor")) self.scaley_label.setToolTip( _("Factor for scaling on Y axis.") ) @@ -6808,7 +7134,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.link_cb, 5, 0) # ## Scale Reference - self.reference_cb = FCCheckBox(_("Scale Reference")) + self.reference_cb = FCCheckBox('%s' % _("Scale Reference")) self.reference_cb.setToolTip( _("Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -6819,7 +7145,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): # ## Offset distance on X axis self.offx_entry = FCEntry() - self.offx_label = QtWidgets.QLabel(_("Offset_X val:")) + self.offx_label = QtWidgets.QLabel('%s:' % _("Offset_X val")) self.offx_label.setToolTip( _("Distance to offset on X axis. In current units.") ) @@ -6828,7 +7154,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): # ## Offset distance on Y axis self.offy_entry = FCEntry() - self.offy_label = QtWidgets.QLabel(_("Offset_Y val:")) + self.offy_label = QtWidgets.QLabel('%s:' % _("Offset_Y val")) self.offy_label.setToolTip( _("Distance to offset on Y axis. In current units.") ) @@ -6836,7 +7162,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.offy_entry, 7, 1) # ## Mirror (Flip) Reference Point - self.mirror_reference_cb = FCCheckBox(_("Mirror Reference")) + self.mirror_reference_cb = FCCheckBox('%s' % _("Mirror Reference")) self.mirror_reference_cb.setToolTip( _("Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -6849,7 +7175,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): "Point Entry field and click Flip on X(Y)")) grid0.addWidget(self.mirror_reference_cb, 8, 1) - self.flip_ref_label = QtWidgets.QLabel(_(" Mirror Ref. Point:")) + self.flip_ref_label = QtWidgets.QLabel('%s:' % _(" Mirror Ref. Point")) self.flip_ref_label.setToolTip( _("Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -6871,7 +7197,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): self.setTitle(str(_("SolderPaste Tool Options"))) # ## Solder Paste Dispensing - self.solderpastelabel = QtWidgets.QLabel(_("Parameters:")) + self.solderpastelabel = QtWidgets.QLabel("%s:" % _("Parameters")) self.solderpastelabel.setToolTip( _("A tool to create GCode for dispensing\n" "solder paste onto a PCB.") @@ -6882,7 +7208,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): self.layout.addLayout(grid0) # Nozzle Tool Diameters - nozzletdlabel = QtWidgets.QLabel(_('Tools dia:')) + nozzletdlabel = QtWidgets.QLabel('%s:' % _('Tools dia')) nozzletdlabel.setToolTip( _("Diameters of nozzle tools, separated by ','") ) @@ -6891,7 +7217,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): grid0.addWidget(self.nozzle_tool_dia_entry, 0, 1) # New Nozzle Tool Dia - self.addtool_entry_lbl = QtWidgets.QLabel(_('New Nozzle Dia:')) + self.addtool_entry_lbl = QtWidgets.QLabel('%s:' % _('New Nozzle Dia')) self.addtool_entry_lbl.setToolTip( _("Diameter for the new Nozzle tool to add in the Tool Table") ) @@ -6901,7 +7227,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Z dispense start self.z_start_entry = FCEntry() - self.z_start_label = QtWidgets.QLabel(_("Z Dispense Start:")) + self.z_start_label = QtWidgets.QLabel('%s:' % _("Z Dispense Start")) self.z_start_label.setToolTip( _("The height (Z) when solder paste dispensing starts.") ) @@ -6910,7 +7236,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Z dispense self.z_dispense_entry = FCEntry() - self.z_dispense_label = QtWidgets.QLabel(_("Z Dispense:")) + self.z_dispense_label = QtWidgets.QLabel('%s:' % _("Z Dispense")) self.z_dispense_label.setToolTip( _("The height (Z) when doing solder paste dispensing.") ) @@ -6919,7 +7245,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Z dispense stop self.z_stop_entry = FCEntry() - self.z_stop_label = QtWidgets.QLabel(_("Z Dispense Stop:")) + self.z_stop_label = QtWidgets.QLabel('%s:' % _("Z Dispense Stop")) self.z_stop_label.setToolTip( _("The height (Z) when solder paste dispensing stops.") ) @@ -6928,7 +7254,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Z travel self.z_travel_entry = FCEntry() - self.z_travel_label = QtWidgets.QLabel(_("Z Travel:")) + self.z_travel_label = QtWidgets.QLabel('%s:' % _("Z Travel")) self.z_travel_label.setToolTip( _("The height (Z) for travel between pads\n" "(without dispensing solder paste).") @@ -6938,7 +7264,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Z toolchange location self.z_toolchange_entry = FCEntry() - self.z_toolchange_label = QtWidgets.QLabel(_("Z Toolchange:")) + self.z_toolchange_label = QtWidgets.QLabel('%s:' % _("Z Toolchange")) self.z_toolchange_label.setToolTip( _("The height (Z) for tool (nozzle) change.") ) @@ -6947,7 +7273,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # X,Y Toolchange location self.xy_toolchange_entry = FCEntry() - self.xy_toolchange_label = QtWidgets.QLabel(_("XY Toolchange:")) + self.xy_toolchange_label = QtWidgets.QLabel('%s:' % _("Toolchange X-Y")) self.xy_toolchange_label.setToolTip( _("The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers.") @@ -6957,7 +7283,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Feedrate X-Y self.frxy_entry = FCEntry() - self.frxy_label = QtWidgets.QLabel(_("Feedrate X-Y:")) + self.frxy_label = QtWidgets.QLabel('%s:' % _("Feedrate X-Y")) self.frxy_label.setToolTip( _("Feedrate (speed) while moving on the X-Y plane.") ) @@ -6966,7 +7292,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Feedrate Z self.frz_entry = FCEntry() - self.frz_label = QtWidgets.QLabel(_("Feedrate Z:")) + self.frz_label = QtWidgets.QLabel('%s:' % _("Feedrate Z")) self.frz_label.setToolTip( _("Feedrate (speed) while moving vertically\n" "(on Z plane).") @@ -6976,7 +7302,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Feedrate Z Dispense self.frz_dispense_entry = FCEntry() - self.frz_dispense_label = QtWidgets.QLabel(_("Feedrate Z Dispense:")) + self.frz_dispense_label = QtWidgets.QLabel('%s:' % _("Feedrate Z Dispense")) self.frz_dispense_label.setToolTip( _("Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane).") @@ -6986,7 +7312,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Spindle Speed Forward self.speedfwd_entry = FCEntry() - self.speedfwd_label = QtWidgets.QLabel(_("Spindle Speed FWD:")) + self.speedfwd_label = QtWidgets.QLabel('%s:' % _("Spindle Speed FWD")) self.speedfwd_label.setToolTip( _("The dispenser speed while pushing solder paste\n" "through the dispenser nozzle.") @@ -6996,7 +7322,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Dwell Forward self.dwellfwd_entry = FCEntry() - self.dwellfwd_label = QtWidgets.QLabel(_("Dwell FWD:")) + self.dwellfwd_label = QtWidgets.QLabel('%s:' % _("Dwell FWD")) self.dwellfwd_label.setToolTip( _("Pause after solder dispensing.") ) @@ -7005,7 +7331,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Spindle Speed Reverse self.speedrev_entry = FCEntry() - self.speedrev_label = QtWidgets.QLabel(_("Spindle Speed REV:")) + self.speedrev_label = QtWidgets.QLabel('%s:' % _("Spindle Speed REV")) self.speedrev_label.setToolTip( _("The dispenser speed while retracting solder paste\n" "through the dispenser nozzle.") @@ -7015,7 +7341,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): # Dwell Reverse self.dwellrev_entry = FCEntry() - self.dwellrev_label = QtWidgets.QLabel(_("Dwell REV:")) + self.dwellrev_label = QtWidgets.QLabel('%s:' % _("Dwell REV")) self.dwellrev_label.setToolTip( _("Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium.") @@ -7024,7 +7350,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): grid0.addWidget(self.dwellrev_entry, 14, 1) # Postprocessors - pp_label = QtWidgets.QLabel(_('PostProcessors:')) + pp_label = QtWidgets.QLabel('%s:' % _('PostProcessor')) pp_label.setToolTip( _("Files that control the GCode generation.") ) @@ -7044,7 +7370,7 @@ class ToolsSubPrefGroupUI(OptionsGroupUI): self.setTitle(str(_("Substractor Tool Options"))) # ## Solder Paste Dispensing - self.sublabel = QtWidgets.QLabel(_("Parameters:")) + self.sublabel = QtWidgets.QLabel("%s:" % _("Parameters")) self.sublabel.setToolTip( _("A tool to substract one Gerber or Geometry object\n" "from another of the same type.") diff --git a/flatcamGUI/GUIElements.py b/flatcamGUI/GUIElements.py index b8d60eeb..c2fc2525 100644 --- a/flatcamGUI/GUIElements.py +++ b/flatcamGUI/GUIElements.py @@ -171,9 +171,11 @@ class LengthEntry(QtWidgets.QLineEdit): self.readyToEdit = False def focusOutEvent(self, e): - super(LengthEntry, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(LengthEntry, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def returnPressed(self, *args, **kwargs): val = self.get_value() @@ -225,9 +227,11 @@ class FloatEntry(QtWidgets.QLineEdit): self.readyToEdit = False def focusOutEvent(self, e): - super(FloatEntry, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(FloatEntry, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def returnPressed(self, *args, **kwargs): val = self.get_value() @@ -274,9 +278,11 @@ class FloatEntry2(QtWidgets.QLineEdit): self.readyToEdit = False def focusOutEvent(self, e): - super(FloatEntry2, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(FloatEntry2, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def get_value(self): raw = str(self.text()).strip(' ') @@ -316,9 +322,11 @@ class IntEntry(QtWidgets.QLineEdit): self.readyToEdit = False def focusOutEvent(self, e): - super(IntEntry, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(IntEntry, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def get_value(self): @@ -353,16 +361,17 @@ class FCEntry(QtWidgets.QLineEdit): def on_edit_finished(self): self.clearFocus() - def mousePressEvent(self, e, Parent=None): + def mousePressEvent(self, e, parent=None): super(FCEntry, self).mousePressEvent(e) # required to deselect on 2e click if self.readyToEdit: self.selectAll() self.readyToEdit = False def focusOutEvent(self, e): - super(FCEntry, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + if e.reason() != QtCore.Qt.PopupFocusReason: + super(FCEntry, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def get_value(self): return str(self.text()) @@ -381,36 +390,24 @@ class FCEntry(QtWidgets.QLineEdit): class FCEntry2(FCEntry): def __init__(self, parent=None): super(FCEntry2, self).__init__(parent) - self.readyToEdit = True - self.editingFinished.connect(self.on_edit_finished) - - def on_edit_finished(self): - self.clearFocus() def set_value(self, val, decimals=4): try: fval = float(val) except ValueError: return - self.setText('%.*f' % (decimals, fval)) class FCEntry3(FCEntry): def __init__(self, parent=None): super(FCEntry3, self).__init__(parent) - self.readyToEdit = True - self.editingFinished.connect(self.on_edit_finished) - - def on_edit_finished(self): - self.clearFocus() def set_value(self, val, decimals=4): try: fval = float(val) except ValueError: return - self.setText('%.*f' % (decimals, fval)) def get_value(self): @@ -432,16 +429,17 @@ class EvalEntry(QtWidgets.QLineEdit): def on_edit_finished(self): self.clearFocus() - def mousePressEvent(self, e, Parent=None): + def mousePressEvent(self, e, parent=None): super(EvalEntry, self).mousePressEvent(e) # required to deselect on 2e click if self.readyToEdit: self.selectAll() self.readyToEdit = False def focusOutEvent(self, e): - super(EvalEntry, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + if e.reason() != QtCore.Qt.PopupFocusReason: + super(EvalEntry, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def returnPressed(self, *args, **kwargs): val = self.get_value() @@ -478,16 +476,17 @@ class EvalEntry2(QtWidgets.QLineEdit): def on_edit_finished(self): self.clearFocus() - def mousePressEvent(self, e, Parent=None): + def mousePressEvent(self, e, parent=None): super(EvalEntry2, self).mousePressEvent(e) # required to deselect on 2e click if self.readyToEdit: self.selectAll() self.readyToEdit = False def focusOutEvent(self, e): - super(EvalEntry2, self).focusOutEvent(e) # required to remove cursor on focusOut - self.deselect() - self.readyToEdit = True + if e.reason() != QtCore.Qt.PopupFocusReason: + super(EvalEntry2, self).focusOutEvent(e) # required to remove cursor on focusOut + self.deselect() + self.readyToEdit = True def get_value(self): raw = str(self.text()).strip(' ') @@ -847,9 +846,9 @@ class FCDetachableTab(QtWidgets.QTabWidget): super().__init__() self.tabBar = self.FCTabBar(self) - self.tabBar.onDetachTabSignal.connect(self.detachTab) self.tabBar.onMoveTabSignal.connect(self.moveTab) self.tabBar.detachedTabDropSignal.connect(self.detachedTabDrop) + self.set_detachable(val=True) self.setTabBar(self.tabBar) @@ -872,6 +871,48 @@ class FCDetachableTab(QtWidgets.QTabWidget): self.setTabsClosable(True) self.tabCloseRequested.connect(self.closeTab) + def set_rmb_callback(self, callback): + """ + + :param callback: Function to call on right mouse click on tab + :type callback: func + :return: None + """ + + self.tabBar.right_click.connect(callback) + + def set_detachable(self, val=True): + try: + self.tabBar.onDetachTabSignal.disconnect() + except TypeError: + pass + + if val is True: + self.tabBar.onDetachTabSignal.connect(self.detachTab) + # the tab can be moved around + self.tabBar.can_be_dragged = True + else: + # the detached tab can't be moved + self.tabBar.can_be_dragged = False + + return val + + def setupContextMenu(self): + self.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) + + def addContextMenu(self, entry, call_function, icon=None, initial_checked=False): + action_name = str(entry) + action = QtWidgets.QAction(self) + action.setCheckable(True) + action.setText(action_name) + if icon: + assert isinstance(icon, QtGui.QIcon), \ + "Expected the argument to be QtGui.QIcon. Instead it is %s" % type(icon) + action.setIcon(icon) + action.setChecked(initial_checked) + self.addAction(action) + action.triggered.connect(call_function) + def useOldIndex(self, param): if param: self.use_old_index = True @@ -1209,6 +1250,8 @@ class FCDetachableTab(QtWidgets.QTabWidget): onMoveTabSignal = pyqtSignal(int, int) detachedTabDropSignal = pyqtSignal(str, int, QtCore.QPoint) + right_click = pyqtSignal(int) + def __init__(self, parent=None): QtWidgets.QTabBar.__init__(self, parent) @@ -1216,11 +1259,16 @@ class FCDetachableTab(QtWidgets.QTabWidget): self.setElideMode(QtCore.Qt.ElideRight) self.setSelectionBehaviorOnRemove(QtWidgets.QTabBar.SelectLeftTab) + self.prev_index = -1 + self.dragStartPos = QtCore.QPoint() self.dragDropedPos = QtCore.QPoint() self.mouseCursor = QtGui.QCursor() self.dragInitiated = False + # set this to False and the tab will no longer be displayed as detached + self.can_be_dragged = True + def mouseDoubleClickEvent(self, event): """ Send the onDetachTabSignal when a tab is double clicked @@ -1234,21 +1282,37 @@ class FCDetachableTab(QtWidgets.QTabWidget): def mousePressEvent(self, event): """ - Set the starting position for a drag event when the mouse button is pressed + Set the starting position for a drag event when the left mouse button is pressed. + Start detection of a right mouse click. :param event: a mouse press event :return: """ if event.button() == QtCore.Qt.LeftButton: self.dragStartPos = event.pos() + elif event.button() == QtCore.Qt.RightButton: + self.prev_index = self.tabAt(event.pos()) self.dragDropedPos.setX(0) self.dragDropedPos.setY(0) - self.dragInitiated = False QtWidgets.QTabBar.mousePressEvent(self, event) + def mouseReleaseEvent(self, event): + """ + Finish the detection of the right mouse click on the tab + + + :param event: a mouse press event + :return: + """ + if event.button() == QtCore.Qt.RightButton and self.prev_index == self.tabAt(event.pos()): + self.right_click.emit(self.prev_index) + self.prev_index = -1 + + QtWidgets.QTabBar.mouseReleaseEvent(self, event) + def mouseMoveEvent(self, event): """ Determine if the current movement is a drag. If it is, convert it into a QDrag. If the @@ -1264,7 +1328,7 @@ class FCDetachableTab(QtWidgets.QTabWidget): self.dragInitiated = True # If the current movement is a drag initiated by the left button - if (((event.buttons() & QtCore.Qt.LeftButton)) and self.dragInitiated): + if (((event.buttons() & QtCore.Qt.LeftButton)) and self.dragInitiated and self.can_be_dragged): # Stop the move event finishMoveEvent = QtGui.QMouseEvent( @@ -1561,9 +1625,11 @@ class FCSpinner(QtWidgets.QSpinBox): self.readyToEdit = False def focusOutEvent(self, e): - super(FCSpinner, self).focusOutEvent(e) # required to remove cursor on focusOut - self.lineEdit().deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(FCSpinner, self).focusOutEvent(e) # required to remove cursor on focusOut + self.lineEdit().deselect() + self.readyToEdit = True def get_value(self): return str(self.value()) @@ -1600,9 +1666,11 @@ class FCDoubleSpinner(QtWidgets.QDoubleSpinBox): self.readyToEdit = False def focusOutEvent(self, e): - super(FCDoubleSpinner, self).focusOutEvent(e) # required to remove cursor on focusOut - self.lineEdit().deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(FCDoubleSpinner, self).focusOutEvent(e) # required to remove cursor on focusOut + self.lineEdit().deselect() + self.readyToEdit = True def get_value(self): return str(self.value()) @@ -1647,9 +1715,11 @@ class Dialog_box(QtWidgets.QWidget): self.readyToEdit = False def focusOutEvent(self, e): - super(Dialog_box, self).focusOutEvent(e) # required to remove cursor on focusOut - self.lineEdit().deselect() - self.readyToEdit = True + # don't focus out if the user requests an popup menu + if e.reason() != QtCore.Qt.PopupFocusReason: + super(Dialog_box, self).focusOutEvent(e) # required to remove cursor on focusOut + self.lineEdit().deselect() + self.readyToEdit = True class _BrowserTextEdit(QTextEdit): @@ -1811,9 +1881,16 @@ class MyCompleter(QCompleter): QCompleter.__init__(self) self.setCompletionMode(QCompleter.PopupCompletion) self.highlighted.connect(self.setHighlighted) + # self.popup().installEventFilter(self) + + # def eventFilter(self, obj, event): + # if event.type() == QtCore.QEvent.Wheel and obj is self.popup(): + # pass + # return False def setHighlighted(self, text): self.lastSelected = text def getSelected(self): return self.lastSelected + diff --git a/flatcamGUI/ObjectUI.py b/flatcamGUI/ObjectUI.py index 003ae039..dea19c6c 100644 --- a/flatcamGUI/ObjectUI.py +++ b/flatcamGUI/ObjectUI.py @@ -76,7 +76,7 @@ class ObjectUI(QtWidgets.QWidget): # ########################### # ### Scale #### - self.scale_label = QtWidgets.QLabel(_('Scale:')) + self.scale_label = QtWidgets.QLabel('%s:' % _('Scale')) self.scale_label.setToolTip( _("Change the size of the object.") ) @@ -86,7 +86,7 @@ class ObjectUI(QtWidgets.QWidget): layout.addLayout(self.scale_grid) # Factor - faclabel = QtWidgets.QLabel(_('Factor:')) + faclabel = QtWidgets.QLabel('%s:' % _('Factor')) faclabel.setToolTip( _("Factor by which to multiply\n" "geometric features of this object.") @@ -105,7 +105,7 @@ class ObjectUI(QtWidgets.QWidget): self.scale_grid.addWidget(self.scale_button, 0, 2) # ### Offset #### - self.offset_label = QtWidgets.QLabel(_('Offset:')) + self.offset_label = QtWidgets.QLabel('%s:' % _('Offset')) self.offset_label.setToolTip( _("Change the position of this object.") ) @@ -114,7 +114,7 @@ class ObjectUI(QtWidgets.QWidget): self.offset_grid = QtWidgets.QGridLayout() layout.addLayout(self.offset_grid) - self.offset_vectorlabel = QtWidgets.QLabel(_('Vector:')) + self.offset_vectorlabel = QtWidgets.QLabel('%s:' % _('Vector')) self.offset_vectorlabel.setToolTip( _("Amount by which to move the object\n" "in the x and y axes in (x, y) format.") @@ -147,7 +147,7 @@ class GerberObjectUI(ObjectUI): grid0.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.custom_box.addLayout(grid0) - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.plot_options_label.setMinimumWidth(90) grid0.addWidget(self.plot_options_label, 0, 0) @@ -179,7 +179,7 @@ class GerberObjectUI(ObjectUI): # ## Object name self.name_hlay = QtWidgets.QHBoxLayout() self.custom_box.addLayout(self.name_hlay) - name_label = QtWidgets.QLabel(_("Name:")) + name_label = QtWidgets.QLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -189,7 +189,7 @@ class GerberObjectUI(ObjectUI): self.custom_box.addLayout(hlay_plot) # ### Gerber Apertures #### - self.apertures_table_label = QtWidgets.QLabel(_('Apertures:')) + self.apertures_table_label = QtWidgets.QLabel('%s:' % _('Apertures')) self.apertures_table_label.setToolTip( _("Apertures Table for the Gerber Object.") ) @@ -247,7 +247,7 @@ class GerberObjectUI(ObjectUI): self.apertures_table.setVisible(False) # Isolation Routing - self.isolation_routing_label = QtWidgets.QLabel(_("Isolation Routing:")) + self.isolation_routing_label = QtWidgets.QLabel("%s:" % _("Isolation Routing")) self.isolation_routing_label.setToolTip( _("Create a Geometry object with\n" "toolpaths to cut outside polygons.") @@ -256,7 +256,7 @@ class GerberObjectUI(ObjectUI): grid1 = QtWidgets.QGridLayout() self.custom_box.addLayout(grid1) - tdlabel = QtWidgets.QLabel(_('Tool dia:')) + tdlabel = QtWidgets.QLabel('%s:' % _('Tool dia')) tdlabel.setToolTip( _("Diameter of the cutting tool.\n" "If you want to have an isolation path\n" @@ -269,7 +269,7 @@ class GerberObjectUI(ObjectUI): self.iso_tool_dia_entry = LengthEntry() grid1.addWidget(self.iso_tool_dia_entry, 0, 1) - passlabel = QtWidgets.QLabel(_('Passes:')) + passlabel = QtWidgets.QLabel('%s:' % _('# Passes')) passlabel.setToolTip( _("Width of the isolation gap in\n" "number (integer) of tool widths.") @@ -280,7 +280,7 @@ class GerberObjectUI(ObjectUI): self.iso_width_entry.setRange(1, 999) grid1.addWidget(self.iso_width_entry, 1, 1) - overlabel = QtWidgets.QLabel(_('Pass overlap:')) + overlabel = QtWidgets.QLabel('%s:' % _('Pass overlap')) overlabel.setToolTip( _("How much (fraction) of the tool width to overlap each tool pass.\n" "Example:\n" @@ -292,7 +292,7 @@ class GerberObjectUI(ObjectUI): grid1.addWidget(self.iso_overlap_entry, 2, 1) # Milling Type Radio Button - self.milling_type_label = QtWidgets.QLabel(_('Milling Type:')) + self.milling_type_label = QtWidgets.QLabel('%s:' % _('Milling Type')) self.milling_type_label.setToolTip( _("Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -304,7 +304,7 @@ class GerberObjectUI(ObjectUI): grid1.addWidget(self.milling_type_radio, 3, 1) # combine all passes CB - self.combine_passes_cb = FCCheckBox(label=_('Combine')) + self.combine_passes_cb = FCCheckBox(label=_('Combine Passes')) self.combine_passes_cb.setToolTip( _("Combine all passes into one object") ) @@ -320,7 +320,7 @@ class GerberObjectUI(ObjectUI): ) grid1.addWidget(self.follow_cb, 4, 1) - self.gen_iso_label = QtWidgets.QLabel(_("Generate Isolation Geometry:")) + self.gen_iso_label = QtWidgets.QLabel("%s:" % _("Generate Isolation Geometry")) self.gen_iso_label.setToolTip( _("Create a Geometry object with toolpaths to cut \n" "isolation outside, inside or on both sides of the\n" @@ -379,7 +379,7 @@ class GerberObjectUI(ObjectUI): self.custom_box.addLayout(grid2) # ## Clear non-copper regions - self.clearcopper_label = QtWidgets.QLabel(_("Clear N-copper:")) + self.clearcopper_label = QtWidgets.QLabel("%s:" % _("Clear N-copper")) self.clearcopper_label.setToolTip( _("Create a Geometry object with\n" "toolpaths to cut all non-copper regions.") @@ -395,7 +395,7 @@ class GerberObjectUI(ObjectUI): grid2.addWidget(self.generate_ncc_button, 0, 1) # ## Board cutout - self.board_cutout_label = QtWidgets.QLabel(_("Board cutout:")) + self.board_cutout_label = QtWidgets.QLabel("%s:" % _("Board cutout")) self.board_cutout_label.setToolTip( _("Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -411,7 +411,7 @@ class GerberObjectUI(ObjectUI): grid2.addWidget(self.generate_cutout_button, 1, 1) # ## Non-copper regions - self.noncopper_label = QtWidgets.QLabel(_("Non-copper regions:")) + self.noncopper_label = QtWidgets.QLabel("%s:" % _("Non-copper regions")) self.noncopper_label.setToolTip( _("Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -425,7 +425,7 @@ class GerberObjectUI(ObjectUI): self.custom_box.addLayout(grid4) # Margin - bmlabel = QtWidgets.QLabel(_('Boundary Margin:')) + bmlabel = QtWidgets.QLabel('%s:' % _('Boundary Margin')) bmlabel.setToolTip( _("Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -449,7 +449,7 @@ class GerberObjectUI(ObjectUI): grid4.addWidget(self.generate_noncopper_button, 1, 1) # ## Bounding box - self.boundingbox_label = QtWidgets.QLabel(_('Bounding Box:')) + self.boundingbox_label = QtWidgets.QLabel('%s:' % _('Bounding Box')) self.boundingbox_label.setToolTip( _("Create a geometry surrounding the Gerber object.\n" "Square shape.") @@ -459,7 +459,7 @@ class GerberObjectUI(ObjectUI): grid5 = QtWidgets.QGridLayout() self.custom_box.addLayout(grid5) - bbmargin = QtWidgets.QLabel(_('Boundary Margin:')) + bbmargin = QtWidgets.QLabel('%s:' % _('Boundary Margin')) bbmargin.setToolTip( _("Distance of the edges of the box\n" "to the nearest polygon.") @@ -500,7 +500,7 @@ class ExcellonObjectUI(ObjectUI): hlay_plot = QtWidgets.QHBoxLayout() self.custom_box.addLayout(hlay_plot) - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.solid_cb = FCCheckBox(label=_('Solid')) self.solid_cb.setToolTip( _("Solid circles.") @@ -512,7 +512,7 @@ class ExcellonObjectUI(ObjectUI): # ## Object name self.name_hlay = QtWidgets.QHBoxLayout() self.custom_box.addLayout(self.name_hlay) - name_label = QtWidgets.QLabel(_("Name:")) + name_label = QtWidgets.QLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -531,7 +531,7 @@ class ExcellonObjectUI(ObjectUI): self.tools_box.addLayout(hlay_plot) # ### Tools Drills #### - self.tools_table_label = QtWidgets.QLabel(_('Tools Table')) + self.tools_table_label = QtWidgets.QLabel('%s:' % _('Tools Table')) self.tools_table_label.setToolTip( _("Tools in this Excellon object\n" "when are used for drilling.") @@ -539,7 +539,7 @@ class ExcellonObjectUI(ObjectUI): hlay_plot.addWidget(self.tools_table_label) # Plot CB - self.plot_cb = FCCheckBox(_('Plot Object')) + self.plot_cb = FCCheckBox(_('Plot')) self.plot_cb.setToolTip( _("Plot (show) this object.") ) @@ -579,7 +579,7 @@ class ExcellonObjectUI(ObjectUI): self.tools_box.addWidget(self.empty_label) # ### Create CNC Job #### - self.cncjob_label = QtWidgets.QLabel(_('Create CNC Job')) + self.cncjob_label = QtWidgets.QLabel('%s' % _('Create CNC Job')) self.cncjob_label.setToolTip( _("Create a CNC Job object\n" "for this drill object.") @@ -590,7 +590,7 @@ class ExcellonObjectUI(ObjectUI): self.tools_box.addLayout(grid1) # Cut Z - cutzlabel = QtWidgets.QLabel(_('Cut Z:')) + cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) cutzlabel.setToolTip( _("Drill depth (negative)\n" "below the copper surface.") @@ -600,7 +600,7 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.cutz_entry, 0, 1) # Travel Z (z_move) - travelzlabel = QtWidgets.QLabel(_('Travel Z:')) + travelzlabel = QtWidgets.QLabel('%s:' % _('Travel Z')) travelzlabel.setToolTip( _("Tool height when travelling\n" "across the XY plane.") @@ -610,7 +610,7 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.travelz_entry, 1, 1) # Tool change: - self.toolchange_cb = FCCheckBox(_("Tool change")) + self.toolchange_cb = FCCheckBox('%s:' % _("Tool change")) self.toolchange_cb.setToolTip( _("Include tool-change sequence\n" "in G-Code (Pause for tool change).") @@ -618,7 +618,7 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.toolchange_cb, 2, 0) # Tool change Z: - toolchzlabel = QtWidgets.QLabel(_("Tool change Z:")) + toolchzlabel = QtWidgets.QLabel('%s:' % _("Tool change Z")) toolchzlabel.setToolTip( _("Z-axis position (height) for\n" "tool change.") @@ -629,9 +629,9 @@ class ExcellonObjectUI(ObjectUI): self.ois_tcz_e = OptionalInputSection(self.toolchange_cb, [self.toolchangez_entry]) # Start move Z: - self.estartz_label = QtWidgets.QLabel(_("Start move Z:")) + self.estartz_label = QtWidgets.QLabel('%s:' % _("Start move Z")) self.estartz_label.setToolTip( - _("Tool height just before starting the work.\n" + _("Height of the tool just after start.\n" "Delete the value if you don't need this feature.") ) grid1.addWidget(self.estartz_label, 4, 0) @@ -639,17 +639,17 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.estartz_entry, 4, 1) # End move Z: - self.eendz_label = QtWidgets.QLabel(_("End move Z:")) + self.eendz_label = QtWidgets.QLabel('%s:' % _("End move Z")) self.eendz_label.setToolTip( - _("Z-axis position (height) for\n" - "the last move.") + _("Height of the tool after\n" + "the last move at the end of the job.") ) grid1.addWidget(self.eendz_label, 5, 0) self.eendz_entry = LengthEntry() grid1.addWidget(self.eendz_entry, 5, 1) # Excellon Feedrate - frlabel = QtWidgets.QLabel(_('Feedrate (Plunge):')) + frlabel = QtWidgets.QLabel('%s:' % _('Feedrate (Plunge):')) frlabel.setToolTip( _("Tool speed while drilling\n" "(in units per minute).\n" @@ -660,14 +660,13 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.feedrate_entry, 6, 1) # Excellon Rapid Feedrate - self.feedrate_rapid_label = QtWidgets.QLabel(_('Feedrate Rapids:')) + self.feedrate_rapid_label = QtWidgets.QLabel('%s:' % _('Feedrate Rapids')) self.feedrate_rapid_label.setToolTip( _("Tool speed while drilling\n" "(in units per minute).\n" "This is for the rapid move G00.\n" "It is useful only for Marlin,\n" - "ignore for any other cases." - ) + "ignore for any other cases.") ) grid1.addWidget(self.feedrate_rapid_label, 7, 0) self.feedrate_rapid_entry = LengthEntry() @@ -677,7 +676,7 @@ class ExcellonObjectUI(ObjectUI): self.feedrate_rapid_entry.hide() # Spindlespeed - spdlabel = QtWidgets.QLabel(_('Spindle speed:')) + spdlabel = QtWidgets.QLabel('%s:' % _('Spindle speed')) spdlabel.setToolTip( _("Speed of the spindle\n" "in RPM (optional)") @@ -687,14 +686,14 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.spindlespeed_entry, 8, 1) # Dwell - self.dwell_cb = FCCheckBox(_('Dwell:')) + self.dwell_cb = FCCheckBox('%s:' % _('Dwell')) self.dwell_cb.setToolTip( _("Pause to allow the spindle to reach its\n" "speed before cutting.") ) self.dwelltime_entry = FCEntry() self.dwelltime_entry.setToolTip( - _("Number of milliseconds for spindle to dwell.") + _("Number of time units for spindle to dwell.") ) grid1.addWidget(self.dwell_cb, 9, 0) grid1.addWidget(self.dwelltime_entry, 9, 1) @@ -702,10 +701,10 @@ class ExcellonObjectUI(ObjectUI): self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry]) # postprocessor selection - pp_excellon_label = QtWidgets.QLabel(_("Postprocessor:")) + pp_excellon_label = QtWidgets.QLabel('%s:' % _("Postprocessor")) pp_excellon_label.setToolTip( - _("The json file that dictates\n" - "gcode output.") + _("The postprocessor JSON file that dictates\n" + "Gcode output.") ) self.pp_excellon_name_cb = FCComboBox() self.pp_excellon_name_cb.setFocusPolicy(QtCore.Qt.StrongFocus) @@ -713,7 +712,7 @@ class ExcellonObjectUI(ObjectUI): grid1.addWidget(self.pp_excellon_name_cb, 10, 1) # Probe depth - self.pdepth_label = QtWidgets.QLabel(_("Probe Z depth:")) + self.pdepth_label = QtWidgets.QLabel('%s:' % _("Probe Z depth")) self.pdepth_label.setToolTip( _("The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units.") @@ -725,7 +724,7 @@ class ExcellonObjectUI(ObjectUI): self.pdepth_entry.setVisible(False) # Probe feedrate - self.feedrate_probe_label = QtWidgets.QLabel(_("Feedrate Probe:")) + self.feedrate_probe_label = QtWidgets.QLabel('%s:' % _("Feedrate Probe")) self.feedrate_probe_label.setToolTip( _("The feedrate used while the probe is probing.") ) @@ -743,7 +742,7 @@ class ExcellonObjectUI(ObjectUI): # ### Choose what to use for Gcode creation: Drills, Slots or Both gcode_box = QtWidgets.QFormLayout() - gcode_type_label = QtWidgets.QLabel(_('Type: ')) + gcode_type_label = QtWidgets.QLabel('%s' % _('Gcode')) gcode_type_label.setToolTip( _("Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -767,7 +766,7 @@ class ExcellonObjectUI(ObjectUI): self.tools_box.addWidget(self.generate_cnc_button) # ### Milling Holes Drills #### - self.mill_hole_label = QtWidgets.QLabel(_('Mill Holes')) + self.mill_hole_label = QtWidgets.QLabel('%s' % _('Mill Holes')) self.mill_hole_label.setToolTip( _("Create Geometry for milling holes.") ) @@ -781,7 +780,7 @@ class ExcellonObjectUI(ObjectUI): grid2 = QtWidgets.QGridLayout() self.tools_box.addLayout(grid2) - self.tdlabel = QtWidgets.QLabel(_('Drills Tool dia:')) + self.tdlabel = QtWidgets.QLabel('%s:' % _('Drill Tool dia')) self.tdlabel.setToolTip( _("Diameter of the cutting tool.") ) @@ -797,9 +796,10 @@ class ExcellonObjectUI(ObjectUI): grid3 = QtWidgets.QGridLayout() self.custom_box.addLayout(grid3) - self.stdlabel = QtWidgets.QLabel(_('Slots Tool dia:')) + self.stdlabel = QtWidgets.QLabel('%s:' % _('Slot Tool dia')) self.stdlabel.setToolTip( - _("Diameter of the cutting tool.") + _("Diameter of the cutting tool\n" + "when milling slots.") ) grid3.addWidget(self.stdlabel, 0, 0) self.slot_tooldia_entry = LengthEntry() @@ -828,13 +828,13 @@ class GeometryObjectUI(ObjectUI): icon_file='share/geometry32.png', parent=parent) # Plot options - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.custom_box.addWidget(self.plot_options_label) # ## Object name self.name_hlay = QtWidgets.QHBoxLayout() self.custom_box.addLayout(self.name_hlay) - name_label = QtWidgets.QLabel(_("Name:")) + name_label = QtWidgets.QLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) @@ -853,7 +853,7 @@ class GeometryObjectUI(ObjectUI): self.geo_tools_box.addLayout(hlay_plot) # ### Tools #### - self.tools_table_label = QtWidgets.QLabel(_('Tools Table')) + self.tools_table_label = QtWidgets.QLabel('%s:' % _('Tools Table')) self.tools_table_label.setToolTip( _("Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -945,7 +945,7 @@ class GeometryObjectUI(ObjectUI): self.grid1 = QtWidgets.QGridLayout() self.geo_tools_box.addLayout(self.grid1) - self.tool_offset_lbl = QtWidgets.QLabel(_('Tool Offset:')) + self.tool_offset_lbl = QtWidgets.QLabel('%s:' % _('Tool Offset')) self.tool_offset_lbl.setToolTip( _( "The value to offset the cut when \n" @@ -971,7 +971,7 @@ class GeometryObjectUI(ObjectUI): # self.addtool_label.setToolTip( # "Add/Copy/Delete a tool to the tool list." # ) - self.addtool_entry_lbl = QtWidgets.QLabel(_('Tool Dia:')) + self.addtool_entry_lbl = QtWidgets.QLabel('%s:' % _('Tool Dia')) self.addtool_entry_lbl.setToolTip( _( "Diameter for the new tool" @@ -1022,7 +1022,7 @@ class GeometryObjectUI(ObjectUI): # Create CNC Job ### # ################## # ### Tools Data ## ## - self.tool_data_label = QtWidgets.QLabel(_('Tool Data')) + self.tool_data_label = QtWidgets.QLabel('%s' % _('Tool Data')) self.tool_data_label.setToolTip( _( "The data used for creating GCode.\n" @@ -1043,7 +1043,7 @@ class GeometryObjectUI(ObjectUI): self.geo_param_box.addLayout(self.grid3) # Tip Dia - self.tipdialabel = QtWidgets.QLabel(_('V-Tip Dia:')) + self.tipdialabel = QtWidgets.QLabel('%s:' % _('V-Tip Dia')) self.tipdialabel.setToolTip( _( "The tip diameter for V-Shape Tool" @@ -1054,7 +1054,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.tipdia_entry, 1, 1) # Tip Angle - self.tipanglelabel = QtWidgets.QLabel(_('V-Tip Angle:')) + self.tipanglelabel = QtWidgets.QLabel('%s:' % _('V-Tip Angle')) self.tipanglelabel.setToolTip( _( "The tip angle for V-Shape Tool.\n" @@ -1066,7 +1066,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.tipangle_entry, 2, 1) # Cut Z - cutzlabel = QtWidgets.QLabel(_('Cut Z:')) + cutzlabel = QtWidgets.QLabel('%s:' % _('Cut Z')) cutzlabel.setToolTip( _( "Cutting depth (negative)\n" @@ -1078,15 +1078,13 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.cutz_entry, 3, 1) # Multi-pass - self.mpass_cb = FCCheckBox(_("Multi-Depth:")) + self.mpass_cb = FCCheckBox('%s:' % _("Multi-Depth")) self.mpass_cb.setToolTip( _( "Use multiple passes to limit\n" "the cut depth in each pass. Will\n" "cut multiple times until Cut Z is\n" - "reached.\n" - "To the right, input the depth of \n" - "each pass (positive value)." + "reached." ) ) self.grid3.addWidget(self.mpass_cb, 4, 0) @@ -1102,12 +1100,10 @@ class GeometryObjectUI(ObjectUI): self.ois_mpass_geo = OptionalInputSection(self.mpass_cb, [self.maxdepth_entry]) # Travel Z - travelzlabel = QtWidgets.QLabel(_('Travel Z:')) + travelzlabel = QtWidgets.QLabel('%s:' % _('Travel Z')) travelzlabel.setToolTip( - _( - "Height of the tool when\n" - "moving without cutting." - ) + _("Height of the tool when\n" + "moving without cutting.") ) self.grid3.addWidget(travelzlabel, 5, 0) self.travelz_entry = FloatEntry() @@ -1115,14 +1111,14 @@ class GeometryObjectUI(ObjectUI): # Tool change: - self.toolchzlabel = QtWidgets.QLabel(_("Tool change Z:")) + self.toolchzlabel = QtWidgets.QLabel('%s:' %_("Tool change Z")) self.toolchzlabel.setToolTip( _( "Z-axis position (height) for\n" "tool change." ) ) - self.toolchangeg_cb = FCCheckBox(_("Tool change")) + self.toolchangeg_cb = FCCheckBox('%s:' % _("Tool change")) self.toolchangeg_cb.setToolTip( _( "Include tool-change sequence\n" @@ -1148,52 +1144,44 @@ class GeometryObjectUI(ObjectUI): # self.grid3.addWidget(self.gstartz_entry, 8, 1) # The Z value for the end move - self.endzlabel = QtWidgets.QLabel(_('End move Z:')) + self.endzlabel = QtWidgets.QLabel('%s:' % _('End move Z')) self.endzlabel.setToolTip( - _( - "This is the height (Z) at which the CNC\n" - "will go as the last move." - ) + _("Height of the tool after\n" + "the last move at the end of the job.") ) self.grid3.addWidget(self.endzlabel, 9, 0) self.gendz_entry = FloatEntry() self.grid3.addWidget(self.gendz_entry, 9, 1) # Feedrate X-Y - frlabel = QtWidgets.QLabel(_('Feed Rate X-Y:')) + frlabel = QtWidgets.QLabel('%s:' % _('Feed Rate X-Y')) frlabel.setToolTip( - _( - "Cutting speed in the XY\n" - "plane in units per minute" - ) + _("Cutting speed in the XY\n" + "plane in units per minute") ) self.grid3.addWidget(frlabel, 10, 0) self.cncfeedrate_entry = FloatEntry() self.grid3.addWidget(self.cncfeedrate_entry, 10, 1) # Feedrate Z (Plunge) - frzlabel = QtWidgets.QLabel(_('Feed Rate Z (Plunge):')) + frzlabel = QtWidgets.QLabel('%s:' % _('Feed Rate Z')) frzlabel.setToolTip( - _( - "Cutting speed in the Z\n" - "plane in units per minute" - ) + _("Cutting speed in the XY\n" + "plane in units per minute.\n" + "It is called also Plunge.") ) self.grid3.addWidget(frzlabel, 11, 0) self.cncplunge_entry = FloatEntry() self.grid3.addWidget(self.cncplunge_entry, 11, 1) # Feedrate rapids - self.fr_rapidlabel = QtWidgets.QLabel(_('Feed Rate Rapids:')) + self.fr_rapidlabel = QtWidgets.QLabel('%s:' % _('Feed Rate Rapids')) self.fr_rapidlabel.setToolTip( - _( - "Cutting speed in the XY\n" - "plane in units per minute\n" + _("Cutting speed in the XY plane\n" "(in units per minute).\n" "This is for the rapid move G00.\n" "It is useful only for Marlin,\n" - "ignore for any other cases." - ) + "ignore for any other cases.") ) self.grid3.addWidget(self.fr_rapidlabel, 12, 0) self.cncfeedrate_rapid_entry = FloatEntry() @@ -1203,19 +1191,17 @@ class GeometryObjectUI(ObjectUI): self.cncfeedrate_rapid_entry.hide() # Cut over 1st point in path - self.extracut_cb = FCCheckBox(_('Cut over 1st pt')) + self.extracut_cb = FCCheckBox('%s' % _('Re-cut 1st pt.')) self.extracut_cb.setToolTip( - _( - "In order to remove possible\n" - "copper leftovers where first cut\n" - "meet with last cut, we generate an\n" - "extended cut over the first cut section." - ) + _("In order to remove possible\n" + "copper leftovers where first cut\n" + "meet with last cut, we generate an\n" + "extended cut over the first cut section.") ) self.grid3.addWidget(self.extracut_cb, 13, 0) # Spindlespeed - spdlabel = QtWidgets.QLabel(_('Spindle speed:')) + spdlabel = QtWidgets.QLabel('%s:' % _('Spindle speed')) spdlabel.setToolTip( _( "Speed of the spindle in RPM (optional).\n" @@ -1228,7 +1214,7 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.cncspindlespeed_entry, 14, 1) # Dwell - self.dwell_cb = FCCheckBox(_('Dwell:')) + self.dwell_cb = FCCheckBox('%s:' % _('Dwell')) self.dwell_cb.setToolTip( _( "Pause to allow the spindle to reach its\n" @@ -1237,9 +1223,7 @@ class GeometryObjectUI(ObjectUI): ) self.dwelltime_entry = FloatEntry() self.dwelltime_entry.setToolTip( - _( - "Number of milliseconds for spindle to dwell." - ) + _("Number of time units for spindle to dwell.") ) self.grid3.addWidget(self.dwell_cb, 15, 0) self.grid3.addWidget(self.dwelltime_entry, 15, 1) @@ -1247,12 +1231,10 @@ class GeometryObjectUI(ObjectUI): self.ois_dwell_geo = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry]) # postprocessor selection - pp_label = QtWidgets.QLabel(_("PostProcessor:")) + pp_label = QtWidgets.QLabel('%s:' % _("PostProcessor")) pp_label.setToolTip( - _( - "The Postprocessor file that dictates\n" - "the Machine Code (like GCode, RML, HPGL) output." - ) + _("The Postprocessor file that dictates\n" + "the Machine Code (like GCode, RML, HPGL) output.") ) self.grid3.addWidget(pp_label, 16, 0) self.pp_geometry_name_cb = FCComboBox() @@ -1260,12 +1242,10 @@ class GeometryObjectUI(ObjectUI): self.grid3.addWidget(self.pp_geometry_name_cb, 16, 1) # Probe depth - self.pdepth_label = QtWidgets.QLabel(_("Probe Z depth:")) + self.pdepth_label = QtWidgets.QLabel('%s:' % _("Probe Z depth")) self.pdepth_label.setToolTip( - _( - "The maximum depth that the probe is allowed\n" - "to probe. Negative value, in current units." - ) + _("The maximum depth that the probe is allowed\n" + "to probe. Negative value, in current units.") ) self.grid3.addWidget(self.pdepth_label, 17, 0) self.pdepth_entry = FCEntry() @@ -1274,11 +1254,9 @@ class GeometryObjectUI(ObjectUI): self.pdepth_entry.setVisible(False) # Probe feedrate - self.feedrate_probe_label = QtWidgets.QLabel(_("Feedrate Probe:")) + self.feedrate_probe_label = QtWidgets.QLabel('%s:' % _("Feedrate Probe")) self.feedrate_probe_label.setToolTip( - _( - "The feedrate used while the probe is probing." - ) + _("The feedrate used while the probe is probing.") ) self.grid3.addWidget(self.feedrate_probe_label, 18, 0) self.feedrate_probe_entry = FCEntry() @@ -1297,16 +1275,14 @@ class GeometryObjectUI(ObjectUI): # Button self.generate_cnc_button = QtWidgets.QPushButton(_('Generate')) self.generate_cnc_button.setToolTip( - _( - "Generate the CNC Job object." - ) + _("Generate the CNC Job object.") ) self.geo_param_box.addWidget(self.generate_cnc_button) # ############## # Paint area ## # ############## - self.paint_label = QtWidgets.QLabel(_('Paint Area:')) + self.paint_label = QtWidgets.QLabel('%s' % _('Paint Area')) self.paint_label.setToolTip( _( "Creates tool paths to cover the\n" @@ -1320,9 +1296,7 @@ class GeometryObjectUI(ObjectUI): # GO Button self.paint_tool_button = QtWidgets.QPushButton(_('Paint Tool')) self.paint_tool_button.setToolTip( - _( - "Launch Paint Tool in Tools Tab." - ) + _("Launch Paint Tool in Tools Tab.") ) self.geo_tools_box.addWidget(self.paint_tool_button) @@ -1353,10 +1327,10 @@ class CNCObjectUI(ObjectUI): self.offset_button.hide() # ## Plot options - self.plot_options_label = QtWidgets.QLabel(_("Plot Options:")) + self.plot_options_label = QtWidgets.QLabel("%s:" % _("Plot Options")) self.custom_box.addWidget(self.plot_options_label) - self.cncplot_method_label = QtWidgets.QLabel(_("Plot kind:")) + self.cncplot_method_label = QtWidgets.QLabel("%s:" % _("Plot kind")) self.cncplot_method_label.setToolTip( _( "This selects the kind of geometries on the canvas to plot.\n" @@ -1372,12 +1346,11 @@ class CNCObjectUI(ObjectUI): {"label": _("Cut"), "value": "cut"} ], stretch=False) - self.annotation_label = QtWidgets.QLabel(_("Display Annotation:")) + self.annotation_label = QtWidgets.QLabel("%s:" % _("Display Annotation")) self.annotation_label.setToolTip( - _( - "This selects if to display text annotation on the plot.\n" - "When checked it will display numbers in order for each end\n" - "of a travel line." + _("This selects if to display text annotation on the plot.\n" + "When checked it will display numbers in order for each end\n" + "of a travel line." ) ) self.annotation_cb = FCCheckBox() @@ -1385,13 +1358,13 @@ class CNCObjectUI(ObjectUI): # ## Object name self.name_hlay = QtWidgets.QHBoxLayout() self.custom_box.addLayout(self.name_hlay) - name_label = QtWidgets.QLabel(_("Name:")) + name_label = QtWidgets.QLabel("%s:" % _("Name")) self.name_entry = FCEntry() self.name_entry.setFocusPolicy(QtCore.Qt.StrongFocus) self.name_hlay.addWidget(name_label) self.name_hlay.addWidget(self.name_entry) - self.t_distance_label = QtWidgets.QLabel(_("Travelled dist.:")) + self.t_distance_label = QtWidgets.QLabel("%s:" % _("Travelled dist.")) self.t_distance_label.setToolTip( _("This is the total travelled distance on X-Y plane.\n" "In current units.") @@ -1403,7 +1376,7 @@ class CNCObjectUI(ObjectUI): ) self.units_label = QtWidgets.QLabel() - self.t_time_label = QtWidgets.QLabel(_("Estimated time:")) + self.t_time_label = QtWidgets.QLabel("%s:" % _("Estimated time")) self.t_time_label.setToolTip( _("This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events.") @@ -1445,7 +1418,7 @@ class CNCObjectUI(ObjectUI): self.custom_box.addLayout(hlay) # CNC Tools Table for plot - self.cnc_tools_table_label = QtWidgets.QLabel(_('CNC Tools Table')) + self.cnc_tools_table_label = QtWidgets.QLabel('%s' % _('CNC Tools Table')) self.cnc_tools_table_label.setToolTip( _( "Tools in this CNCJob object used for cutting.\n" @@ -1465,9 +1438,7 @@ class CNCObjectUI(ObjectUI): # self.plot_cb = QtWidgets.QCheckBox('Plot') self.plot_cb = FCCheckBox(_('Plot Object')) self.plot_cb.setToolTip( - _( - "Plot (show) this object." - ) + _("Plot (show) this object.") ) self.plot_cb.setLayoutDirection(QtCore.Qt.RightToLeft) hlay.addStretch() @@ -1497,20 +1468,18 @@ class CNCObjectUI(ObjectUI): # #################### # ## Export G-Code ## # #################### - self.export_gcode_label = QtWidgets.QLabel(_("Export CNC Code:")) + self.export_gcode_label = QtWidgets.QLabel("%s:" % _("Export CNC Code")) self.export_gcode_label.setToolTip( _("Export and save G-Code to\n" - "make this object to a file.") + "make this object to a file.") ) self.custom_box.addWidget(self.export_gcode_label) # Prepend text to GCode - prependlabel = QtWidgets.QLabel(_('Prepend to CNC Code:')) + prependlabel = QtWidgets.QLabel('%s:' % _('Prepend to CNC Code')) prependlabel.setToolTip( - _( - "Type here any G-Code commands you would\n" - "like to add to the beginning of the generated file." - ) + _("Type here any G-Code commands you would\n" + "like to add at the beginning of the G-Code file.") ) self.custom_box.addWidget(prependlabel) @@ -1518,13 +1487,11 @@ class CNCObjectUI(ObjectUI): self.custom_box.addWidget(self.prepend_text) # Append text to GCode - appendlabel = QtWidgets.QLabel(_('Append to CNC Code:')) + appendlabel = QtWidgets.QLabel('%s:' % _('Append to CNC Code')) appendlabel.setToolTip( - _( - "Type here any G-Code commands you would\n" - "like to append to the generated file.\n" - "I.e.: M2 (End of program)" - ) + _("Type here any G-Code commands you would\n" + "like to append to the generated file.\n" + "I.e.: M2 (End of program)") ) self.custom_box.addWidget(appendlabel) @@ -1539,7 +1506,7 @@ class CNCObjectUI(ObjectUI): self.cnc_frame.setLayout(self.cnc_box) # Toolchange Custom G-Code - self.toolchangelabel = QtWidgets.QLabel(_('Toolchange G-Code:')) + self.toolchangelabel = QtWidgets.QLabel('%s:' % _('Toolchange G-Code')) self.toolchangelabel.setToolTip( _( "Type here any G-Code commands you would\n" @@ -1561,12 +1528,10 @@ class CNCObjectUI(ObjectUI): self.cnc_box.addLayout(cnclay) # Toolchange Replacement Enable - self.toolchange_cb = FCCheckBox(label=_('Use Toolchange Macro')) + self.toolchange_cb = FCCheckBox(label='%s' % _('Use Toolchange Macro')) self.toolchange_cb.setToolTip( - _( - "Check this box if you want to use\n" - "a Custom Toolchange GCode (macro)." - ) + _("Check this box if you want to use\n" + "a Custom Toolchange GCode (macro).") ) # Variable list @@ -1612,19 +1577,15 @@ class CNCObjectUI(ObjectUI): # Edit GCode Button self.modify_gcode_button = QtWidgets.QPushButton(_('View CNC Code')) self.modify_gcode_button.setToolTip( - _( - "Opens TAB to view/modify/print G-Code\n" - "file." - ) + _("Opens TAB to view/modify/print G-Code\n" + "file.") ) # GO Button self.export_gcode_button = QtWidgets.QPushButton(_('Save CNC Code')) self.export_gcode_button.setToolTip( - _( - "Opens dialog to save G-Code\n" - "file." - ) + _("Opens dialog to save G-Code\n" + "file.") ) h_lay.addWidget(self.modify_gcode_button) diff --git a/flatcamTools/ToolCalculators.py b/flatcamTools/ToolCalculators.py index 5b88df71..b3dae275 100644 --- a/flatcamTools/ToolCalculators.py +++ b/flatcamTools/ToolCalculators.py @@ -89,28 +89,29 @@ class ToolCalculator(FlatCAMTool): form_layout = QtWidgets.QFormLayout() self.layout.addLayout(form_layout) - self.tipDia_label = QtWidgets.QLabel(_("Tip Diameter:")) + self.tipDia_label = QtWidgets.QLabel('%s:' % _("Tip Diameter")) self.tipDia_entry = FCEntry() # self.tipDia_entry.setFixedWidth(70) self.tipDia_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) - self.tipDia_label.setToolTip(_('This is the diameter of the tool tip.\n' - 'The manufacturer specifies it.')) - - self.tipAngle_label = QtWidgets.QLabel(_("Tip Angle:")) + self.tipDia_label.setToolTip( + _("This is the tool tip diameter.\n" + "It is specified by manufacturer.") + ) + self.tipAngle_label = QtWidgets.QLabel('%s:' % _("Tip Angle")) self.tipAngle_entry = FCEntry() # self.tipAngle_entry.setFixedWidth(70) self.tipAngle_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.tipAngle_label.setToolTip(_("This is the angle of the tip of the tool.\n" "It is specified by manufacturer.")) - self.cutDepth_label = QtWidgets.QLabel(_("Cut Z:")) + self.cutDepth_label = QtWidgets.QLabel('%s:' % _("Cut Z")) self.cutDepth_entry = FCEntry() # self.cutDepth_entry.setFixedWidth(70) self.cutDepth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.cutDepth_label.setToolTip(_("This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter.")) - self.effectiveToolDia_label = QtWidgets.QLabel(_("Tool Diameter:")) + self.effectiveToolDia_label = QtWidgets.QLabel('%s:' % _("Tool Diameter")) self.effectiveToolDia_entry = FCEntry() # self.effectiveToolDia_entry.setFixedWidth(70) self.effectiveToolDia_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) @@ -154,26 +155,26 @@ class ToolCalculator(FlatCAMTool): plate_form_layout = QtWidgets.QFormLayout() self.layout.addLayout(plate_form_layout) - self.pcblengthlabel = QtWidgets.QLabel(_("Board Length:")) + self.pcblengthlabel = QtWidgets.QLabel('%s:' % _("Board Length")) self.pcblength_entry = FCEntry() # self.pcblengthlabel.setFixedWidth(70) self.pcblength_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.pcblengthlabel.setToolTip(_('This is the board length. In centimeters.')) - self.pcbwidthlabel = QtWidgets.QLabel(_("Board Width:")) + self.pcbwidthlabel = QtWidgets.QLabel('%s:' % _("Board Width")) self.pcbwidth_entry = FCEntry() # self.pcbwidthlabel.setFixedWidth(70) self.pcbwidth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.pcbwidthlabel.setToolTip(_('This is the board width.In centimeters.')) - self.cdensity_label = QtWidgets.QLabel(_("Current Density:")) + self.cdensity_label = QtWidgets.QLabel('%s:' % _("Current Density")) self.cdensity_entry = FCEntry() # self.cdensity_entry.setFixedWidth(70) self.cdensity_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) self.cdensity_label.setToolTip(_("Current density to pass through the board. \n" "In Amps per Square Feet ASF.")) - self.growth_label = QtWidgets.QLabel(_("Copper Growth:")) + self.growth_label = QtWidgets.QLabel('%s:' % _("Copper Growth")) self.growth_entry = FCEntry() # self.growth_entry.setFixedWidth(70) self.growth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) @@ -182,7 +183,7 @@ class ToolCalculator(FlatCAMTool): # self.growth_entry.setEnabled(False) - self.cvaluelabel = QtWidgets.QLabel(_("Current Value:")) + self.cvaluelabel = QtWidgets.QLabel('%s:' % _("Current Value")) self.cvalue_entry = FCEntry() # self.cvaluelabel.setFixedWidth(70) self.cvalue_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) @@ -190,7 +191,7 @@ class ToolCalculator(FlatCAMTool): 'to be set on the Power Supply. In Amps.')) self.cvalue_entry.setDisabled(True) - self.timelabel = QtWidgets.QLabel(_("Time:")) + self.timelabel = QtWidgets.QLabel('%s:' % _("Time")) self.time_entry = FCEntry() # self.timelabel.setFixedWidth(70) self.time_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) @@ -242,7 +243,12 @@ class ToolCalculator(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolCutOut.py b/flatcamTools/ToolCutOut.py index b77ef5d8..29aab7fd 100644 --- a/flatcamTools/ToolCutOut.py +++ b/flatcamTools/ToolCutOut.py @@ -51,7 +51,7 @@ class CutOut(FlatCAMTool): # self.type_obj_combo.setItemIcon(1, QtGui.QIcon("share/drill16.png")) self.type_obj_combo.setItemIcon(2, QtGui.QIcon("share/geometry16.png")) - self.type_obj_combo_label = QtWidgets.QLabel(_("Obj Type:")) + self.type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Obj Type")) self.type_obj_combo_label.setToolTip( _("Specify the type of object to be cutout.\n" "It can be of type: Gerber or Geometry.\n" @@ -67,14 +67,14 @@ class CutOut(FlatCAMTool): self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.obj_combo.setCurrentIndex(1) - self.object_label = QtWidgets.QLabel(_("Object:")) + self.object_label = QtWidgets.QLabel('%s:' % _("Object")) self.object_label.setToolTip( _("Object to be cutout. ") ) form_layout.addRow(self.object_label, self.obj_combo) # Object kind - self.kindlabel = QtWidgets.QLabel(_('Obj kind:')) + self.kindlabel = QtWidgets.QLabel('%s:' % _('Obj kind')) self.kindlabel.setToolTip( _("Choice of what kind the object we want to cutout is.
" "- Single: contain a single PCB Gerber outline object.
" @@ -89,7 +89,7 @@ class CutOut(FlatCAMTool): # Tool Diameter self.dia = FCEntry() - self.dia_label = QtWidgets.QLabel(_("Tool Dia:")) + self.dia_label = QtWidgets.QLabel('%s:' % _("Tool dia")) self.dia_label.setToolTip( _("Diameter of the tool used to cutout\n" "the PCB shape out of the surrounding material.") @@ -98,7 +98,7 @@ class CutOut(FlatCAMTool): # Margin self.margin = FCEntry() - self.margin_label = QtWidgets.QLabel(_("Margin:")) + self.margin_label = QtWidgets.QLabel('%s:' % _("Margin:")) self.margin_label.setToolTip( _("Margin over bounds. A positive value here\n" "will make the cutout of the PCB further from\n" @@ -108,7 +108,7 @@ class CutOut(FlatCAMTool): # Gapsize self.gapsize = FCEntry() - self.gapsize_label = QtWidgets.QLabel(_("Gap size:")) + self.gapsize_label = QtWidgets.QLabel('%s:' % _("Gap size:")) self.gapsize_label.setToolTip( _("The size of the bridge gaps in the cutout\n" "used to keep the board connected to\n" @@ -127,7 +127,7 @@ class CutOut(FlatCAMTool): # Surrounding convex box shape self.convex_box = FCCheckBox() - self.convex_box_label = QtWidgets.QLabel(_("Convex Sh.:")) + self.convex_box_label = QtWidgets.QLabel('%s:' % _("Convex Sh.")) self.convex_box_label.setToolTip( _("Create a convex shape surrounding the entire PCB.\n" "Used only if the source object type is Gerber.") @@ -146,11 +146,12 @@ class CutOut(FlatCAMTool): self.layout.addLayout(form_layout_2) # Gaps - gaps_label = QtWidgets.QLabel(_('Gaps:')) + gaps_label = QtWidgets.QLabel('%s:' % _('Gaps')) gaps_label.setToolTip( _("Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" + "- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -161,7 +162,7 @@ class CutOut(FlatCAMTool): gaps_label.setMinimumWidth(60) self.gaps = FCComboBox() - gaps_items = ['LR', 'TB', '4', '2LR', '2TB', '8'] + gaps_items = ['None', 'LR', 'TB', '4', '2LR', '2TB', '8'] for it in gaps_items: self.gaps.addItem(it) self.gaps.setStyleSheet('background-color: rgb(255,255,255)') @@ -171,7 +172,7 @@ class CutOut(FlatCAMTool): hlay = QtWidgets.QHBoxLayout() self.layout.addLayout(hlay) - title_ff_label = QtWidgets.QLabel("%s" % _('FreeForm:')) + title_ff_label = QtWidgets.QLabel("%s:" % _('FreeForm')) title_ff_label.setToolTip( _("The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape.") @@ -191,7 +192,7 @@ class CutOut(FlatCAMTool): hlay2 = QtWidgets.QHBoxLayout() self.layout.addLayout(hlay2) - title_rct_label = QtWidgets.QLabel("%s" % _('Rectangular:')) + title_rct_label = QtWidgets.QLabel("%s:" % _('Rectangular')) title_rct_label.setToolTip( _("The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -228,7 +229,7 @@ class CutOut(FlatCAMTool): self.man_object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) self.man_object_combo.setCurrentIndex(1) - self.man_object_label = QtWidgets.QLabel(_("Geo Obj:")) + self.man_object_label = QtWidgets.QLabel('%s:' % _("Geo Obj")) self.man_object_label.setToolTip( _("Geometry object used to create the manual cutout.") ) @@ -241,7 +242,7 @@ class CutOut(FlatCAMTool): hlay3 = QtWidgets.QHBoxLayout() self.layout.addLayout(hlay3) - self.man_geo_label = QtWidgets.QLabel(_("Manual Geo:")) + self.man_geo_label = QtWidgets.QLabel('%s:' % _("Manual Geo")) self.man_geo_label.setToolTip( _("If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -263,7 +264,7 @@ class CutOut(FlatCAMTool): hlay4 = QtWidgets.QHBoxLayout() self.layout.addLayout(hlay4) - self.man_bridge_gaps_label = QtWidgets.QLabel(_("Manual Add Bridge Gaps:")) + self.man_bridge_gaps_label = QtWidgets.QLabel('%s:' % _("Manual Add Bridge Gaps")) self.man_bridge_gaps_label.setToolTip( _("Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -292,6 +293,9 @@ class CutOut(FlatCAMTool): self.flat_geometry = [] + # this is the Geometry object generated in this class to be used for adding manual gaps + self.man_cutout_obj = None + # Signals self.ff_cutout_object_btn.clicked.connect(self.on_freeform_cutout) self.rect_cutout_object_btn.clicked.connect(self.on_rectangular_cutout) @@ -315,7 +319,12 @@ class CutOut(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: @@ -410,8 +419,9 @@ class CutOut(FlatCAMTool): self.app.inform.emit(_("[WARNING_NOTCL] Number of gaps value is missing. Add it and retry.")) return - if gaps not in ['LR', 'TB', '2LR', '2TB', '4', '8']: - self.app.inform.emit(_("[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8. " + if gaps not in ['None', 'LR', 'TB', '2LR', '2TB', '4', '8']: + self.app.inform.emit(_("[WARNING_NOTCL] Gaps value can be only one of: " + "'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. " "Fill in a correct value and retry. ")) return @@ -446,44 +456,46 @@ class CutOut(FlatCAMTool): leny = (ymax - ymin) + (margin * 2) proc_geometry = [] + if gaps == 'None': + pass + else: + if gaps == '8' or gaps == '2LR': + geom = self.subtract_poly_from_geo(geom, + xmin - gapsize, # botleft_x + py - gapsize + leny / 4, # botleft_y + xmax + gapsize, # topright_x + py + gapsize + leny / 4) # topright_y + geom = self.subtract_poly_from_geo(geom, + xmin - gapsize, + py - gapsize - leny / 4, + xmax + gapsize, + py + gapsize - leny / 4) - if gaps == '8' or gaps == '2LR': - geom = self.subtract_poly_from_geo(geom, - xmin - gapsize, # botleft_x - py - gapsize + leny / 4, # botleft_y - xmax + gapsize, # topright_x - py + gapsize + leny / 4) # topright_y - geom = self.subtract_poly_from_geo(geom, - xmin - gapsize, - py - gapsize - leny / 4, - xmax + gapsize, - py + gapsize - leny / 4) + if gaps == '8' or gaps == '2TB': + geom = self.subtract_poly_from_geo(geom, + px - gapsize + lenx / 4, + ymin - gapsize, + px + gapsize + lenx / 4, + ymax + gapsize) + geom = self.subtract_poly_from_geo(geom, + px - gapsize - lenx / 4, + ymin - gapsize, + px + gapsize - lenx / 4, + ymax + gapsize) - if gaps == '8' or gaps == '2TB': - geom = self.subtract_poly_from_geo(geom, - px - gapsize + lenx / 4, - ymin - gapsize, - px + gapsize + lenx / 4, - ymax + gapsize) - geom = self.subtract_poly_from_geo(geom, - px - gapsize - lenx / 4, - ymin - gapsize, - px + gapsize - lenx / 4, - ymax + gapsize) + if gaps == '4' or gaps == 'LR': + geom = self.subtract_poly_from_geo(geom, + xmin - gapsize, + py - gapsize, + xmax + gapsize, + py + gapsize) - if gaps == '4' or gaps == 'LR': - geom = self.subtract_poly_from_geo(geom, - xmin - gapsize, - py - gapsize, - xmax + gapsize, - py + gapsize) - - if gaps == '4' or gaps == 'TB': - geom = self.subtract_poly_from_geo(geom, - px - gapsize, - ymin - gapsize, - px + gapsize, - ymax + gapsize) + if gaps == '4' or gaps == 'TB': + geom = self.subtract_poly_from_geo(geom, + px - gapsize, + ymin - gapsize, + px + gapsize, + ymax + gapsize) try: for g in geom: @@ -603,8 +615,9 @@ class CutOut(FlatCAMTool): self.app.inform.emit(_("[WARNING_NOTCL] Number of gaps value is missing. Add it and retry.")) return - if gaps not in ['LR', 'TB', '2LR', '2TB', '4', '8']: - self.app.inform.emit(_("[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8. " + if gaps not in ['None', 'LR', 'TB', '2LR', '2TB', '4', '8']: + self.app.inform.emit(_("[WARNING_NOTCL] Gaps value can be only one of: " + "'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. " "Fill in a correct value and retry. ")) return @@ -630,43 +643,46 @@ class CutOut(FlatCAMTool): lenx = (xmax - xmin) + (margin * 2) leny = (ymax - ymin) + (margin * 2) - if gaps == '8' or gaps == '2LR': - geom = self.subtract_poly_from_geo(geom, - xmin - gapsize, # botleft_x - py - gapsize + leny / 4, # botleft_y - xmax + gapsize, # topright_x - py + gapsize + leny / 4) # topright_y - geom = self.subtract_poly_from_geo(geom, - xmin - gapsize, - py - gapsize - leny / 4, - xmax + gapsize, - py + gapsize - leny / 4) + if gaps == 'None': + pass + else: + if gaps == '8' or gaps == '2LR': + geom = self.subtract_poly_from_geo(geom, + xmin - gapsize, # botleft_x + py - gapsize + leny / 4, # botleft_y + xmax + gapsize, # topright_x + py + gapsize + leny / 4) # topright_y + geom = self.subtract_poly_from_geo(geom, + xmin - gapsize, + py - gapsize - leny / 4, + xmax + gapsize, + py + gapsize - leny / 4) - if gaps == '8' or gaps == '2TB': - geom = self.subtract_poly_from_geo(geom, - px - gapsize + lenx / 4, - ymin - gapsize, - px + gapsize + lenx / 4, - ymax + gapsize) - geom = self.subtract_poly_from_geo(geom, - px - gapsize - lenx / 4, - ymin - gapsize, - px + gapsize - lenx / 4, - ymax + gapsize) + if gaps == '8' or gaps == '2TB': + geom = self.subtract_poly_from_geo(geom, + px - gapsize + lenx / 4, + ymin - gapsize, + px + gapsize + lenx / 4, + ymax + gapsize) + geom = self.subtract_poly_from_geo(geom, + px - gapsize - lenx / 4, + ymin - gapsize, + px + gapsize - lenx / 4, + ymax + gapsize) - if gaps == '4' or gaps == 'LR': - geom = self.subtract_poly_from_geo(geom, - xmin - gapsize, - py - gapsize, - xmax + gapsize, - py + gapsize) + if gaps == '4' or gaps == 'LR': + geom = self.subtract_poly_from_geo(geom, + xmin - gapsize, + py - gapsize, + xmax + gapsize, + py + gapsize) - if gaps == '4' or gaps == 'TB': - geom = self.subtract_poly_from_geo(geom, - px - gapsize, - ymin - gapsize, - px + gapsize, - ymax + gapsize) + if gaps == '4' or gaps == 'TB': + geom = self.subtract_poly_from_geo(geom, + px - gapsize, + ymin - gapsize, + px + gapsize, + ymax + gapsize) try: for g in geom: proc_geometry.append(g) @@ -743,6 +759,15 @@ class CutOut(FlatCAMTool): "Add it and retry.")) return + name = self.man_object_combo.currentText() + # Get Geometry source object to be used as target for Manual adding Gaps + try: + self.man_cutout_obj = self.app.collection.get_by_name(str(name)) + except Exception as e: + log.debug("CutOut.on_manual_cutout() --> %s" % str(e)) + self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve Geometry object: %s") % name) + return "Could not retrieve object: %s" % name + self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent) self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot) @@ -770,29 +795,43 @@ class CutOut(FlatCAMTool): self.app.geo_editor.tool_shape.clear(update=True) self.app.geo_editor.tool_shape.enabled = False self.gapFinished.emit() + # if RMB then we exit + elif event.button == 2: + self.app.plotcanvas.vis_disconnect('key_press', self.on_key_press) + self.app.plotcanvas.vis_disconnect('mouse_move', self.on_mouse_move) + self.app.plotcanvas.vis_disconnect('mouse_release', self.doit) + self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent) + self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) + self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) + self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) + + # Remove any previous utility shape + self.app.geo_editor.tool_shape.clear(update=True) + self.app.geo_editor.tool_shape.enabled = False def on_manual_cutout(self, click_pos): name = self.man_object_combo.currentText() # Get source object. try: - cutout_obj = self.app.collection.get_by_name(str(name)) + self.man_cutout_obj = self.app.collection.get_by_name(str(name)) except Exception as e: log.debug("CutOut.on_manual_cutout() --> %s" % str(e)) self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve Geometry object: %s") % name) return "Could not retrieve object: %s" % name - if cutout_obj is None: - self.app.inform.emit(_("[ERROR_NOTCL] Geometry object for manual cutout not found: %s") % cutout_obj) + if self.man_cutout_obj is None: + self.app.inform.emit( + _("[ERROR_NOTCL] Geometry object for manual cutout not found: %s") % self.man_cutout_obj) return # use the snapped position as reference snapped_pos = self.app.geo_editor.snap(click_pos[0], click_pos[1]) cut_poly = self.cutting_geo(pos=(snapped_pos[0], snapped_pos[1])) - cutout_obj.subtract_polygon(cut_poly) + self.man_cutout_obj.subtract_polygon(cut_poly) - cutout_obj.plot() + self.man_cutout_obj.plot() self.app.inform.emit(_("[success] Added manual Bridge Gap.")) self.app.should_we_save = True @@ -864,9 +903,17 @@ class CutOut(FlatCAMTool): geo = geo_union.convex_hull geo_obj.solid_geometry = geo.buffer(margin + abs(dia / 2)) elif kind == 'single': - x0, y0, x1, y1 = geo_union.bounds - geo = box(x0, y0, x1, y1) - geo_obj.solid_geometry = geo.buffer(margin + abs(dia / 2)) + if isinstance(geo_union, Polygon) or \ + (isinstance(geo_union, list) and len(geo_union) == 1) or \ + (isinstance(geo_union, MultiPolygon) and len(geo_union) == 1): + geo_obj.solid_geometry = geo_union.buffer(margin + abs(dia / 2)).exterior + elif isinstance(geo_union, MultiPolygon): + x0, y0, x1, y1 = geo_union.bounds + geo = box(x0, y0, x1, y1) + geo_obj.solid_geometry = geo.buffer(margin + abs(dia / 2)) + else: + self.app.inform.emit(_("[ERROR_NOTCL] Geometry not supported for cutout: %s") % type(geo_union)) + return 'fail' else: geo = geo_union geo = geo.buffer(margin + abs(dia / 2)) @@ -911,11 +958,67 @@ class CutOut(FlatCAMTool): snap_x, snap_y = self.app.geo_editor.snap(x, y) - geo = self.cutting_geo(pos=(snap_x, snap_y)) + # ################################################# + # ### This section makes the cutting geo to ####### + # ### rotate if it intersects the target geo ###### + # ################################################# + cut_geo = self.cutting_geo(pos=(snap_x, snap_y)) + man_geo = self.man_cutout_obj.solid_geometry + + def get_angle(geo): + line = cut_geo.intersection(geo) + + try: + pt1_x = line.coords[0][0] + pt1_y = line.coords[0][1] + pt2_x = line.coords[1][0] + pt2_y = line.coords[1][1] + dx = pt1_x - pt2_x + dy = pt1_y - pt2_y + + if dx == 0 or dy == 0: + angle = 0 + else: + radian = math.atan(dx / dy) + angle = radian * 180 / math.pi + except Exception as e: + angle = 0 + return angle + + try: + rot_angle = 0 + for geo_el in man_geo: + if isinstance(geo_el, Polygon): + work_geo = geo_el.exterior + if cut_geo.intersects(work_geo): + rot_angle = get_angle(geo=work_geo) + else: + rot_angle = 0 + else: + rot_angle = 0 + if cut_geo.intersects(geo_el): + rot_angle = get_angle(geo=geo_el) + if rot_angle != 0: + break + except TypeError: + if isinstance(man_geo, Polygon): + work_geo = man_geo.exterior + if cut_geo.intersects(work_geo): + rot_angle = get_angle(geo=work_geo) + else: + rot_angle = 0 + else: + rot_angle = 0 + if cut_geo.intersects(man_geo): + rot_angle = get_angle(geo=man_geo) + + # rotate only if there is an angle to rotate to + if rot_angle != 0: + cut_geo = affinity.rotate(cut_geo, -rot_angle) # Remove any previous utility shape self.app.geo_editor.tool_shape.clear(update=True) - self.draw_utility_geometry(geo=geo) + self.draw_utility_geometry(geo=cut_geo) def draw_utility_geometry(self, geo): self.app.geo_editor.tool_shape.add( diff --git a/flatcamTools/ToolDblSided.py b/flatcamTools/ToolDblSided.py index bd934605..ec3d4716 100644 --- a/flatcamTools/ToolDblSided.py +++ b/flatcamTools/ToolDblSided.py @@ -44,7 +44,7 @@ class DblSidedTool(FlatCAMTool): self.gerber_object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.gerber_object_combo.setCurrentIndex(1) - self.botlay_label = QtWidgets.QLabel(_("GERBER:")) + self.botlay_label = QtWidgets.QLabel("%s:" % _("GERBER")) self.botlay_label.setToolTip( "Gerber to be mirrored." ) @@ -68,7 +68,7 @@ class DblSidedTool(FlatCAMTool): self.exc_object_combo.setRootModelIndex(self.app.collection.index(1, 0, QtCore.QModelIndex())) self.exc_object_combo.setCurrentIndex(1) - self.excobj_label = QtWidgets.QLabel(_("EXCELLON:")) + self.excobj_label = QtWidgets.QLabel("%s:" % _("EXCELLON")) self.excobj_label.setToolTip( _("Excellon Object to be mirrored.") ) @@ -92,7 +92,7 @@ class DblSidedTool(FlatCAMTool): self.geo_object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) self.geo_object_combo.setCurrentIndex(1) - self.geoobj_label = QtWidgets.QLabel(_("GEOMETRY:")) + self.geoobj_label = QtWidgets.QLabel("%s:" % _("GEOMETRY")) self.geoobj_label.setToolTip( _("Geometry Obj to be mirrored.") ) @@ -149,7 +149,7 @@ class DblSidedTool(FlatCAMTool): # ## Point/Box self.point_box_container = QtWidgets.QVBoxLayout() - self.pb_label = QtWidgets.QLabel("%s" % _('Point/Box Reference:')) + self.pb_label = QtWidgets.QLabel("%s:" % _('Point/Box Reference')) self.pb_label.setToolTip( _("If 'Point' is selected above it store the coordinates (x, y) through which\n" "the mirroring axis passes.\n" @@ -189,7 +189,7 @@ class DblSidedTool(FlatCAMTool): self.box_combo_type.hide() # ## Alignment holes - self.ah_label = QtWidgets.QLabel("%s" % _('Alignment Drill Coordinates:')) + self.ah_label = QtWidgets.QLabel("%s:" % _('Alignment Drill Coordinates')) self.ah_label.setToolTip( _("Alignment holes (x1, y1), (x2, y2), ... " "on one side of the mirror axis. For each set of (x, y) coordinates\n" @@ -220,7 +220,7 @@ class DblSidedTool(FlatCAMTool): grid_lay3.addWidget(self.add_drill_point_button, 0, 1) # ## Drill diameter for alignment holes - self.dt_label = QtWidgets.QLabel("%s:" % _('Alignment Drill Diameter')) + self.dt_label = QtWidgets.QLabel("%s:" % _('Alignment Drill Diameter')) self.dt_label.setToolTip( _("Diameter of the drill for the " "alignment holes.") @@ -231,7 +231,7 @@ class DblSidedTool(FlatCAMTool): self.layout.addLayout(hlay) self.drill_dia = FCEntry() - self.dd_label = QtWidgets.QLabel(_("Drill diam.:")) + self.dd_label = QtWidgets.QLabel('%s:' % _("Drill dia")) self.dd_label.setToolTip( _("Diameter of the drill for the " "alignment holes.") @@ -288,7 +288,12 @@ class DblSidedTool(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolFilm.py b/flatcamTools/ToolFilm.py index 0d4f36ae..450b7213 100644 --- a/flatcamTools/ToolFilm.py +++ b/flatcamTools/ToolFilm.py @@ -53,7 +53,7 @@ class Film(FlatCAMTool): self.tf_type_obj_combo.setItemIcon(0, QtGui.QIcon("share/flatcam_icon16.png")) self.tf_type_obj_combo.setItemIcon(2, QtGui.QIcon("share/geometry16.png")) - self.tf_type_obj_combo_label = QtWidgets.QLabel(_("Object Type:")) + self.tf_type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Object Type")) self.tf_type_obj_combo_label.setToolTip( _("Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -68,7 +68,7 @@ class Film(FlatCAMTool): self.tf_object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.tf_object_combo.setCurrentIndex(1) - self.tf_object_label = QtWidgets.QLabel(_("Film Object:")) + self.tf_object_label = QtWidgets.QLabel('%s:' % _("Film Object")) self.tf_object_label.setToolTip( _("Object for which to create the film.") ) @@ -101,7 +101,7 @@ class Film(FlatCAMTool): self.tf_box_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.tf_box_combo.setCurrentIndex(1) - self.tf_box_combo_label = QtWidgets.QLabel(_("Box Object:")) + self.tf_box_combo_label = QtWidgets.QLabel('%s:' % _("Box Object")) self.tf_box_combo_label.setToolTip( _("The actual object that is used a container for the\n " "selected object for which we create the film.\n" @@ -127,7 +127,7 @@ class Film(FlatCAMTool): # Boundary for negative film generation self.boundary_entry = FCEntry() - self.boundary_label = QtWidgets.QLabel(_("Border:")) + self.boundary_label = QtWidgets.QLabel('%s:' % _("Border")) self.boundary_label.setToolTip( _("Specify a border around the object.\n" "Only for negative film.\n" @@ -141,7 +141,7 @@ class Film(FlatCAMTool): tf_form_layout.addRow(self.boundary_label, self.boundary_entry) self.film_scale_entry = FCEntry() - self.film_scale_label = QtWidgets.QLabel(_("Scale Stroke:")) + self.film_scale_label = QtWidgets.QLabel('%s:' % _("Scale Stroke")) self.film_scale_label.setToolTip( _("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" @@ -190,7 +190,12 @@ class Film(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolImage.py b/flatcamTools/ToolImage.py index 0d6061ae..9fadcea4 100644 --- a/flatcamTools/ToolImage.py +++ b/flatcamTools/ToolImage.py @@ -50,7 +50,7 @@ class ToolImage(FlatCAMTool): self.tf_type_obj_combo.setItemIcon(0, QtGui.QIcon("share/flatcam_icon16.png")) self.tf_type_obj_combo.setItemIcon(1, QtGui.QIcon("share/geometry16.png")) - self.tf_type_obj_combo_label = QtWidgets.QLabel(_("Object Type:")) + self.tf_type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Object Type")) self.tf_type_obj_combo_label.setToolTip( _("Specify the type of object to create from the image.\n" "It can be of type: Gerber or Geometry.") @@ -60,7 +60,7 @@ class ToolImage(FlatCAMTool): # DPI value of the imported image self.dpi_entry = IntEntry() - self.dpi_label = QtWidgets.QLabel(_("DPI value:")) + self.dpi_label = QtWidgets.QLabel('%s:' % _("DPI value")) self.dpi_label.setToolTip( _("Specify a DPI value for the image.") ) @@ -69,7 +69,7 @@ class ToolImage(FlatCAMTool): self.emty_lbl = QtWidgets.QLabel("") self.layout.addWidget(self.emty_lbl) - self.detail_label = QtWidgets.QLabel("%s:" % _('Level of detail')) + self.detail_label = QtWidgets.QLabel("%s:" % _('Level of detail')) self.layout.addWidget(self.detail_label) ti2_form_layout = QtWidgets.QFormLayout() @@ -157,7 +157,12 @@ class ToolImage(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolMeasurement.py b/flatcamTools/ToolMeasurement.py index 81c7eba2..4380def7 100644 --- a/flatcamTools/ToolMeasurement.py +++ b/flatcamTools/ToolMeasurement.py @@ -40,7 +40,7 @@ class Measurement(FlatCAMTool): form_layout = QtWidgets.QFormLayout() self.layout.addLayout(form_layout) - self.units_label = QtWidgets.QLabel(_("Units:")) + self.units_label = QtWidgets.QLabel('%s:' % _("Units")) self.units_label.setToolTip(_("Those are the units in which the distance is measured.")) self.units_value = QtWidgets.QLabel("%s" % str({'mm': _("METRIC (mm)"), 'in': _("INCH (in)")}[self.units])) self.units_value.setDisabled(True) @@ -51,10 +51,10 @@ class Measurement(FlatCAMTool): self.stop_label = QtWidgets.QLabel("%s %s:" % (_('Stop'), _('Coords'))) self.stop_label.setToolTip(_("This is the measuring Stop point coordinates.")) - self.distance_x_label = QtWidgets.QLabel(_("Dx:")) + self.distance_x_label = QtWidgets.QLabel('%s:' % _("Dx")) self.distance_x_label.setToolTip(_("This is the distance measured over the X axis.")) - self.distance_y_label = QtWidgets.QLabel(_("Dy:")) + self.distance_y_label = QtWidgets.QLabel('%s:' % _("Dy")) self.distance_y_label.setToolTip(_("This is the distance measured over the Y axis.")) self.total_distance_label = QtWidgets.QLabel("%s:" % _('DISTANCE')) diff --git a/flatcamTools/ToolNonCopperClear.py b/flatcamTools/ToolNonCopperClear.py index 2c091b60..27ff587a 100644 --- a/flatcamTools/ToolNonCopperClear.py +++ b/flatcamTools/ToolNonCopperClear.py @@ -10,10 +10,10 @@ from FlatCAMTool import FlatCAMTool from copy import copy, deepcopy from ObjectCollection import * import time +from shapely.geometry import base import gettext import FlatCAMTranslation as fcTranslate -from shapely.geometry import base import builtins fcTranslate.apply_language('strings') @@ -53,22 +53,46 @@ class NonCopperClear(FlatCAMTool, Gerber): form_layout = QtWidgets.QFormLayout() self.tools_box.addLayout(form_layout) - # ## Object - self.object_combo = QtWidgets.QComboBox() - self.object_combo.setModel(self.app.collection) - self.object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) - self.object_combo.setCurrentIndex(1) + # ################################################ + # ##### Type of object to be copper cleaned ###### + # ################################################ + self.type_obj_combo = QtWidgets.QComboBox() + self.type_obj_combo.addItem("Gerber") + self.type_obj_combo.addItem("Excellon") + self.type_obj_combo.addItem("Geometry") - self.object_label = QtWidgets.QLabel("Gerber:") - self.object_label.setToolTip( - _("Gerber object to be cleared of excess copper. ") + # we get rid of item1 ("Excellon") as it is not suitable + self.type_obj_combo.view().setRowHidden(1, True) + self.type_obj_combo.setItemIcon(0, QtGui.QIcon("share/flatcam_icon16.png")) + self.type_obj_combo.setItemIcon(2, QtGui.QIcon("share/geometry16.png")) + + self.type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Obj Type")) + self.type_obj_combo_label.setToolTip( + _("Specify the type of object to be cleared of excess copper.\n" + "It can be of type: Gerber or Geometry.\n" + "What is selected here will dictate the kind\n" + "of objects that will populate the 'Object' combobox.") ) - e_lab_0 = QtWidgets.QLabel('') + self.type_obj_combo_label.setMinimumWidth(60) + form_layout.addRow(self.type_obj_combo_label, self.type_obj_combo) - form_layout.addRow(self.object_label, self.object_combo) + # ################################################ + # ##### The object to be copper cleaned ########## + # ################################################ + self.obj_combo = QtWidgets.QComboBox() + self.obj_combo.setModel(self.app.collection) + self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) + self.obj_combo.setCurrentIndex(1) + + self.object_label = QtWidgets.QLabel('%s:' % _("Object")) + self.object_label.setToolTip(_("Object to be cleared of excess copper.")) + + form_layout.addRow(self.object_label, self.obj_combo) + + e_lab_0 = QtWidgets.QLabel('') form_layout.addRow(e_lab_0) - #### Tools ## ## + # ### Tools ## ## self.tools_table_label = QtWidgets.QLabel('%s' % _('Tools Table')) self.tools_table_label.setToolTip( _("Tools pool from which the algorithm\n" @@ -110,23 +134,35 @@ class NonCopperClear(FlatCAMTool, Gerber): "Choosing the V-Shape Tool Type automatically will select the Operation Type " "in the resulting geometry as Isolation.")) - self.empty_label = QtWidgets.QLabel('') - self.tools_box.addWidget(self.empty_label) + self.ncc_order_label = QtWidgets.QLabel('%s:' % _('Tool order')) + self.ncc_order_label.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + + self.ncc_order_radio = RadioSet([{'label': _('No'), 'value': 'no'}, + {'label': _('Forward'), 'value': 'fwd'}, + {'label': _('Reverse'), 'value': 'rev'}]) + self.ncc_order_radio.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + form = QtWidgets.QFormLayout() + self.tools_box.addLayout(form) + form.addRow(QtWidgets.QLabel(''), QtWidgets.QLabel('')) + form.addRow(self.ncc_order_label, self.ncc_order_radio) # ### Add a new Tool #### - hlay = QtWidgets.QHBoxLayout() - self.tools_box.addLayout(hlay) - self.addtool_entry_lbl = QtWidgets.QLabel('%s:' % _('Tool Dia')) self.addtool_entry_lbl.setToolTip( _("Diameter for the new tool to add in the Tool Table") ) self.addtool_entry = FCEntry2() - - # hlay.addWidget(self.addtool_label) - # hlay.addStretch() - hlay.addWidget(self.addtool_entry_lbl) - hlay.addWidget(self.addtool_entry) + form.addRow(self.addtool_entry_lbl, self.addtool_entry) grid2 = QtWidgets.QGridLayout() self.tools_box.addLayout(grid2) @@ -159,7 +195,7 @@ class NonCopperClear(FlatCAMTool, Gerber): grid3 = QtWidgets.QGridLayout() self.tools_box.addLayout(grid3) - e_lab_1 = QtWidgets.QLabel('') + e_lab_1 = QtWidgets.QLabel('%s:' % _("Parameters")) grid3.addWidget(e_lab_1, 0, 0) nccoverlabel = QtWidgets.QLabel(_('Overlap Rate:')) @@ -178,7 +214,7 @@ class NonCopperClear(FlatCAMTool, Gerber): self.ncc_overlap_entry = FCEntry() grid3.addWidget(self.ncc_overlap_entry, 1, 1) - nccmarginlabel = QtWidgets.QLabel(_('Margin:')) + nccmarginlabel = QtWidgets.QLabel('%s:' % _('Margin')) nccmarginlabel.setToolTip( _("Bounding box margin.") ) @@ -187,7 +223,7 @@ class NonCopperClear(FlatCAMTool, Gerber): grid3.addWidget(self.ncc_margin_entry, 2, 1) # Method - methodlabel = QtWidgets.QLabel(_('Method:')) + methodlabel = QtWidgets.QLabel('%s:' % _('Method')) methodlabel.setToolTip( _("Algorithm for non-copper clearing:
" "Standard: Fixed step inwards.
" @@ -203,7 +239,7 @@ class NonCopperClear(FlatCAMTool, Gerber): grid3.addWidget(self.ncc_method_radio, 3, 1) # Connect lines - pathconnectlabel = QtWidgets.QLabel(_("Connect:")) + pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect")) pathconnectlabel.setToolTip( _("Draw lines between resulting\n" "segments to minimize tool lifts.") @@ -212,7 +248,7 @@ class NonCopperClear(FlatCAMTool, Gerber): self.ncc_connect_cb = FCCheckBox() grid3.addWidget(self.ncc_connect_cb, 4, 1) - contourlabel = QtWidgets.QLabel(_("Contour:")) + contourlabel = QtWidgets.QLabel('%s:' % _("Contour")) contourlabel.setToolTip( _("Cut around the perimeter of the polygon\n" "to trim rough edges.") @@ -221,7 +257,7 @@ class NonCopperClear(FlatCAMTool, Gerber): self.ncc_contour_cb = FCCheckBox() grid3.addWidget(self.ncc_contour_cb, 5, 1) - restlabel = QtWidgets.QLabel(_("Rest M.:")) + restlabel = QtWidgets.QLabel('%s:' % _("Rest M.")) restlabel.setToolTip( _("If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -236,7 +272,7 @@ class NonCopperClear(FlatCAMTool, Gerber): grid3.addWidget(self.ncc_rest_cb, 6, 1) # ## NCC Offset choice - self.ncc_offset_choice_label = QtWidgets.QLabel(_("Offset:")) + self.ncc_offset_choice_label = QtWidgets.QLabel('%s:' % _("Offset")) self.ncc_offset_choice_label.setToolTip( _("If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -248,7 +284,7 @@ class NonCopperClear(FlatCAMTool, Gerber): grid3.addWidget(self.ncc_choice_offset_cb, 7, 1) # ## NCC Offset value - self.ncc_offset_label = QtWidgets.QLabel(_("Offset value:")) + self.ncc_offset_label = QtWidgets.QLabel('%s:' % _("Offset value")) self.ncc_offset_label.setToolTip( _("If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -273,22 +309,27 @@ class NonCopperClear(FlatCAMTool, Gerber): self.ncc_offset_spinner.hide() # ## Reference - self.reference_radio = RadioSet([{'label': _('Itself'), 'value': 'itself'}, - {'label': _('Box'), 'value': 'box'}]) + self.reference_radio = RadioSet([ + {'label': _('Itself'), 'value': 'itself'}, + {"label": _("Area Selection"), "value": "area"}, + {'label': _("Reference Object"), 'value': 'box'} + ], orientation='vertical', stretch=False) self.reference_label = QtWidgets.QLabel(_("Reference:")) self.reference_label.setToolTip( - _("- 'Itself': the non copper clearing extent\n" + _("- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n " - "- 'Box': will do non copper clearing within the box\n" - "specified by the object selected in the Ref. Object combobox.") + "- 'Area Selection' - left mouse click to start selection of the area to be painted.\n" + "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n" + "- 'Reference Object' - will do non copper clearing within the area\n" + "specified by another object.") ) grid3.addWidget(self.reference_label, 9, 0) grid3.addWidget(self.reference_radio, 9, 1) - grid4 = QtWidgets.QGridLayout() - self.tools_box.addLayout(grid4) + form1 = QtWidgets.QFormLayout() + self.tools_box.addLayout(form1) - self.box_combo_type_label = QtWidgets.QLabel(_("Ref. Type:")) + self.box_combo_type_label = QtWidgets.QLabel('%s:' % _("Ref. Type")) self.box_combo_type_label.setToolTip( _("The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry.") @@ -297,11 +338,9 @@ class NonCopperClear(FlatCAMTool, Gerber): self.box_combo_type.addItem(_("Gerber Reference Box Object")) self.box_combo_type.addItem(_("Excellon Reference Box Object")) self.box_combo_type.addItem(_("Geometry Reference Box Object")) + form1.addRow(self.box_combo_type_label, self.box_combo_type) - grid4.addWidget(self.box_combo_type_label, 0, 0) - grid4.addWidget(self.box_combo_type, 0, 1) - - self.box_combo_label = QtWidgets.QLabel(_("Ref. Object:")) + self.box_combo_label = QtWidgets.QLabel('%s:' % _("Ref. Object")) self.box_combo_label.setToolTip( _("The FlatCAM object to be used as non copper clearing reference.") ) @@ -309,8 +348,7 @@ class NonCopperClear(FlatCAMTool, Gerber): self.box_combo.setModel(self.app.collection) self.box_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.box_combo.setCurrentIndex(1) - grid4.addWidget(self.box_combo_label, 1, 0) - grid4.addWidget(self.box_combo, 1, 1) + form1.addRow(self.box_combo_label, self.box_combo) self.box_combo.hide() self.box_combo_label.hide() @@ -323,6 +361,7 @@ class NonCopperClear(FlatCAMTool, Gerber): "for non-copper routing.") ) self.tools_box.addWidget(self.generate_ncc_button) + self.tools_box.addStretch() self.units = '' self.ncc_tools = {} @@ -333,19 +372,32 @@ class NonCopperClear(FlatCAMTool, Gerber): self.obj_name = "" self.ncc_obj = None + self.sel_rect = [] + self.bound_obj_name = "" self.bound_obj = None - self.tools_box.addStretch() + self.first_click = False + self.cursor_pos = None + self.mouse_is_dragging = False self.addtool_btn.clicked.connect(self.on_tool_add) self.addtool_entry.returnPressed.connect(self.on_tool_add) self.deltool_btn.clicked.connect(self.on_tool_delete) - self.generate_ncc_button.clicked.connect(self.on_ncc) + self.generate_ncc_button.clicked.connect(self.on_ncc_click) self.box_combo_type.currentIndexChanged.connect(self.on_combo_box_type) self.reference_radio.group_toggle_fn = self.on_toggle_reference self.ncc_choice_offset_cb.stateChanged.connect(self.on_offset_choice) + self.ncc_rest_cb.stateChanged.connect(self.on_rest_machining_check) + self.ncc_order_radio.activated_custom[str].connect(self.on_order_changed) + + self.type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed) + + def on_type_obj_index_changed(self, index): + obj_type = self.type_obj_combo.currentIndex() + self.obj_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex())) + self.obj_combo.setCurrentIndex(0) def install(self, icon=None, separator=None, **kwargs): FlatCAMTool.install(self, icon, separator, shortcut='ALT+N', **kwargs) @@ -360,7 +412,12 @@ class NonCopperClear(FlatCAMTool, Gerber): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: @@ -382,6 +439,7 @@ class NonCopperClear(FlatCAMTool, Gerber): def set_tool_ui(self): self.tools_frame.show() + self.ncc_order_radio.set_value(self.app.defaults["tools_nccorder"]) self.ncc_overlap_entry.set_value(self.app.defaults["tools_nccoverlap"]) self.ncc_margin_entry.set_value(self.app.defaults["tools_nccmargin"]) self.ncc_method_radio.set_value(self.app.defaults["tools_nccmethod"]) @@ -484,7 +542,14 @@ class NonCopperClear(FlatCAMTool, Gerber): sorted_tools = [] for k, v in self.ncc_tools.items(): sorted_tools.append(float('%.4f' % float(v['tooldia']))) - sorted_tools.sort() + + order = self.ncc_order_radio.get_value() + if order == 'fwd': + sorted_tools.sort(reverse=False) + elif order == 'rev': + sorted_tools.sort(reverse=True) + else: + pass n = len(sorted_tools) self.tools_table.setRowCount(n) @@ -570,7 +635,7 @@ class NonCopperClear(FlatCAMTool, Gerber): self.box_combo.setCurrentIndex(0) def on_toggle_reference(self): - if self.reference_radio.get_value() == "itself": + if self.reference_radio.get_value() == "itself" or self.reference_radio.get_value() == "area": self.box_combo.hide() self.box_combo_label.hide() self.box_combo_type.hide() @@ -589,6 +654,19 @@ class NonCopperClear(FlatCAMTool, Gerber): self.ncc_offset_label.hide() self.ncc_offset_spinner.hide() + def on_order_changed(self, order): + if order != 'no': + self.build_ui() + + def on_rest_machining_check(self, state): + if state: + self.ncc_order_radio.set_value('rev') + self.ncc_order_label.setDisabled(True) + self.ncc_order_radio.setDisabled(True) + else: + self.ncc_order_label.setDisabled(False) + self.ncc_order_radio.setDisabled(False) + def on_tool_add(self, dia=None, muted=None): self.ui_disconnect() @@ -743,10 +821,128 @@ class NonCopperClear(FlatCAMTool, Gerber): self.app.inform.emit(_("[success] Tool(s) deleted from Tool Table.")) self.build_ui() - def on_ncc(self): + def on_ncc_click(self): self.bound_obj = None self.ncc_obj = None + ref_choice = self.reference_radio.get_value() + + if ref_choice == 'itself': + self.bound_obj_name = self.object_combo.currentText() + # Get source object. + try: + self.bound_obj = self.app.collection.get_by_name(self.bound_obj_name) + except Exception as e: + self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve object: %s") % self.obj_name) + return "Could not retrieve object: %s" % self.obj_name + self.on_ncc() + elif ref_choice == 'box': + self.bound_obj_name = self.box_combo.currentText() + # Get source object. + try: + self.bound_obj = self.app.collection.get_by_name(self.bound_obj_name) + except Exception as e: + self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve object: %s") % self.bound_obj_name) + return "Could not retrieve object: %s. Error: %s" % (self.bound_obj_name, str(e)) + self.on_ncc() + else: + self.app.inform.emit(_("[WARNING_NOTCL] Click the start point of the area.")) + + # use the first tool in the tool table; get the diameter + tooldia = float('%.4f' % float(self.tools_table.item(0, 1).text())) + + # To be called after clicking on the plot. + def on_mouse_release(event): + # do paint single only for left mouse clicks + if event.button == 1: + if self.first_click is False: + self.first_click = True + self.app.inform.emit(_("[WARNING_NOTCL] Click the end point of the paint area.")) + + self.cursor_pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos) + if self.app.grid_status() == True: + self.cursor_pos = self.app.geo_editor.snap(self.cursor_pos[0], self.cursor_pos[1]) + else: + self.app.inform.emit(_("Zone added. Right click to finish.")) + self.app.delete_selection_shape() + + curr_pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos) + if self.app.grid_status() == True: + curr_pos = self.app.geo_editor.snap(curr_pos[0], curr_pos[1]) + + x0, y0 = self.cursor_pos[0], self.cursor_pos[1] + x1, y1 = curr_pos[0], curr_pos[1] + pt1 = (x0, y0) + pt2 = (x1, y0) + pt3 = (x1, y1) + pt4 = (x0, y1) + self.sel_rect.append(Polygon([pt1, pt2, pt3, pt4])) + + modifiers = QtWidgets.QApplication.keyboardModifiers() + + if modifiers == QtCore.Qt.ShiftModifier: + mod_key = 'Shift' + elif modifiers == QtCore.Qt.ControlModifier: + mod_key = 'Control' + else: + mod_key = None + + if mod_key == self.app.defaults["global_mselect_key"]: + self.first_click = False + return + + self.app.plotcanvas.vis_disconnect('mouse_release', on_mouse_release) + self.app.plotcanvas.vis_disconnect('mouse_move', on_mouse_move) + + self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) + self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) + self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) + + self.on_ncc() + elif event.button == 2 and self.first_click is False and self.mouse_is_dragging is False: + self.first_click = False + self.app.plotcanvas.vis_disconnect('mouse_release', on_mouse_release) + self.app.plotcanvas.vis_disconnect('mouse_move', on_mouse_move) + + self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) + self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) + self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) + + self.on_ncc() + + # called on mouse move + def on_mouse_move(event): + curr_pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos) + self.app.app_cursor.enabled = False + + if event.button == 2: + if event.is_dragging is True: + self.mouse_is_dragging = True + else: + self.mouse_is_dragging = False + + if self.app.grid_status() == True: + self.app.app_cursor.enabled = True + # Update cursor + curr_pos = self.app.geo_editor.snap(curr_pos[0], curr_pos[1]) + self.app.app_cursor.set_data(np.asarray([(curr_pos[0], curr_pos[1])]), + symbol='++', edge_color='black', size=20) + + if self.first_click: + self.app.delete_selection_shape() + self.app.draw_moving_selection_shape(old_coords=(self.cursor_pos[0], self.cursor_pos[1]), + coords=(curr_pos[0], curr_pos[1]), + face_alpha=0.0) + + self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot) + self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot) + self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot) + + self.app.plotcanvas.vis_connect('mouse_release', on_mouse_release) + self.app.plotcanvas.vis_connect('mouse_move', on_mouse_move) + + def on_ncc(self): + try: over = float(self.ncc_overlap_entry.get_value()) except ValueError: @@ -797,24 +993,7 @@ class NonCopperClear(FlatCAMTool, Gerber): pol_method = self.ncc_method_radio.get_value() pol_method = pol_method if pol_method else self.app.defaults["tools_nccmethod"] - if self.reference_radio.get_value() == 'itself': - self.bound_obj_name = self.object_combo.currentText() - # Get source object. - try: - self.bound_obj = self.app.collection.get_by_name(self.bound_obj_name) - except Exception as e: - self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve object: %s") % self.obj_name) - return "Could not retrieve object: %s" % self.obj_name - else: - self.bound_obj_name = self.box_combo.currentText() - # Get source object. - try: - self.bound_obj = self.app.collection.get_by_name(self.bound_obj_name) - except Exception as e: - self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve object: %s") % self.obj_name) - return "Could not retrieve object: %s" % self.obj_name - - self.obj_name = self.object_combo.currentText() + self.obj_name = self.obj_combo.currentText() # Get source object. try: self.ncc_obj = self.app.collection.get_by_name(self.obj_name) @@ -823,26 +1002,52 @@ class NonCopperClear(FlatCAMTool, Gerber): return "Could not retrieve object: %s" % self.obj_name # Prepare non-copper polygons - try: - if not isinstance(self.bound_obj.solid_geometry, MultiPolygon): - env_obj = cascaded_union(self.bound_obj.solid_geometry) - env_obj = env_obj.convex_hull - else: - env_obj = self.bound_obj.solid_geometry.convex_hull - bounding_box = env_obj.buffer(distance=margin, join_style=base.JOIN_STYLE.mitre) - except Exception as e: - log.debug("NonCopperClear.on_ncc() --> %s" % str(e)) - self.app.inform.emit(_("[ERROR_NOTCL] No object available.")) - return + if self.reference_radio.get_value() == 'area': + geo_n = self.sel_rect + + geo_buff_list = [] + for poly in geo_n: + geo_buff_list.append(poly.buffer(distance=margin, join_style=base.JOIN_STYLE.mitre)) + bounding_box = cascaded_union(geo_buff_list) + else: + geo_n = self.bound_obj.solid_geometry + + try: + if isinstance(geo_n, MultiPolygon): + env_obj = geo_n.convex_hull + elif (isinstance(geo_n, MultiPolygon) and len(geo_n) == 1) or \ + (isinstance(geo_n, list) and len(geo_n) == 1) and isinstance(geo_n[0], Polygon): + env_obj = cascaded_union(geo_n) + else: + env_obj = cascaded_union(geo_n) + env_obj = env_obj.convex_hull + bounding_box = env_obj.buffer(distance=margin, join_style=base.JOIN_STYLE.mitre) + except Exception as e: + log.debug("NonCopperClear.on_ncc() --> %s" % str(e)) + self.app.inform.emit(_("[ERROR_NOTCL] No object available.")) + return # calculate the empty area by subtracting the solid_geometry from the object bounding box geometry - if self.ncc_choice_offset_cb.isChecked(): - self.app.inform.emit(_("[WARNING_NOTCL] Buffering ...")) - offseted_geo = self.ncc_obj.solid_geometry.buffer(distance=ncc_offset_value) - self.app.inform.emit(_("[success] Buffering finished ...")) - empty = self.get_ncc_empty_area(target=offseted_geo, boundary=bounding_box) + if isinstance(self.ncc_obj, FlatCAMGerber): + if self.ncc_choice_offset_cb.isChecked(): + self.app.inform.emit(_("[WARNING_NOTCL] Buffering ...")) + offseted_geo = self.ncc_obj.solid_geometry.buffer(distance=ncc_offset_value) + self.app.inform.emit(_("[success] Buffering finished ...")) + empty = self.get_ncc_empty_area(target=offseted_geo, boundary=bounding_box) + else: + empty = self.get_ncc_empty_area(target=self.ncc_obj.solid_geometry, boundary=bounding_box) + elif isinstance(self.ncc_obj, FlatCAMGeometry): + sol_geo = cascaded_union(self.ncc_obj.solid_geometry) + if self.ncc_choice_offset_cb.isChecked(): + self.app.inform.emit(_("[WARNING_NOTCL] Buffering ...")) + offseted_geo = sol_geo.buffer(distance=ncc_offset_value) + self.app.inform.emit(_("[success] Buffering finished ...")) + empty = self.get_ncc_empty_area(target=offseted_geo, boundary=bounding_box) + else: + empty = self.get_ncc_empty_area(target=sol_geo, boundary=bounding_box) else: - empty = self.get_ncc_empty_area(target=self.ncc_obj.solid_geometry, boundary=bounding_box) + self.inform.emit(_('[ERROR_NOTCL] The selected object is not suitable for copper clearing.')) + return if type(empty) is Polygon: empty = MultiPolygon([empty]) @@ -878,7 +1083,14 @@ class NonCopperClear(FlatCAMTool, Gerber): sorted_tools = [] for k, v in self.ncc_tools.items(): sorted_tools.append(float('%.4f' % float(v['tooldia']))) - sorted_tools.sort(reverse=True) + + order = self.ncc_order_radio.get_value() + if order == 'fwd': + sorted_tools.sort(reverse=False) + elif order == 'rev': + sorted_tools.sort(reverse=True) + else: + pass # Do job in background proc = self.app.proc_container.new(_("Clearing Non-Copper areas.")) @@ -897,6 +1109,7 @@ class NonCopperClear(FlatCAMTool, Gerber): # Generate area for each tool offset = sum(sorted_tools) current_uid = int(1) + tool = eval(self.app.defaults["tools_ncctools"])[0] for tool in sorted_tools: self.app.inform.emit(_('[success] Non-Copper Clearing with ToolDia = %s started.') % str(tool)) @@ -982,8 +1195,6 @@ class NonCopperClear(FlatCAMTool, Gerber): # focus on Selected Tab self.app.ui.notebook.setCurrentWidget(self.app.ui.selected_tab) - self.tools_frame.hide() - self.app.ui.notebook.setTabText(2, _("Tools")) # Promise object with the new name self.app.collection.promise(name) @@ -1013,6 +1224,7 @@ class NonCopperClear(FlatCAMTool, Gerber): cleared_by_last_tool = [] rest_geo = [] current_uid = 1 + tool = eval(self.app.defaults["tools_ncctools"])[0] # repurposed flag for final object, geo_obj. True if it has any solid_geometry, False if not. app_obj.poly_not_cleared = True @@ -1135,9 +1347,6 @@ class NonCopperClear(FlatCAMTool, Gerber): # reset the variable for next use app_obj.poly_not_cleared = False - self.tools_frame.hide() - app_obj.ui.notebook.setTabText(2, "Tools") - # Promise object with the new name self.app.collection.promise(name) @@ -1157,3 +1366,14 @@ class NonCopperClear(FlatCAMTool, Gerber): def reset_fields(self): self.object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) + + def reset_usage(self): + self.obj_name = "" + self.ncc_obj = None + self.bound_obj = None + + self.first_click = False + self.cursor_pos = None + self.mouse_is_dragging = False + + self.sel_rect = [] diff --git a/flatcamTools/ToolPaint.py b/flatcamTools/ToolPaint.py index 710d6eb4..24e86abe 100644 --- a/flatcamTools/ToolPaint.py +++ b/flatcamTools/ToolPaint.py @@ -1,14 +1,15 @@ -# ########################################################## ## +# ########################################################## # FlatCAM: 2D Post-processing for Manufacturing # # http://flatcam.org # # File Modified: Marius Adrian Stanciu (c) # # Date: 3/10/2019 # # MIT Licence # -# ########################################################## ## +# ########################################################## from FlatCAMTool import FlatCAMTool from copy import copy, deepcopy from ObjectCollection import * +from shapely.geometry import base import gettext import FlatCAMTranslation as fcTranslate @@ -21,7 +22,7 @@ if '_' not in builtins.__dict__: class ToolPaint(FlatCAMTool, Gerber): - toolName = _("Paint Area") + toolName = _("Paint Tool") def __init__(self, app): self.app = app @@ -51,18 +52,43 @@ class ToolPaint(FlatCAMTool, Gerber): form_layout = QtWidgets.QFormLayout() self.tools_box.addLayout(form_layout) - # ## Object - self.object_combo = QtWidgets.QComboBox() - self.object_combo.setModel(self.app.collection) - self.object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) - self.object_combo.setCurrentIndex(1) + # ################################################ + # ##### Type of object to be painted ############# + # ################################################ + self.type_obj_combo = QtWidgets.QComboBox() + self.type_obj_combo.addItem("Gerber") + self.type_obj_combo.addItem("Excellon") + self.type_obj_combo.addItem("Geometry") - self.object_label = QtWidgets.QLabel(_("Geometry:")) - self.object_label.setToolTip( - _("Geometry object to be painted. ") + # we get rid of item1 ("Excellon") as it is not suitable + self.type_obj_combo.view().setRowHidden(1, True) + self.type_obj_combo.setItemIcon(0, QtGui.QIcon("share/flatcam_icon16.png")) + self.type_obj_combo.setItemIcon(2, QtGui.QIcon("share/geometry16.png")) + + self.type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Obj Type")) + self.type_obj_combo_label.setToolTip( + _("Specify the type of object to be painted.\n" + "It can be of type: Gerber or Geometry.\n" + "What is selected here will dictate the kind\n" + "of objects that will populate the 'Object' combobox.") ) + self.type_obj_combo_label.setMinimumWidth(60) + form_layout.addRow(self.type_obj_combo_label, self.type_obj_combo) + + # ################################################ + # ##### The object to be painted ################# + # ################################################ + self.obj_combo = QtWidgets.QComboBox() + self.obj_combo.setModel(self.app.collection) + self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) + self.obj_combo.setCurrentIndex(1) + + self.object_label = QtWidgets.QLabel('%s:' % _("Object")) + self.object_label.setToolTip(_("Object to be painted.")) + + form_layout.addRow(self.object_label, self.obj_combo) + e_lab_0 = QtWidgets.QLabel('') - form_layout.addRow(self.object_label, self.object_combo) form_layout.addRow(e_lab_0) # ### Tools ## ## @@ -107,8 +133,27 @@ class ToolPaint(FlatCAMTool, Gerber): "Choosing the V-Shape Tool Type automatically will select the Operation Type " "in the resulting geometry as Isolation.")) - self.empty_label = QtWidgets.QLabel('') - self.tools_box.addWidget(self.empty_label) + self.order_label = QtWidgets.QLabel('%s:' % _('Tool order')) + self.order_label.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + + self.order_radio = RadioSet([{'label': _('No'), 'value': 'no'}, + {'label': _('Forward'), 'value': 'fwd'}, + {'label': _('Reverse'), 'value': 'rev'}]) + self.order_radio.setToolTip(_("This set the way that the tools in the tools table are used.\n" + "'No' --> means that the used order is the one in the tool table\n" + "'Forward' --> means that the tools will be ordered from small to big\n" + "'Reverse' --> menas that the tools will ordered from big to small\n\n" + "WARNING: using rest machining will automatically set the order\n" + "in reverse and disable this control.")) + form = QtWidgets.QFormLayout() + self.tools_box.addLayout(form) + form.addRow(QtWidgets.QLabel(''), QtWidgets.QLabel('')) + form.addRow(self.order_label, self.order_radio) # ### Add a new Tool ## ## hlay = QtWidgets.QHBoxLayout() @@ -157,7 +202,7 @@ class ToolPaint(FlatCAMTool, Gerber): self.tools_box.addLayout(grid3) # Overlap - ovlabel = QtWidgets.QLabel(_('Overlap Rate:')) + ovlabel = QtWidgets.QLabel('%s:' % _('Overlap Rate')) ovlabel.setToolTip( _("How much (fraction) of the tool width to overlap each tool pass.\n" "Example:\n" @@ -174,7 +219,7 @@ class ToolPaint(FlatCAMTool, Gerber): grid3.addWidget(self.paintoverlap_entry, 1, 1) # Margin - marginlabel = QtWidgets.QLabel(_('Margin:')) + marginlabel = QtWidgets.QLabel('%s:' % _('Margin')) marginlabel.setToolTip( _("Distance by which to avoid\n" "the edges of the polygon to\n" @@ -185,7 +230,7 @@ class ToolPaint(FlatCAMTool, Gerber): grid3.addWidget(self.paintmargin_entry, 2, 1) # Method - methodlabel = QtWidgets.QLabel(_('Method:')) + methodlabel = QtWidgets.QLabel('%s:' % _('Method')) methodlabel.setToolTip( _("Algorithm for non-copper clearing:
" "Standard: Fixed step inwards.
" @@ -201,7 +246,7 @@ class ToolPaint(FlatCAMTool, Gerber): grid3.addWidget(self.paintmethod_combo, 3, 1) # Connect lines - pathconnectlabel = QtWidgets.QLabel(_("Connect:")) + pathconnectlabel = QtWidgets.QLabel('%s:' % _("Connect")) pathconnectlabel.setToolTip( _("Draw lines between resulting\n" "segments to minimize tool lifts.") @@ -210,7 +255,7 @@ class ToolPaint(FlatCAMTool, Gerber): self.pathconnect_cb = FCCheckBox() grid3.addWidget(self.pathconnect_cb, 4, 1) - contourlabel = QtWidgets.QLabel(_("Contour:")) + contourlabel = QtWidgets.QLabel('%s:' % _("Contour")) contourlabel.setToolTip( _("Cut around the perimeter of the polygon\n" "to trim rough edges.") @@ -219,7 +264,7 @@ class ToolPaint(FlatCAMTool, Gerber): self.paintcontour_cb = FCCheckBox() grid3.addWidget(self.paintcontour_cb, 5, 1) - restlabel = QtWidgets.QLabel(_("Rest M.:")) + restlabel = QtWidgets.QLabel('%s:' % _("Rest M.")) restlabel.setToolTip( _("If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -234,30 +279,70 @@ class ToolPaint(FlatCAMTool, Gerber): grid3.addWidget(self.rest_cb, 6, 1) # Polygon selection - selectlabel = QtWidgets.QLabel(_('Selection:')) + selectlabel = QtWidgets.QLabel('%s:' % _('Selection')) selectlabel.setToolTip( _("How to select the polygons to paint.
" "Options:
" - "- Single: left mouse click on the polygon to be painted.
" - "- All: paint all polygons.") + "- Single Polygons: left mouse click on the polygon to be painted.
" + "- Area Selection: left mouse click to start selection of the area to be painted.
" + "- All Polygons: paint all polygons.
" + "- Reference Object: paint an area described by an external reference object.") ) grid3.addWidget(selectlabel, 7, 0) # grid3 = QtWidgets.QGridLayout() self.selectmethod_combo = RadioSet([ - {"label": _("Single"), "value": "single"}, - {"label": _("Area"), "value": "area"}, - {"label": _("All"), "value": "all"} - ]) + {"label": _("Single Polygon"), "value": "single"}, + {"label": _("Area Selection"), "value": "area"}, + {"label": _("All Polygons"), "value": "all"}, + {"label": _("Reference Object"), "value": "ref"} + ], orientation='vertical', stretch=False) + self.selectmethod_combo.setToolTip( + _("How to select Polygons to be painted.\n\n" + "- 'Area Selection' - left mouse click to start selection of the area to be painted.\n" + "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n" + "- 'All Polygons' - the Paint will start after click.\n" + "- 'Reference Object' - will do non copper clearing within the area\n" + "specified by another object.") + ) grid3.addWidget(self.selectmethod_combo, 7, 1) + form1 = QtWidgets.QFormLayout() + self.tools_box.addLayout(form1) + + self.box_combo_type_label = QtWidgets.QLabel('%s:' % _("Ref. Type")) + self.box_combo_type_label.setToolTip( + _("The type of FlatCAM object to be used as paint reference.\n" + "It can be Gerber, Excellon or Geometry.") + ) + self.box_combo_type = QtWidgets.QComboBox() + self.box_combo_type.addItem(_("Gerber Reference Box Object")) + self.box_combo_type.addItem(_("Excellon Reference Box Object")) + self.box_combo_type.addItem(_("Geometry Reference Box Object")) + form1.addRow(self.box_combo_type_label, self.box_combo_type) + + self.box_combo_label = QtWidgets.QLabel('%s:' % _("Ref. Object")) + self.box_combo_label.setToolTip( + _("The FlatCAM object to be used as non copper clearing reference.") + ) + self.box_combo = QtWidgets.QComboBox() + self.box_combo.setModel(self.app.collection) + self.box_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) + self.box_combo.setCurrentIndex(1) + form1.addRow(self.box_combo_label, self.box_combo) + + self.box_combo.hide() + self.box_combo_label.hide() + self.box_combo_type.hide() + self.box_combo_type_label.hide() + # GO Button self.generate_paint_button = QtWidgets.QPushButton(_('Create Paint Geometry')) self.generate_paint_button.setToolTip( - _("After clicking here, click inside
" - "the polygon you wish to be painted if Single is selected.
" - "If All is selected then the Paint will start after click.
" - "A new Geometry object with the tool
" - "paths will be created.") + _("- 'Area Selection' - left mouse click to start selection of the area to be painted.\n" + "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n" + "- 'All Polygons' - the Paint will start after click.\n" + "- 'Reference Object' - will do non copper clearing within the area\n" + "specified by another object.") ) self.tools_box.addWidget(self.generate_paint_button) @@ -271,6 +356,9 @@ class ToolPaint(FlatCAMTool, Gerber): self.tooluid = 0 self.first_click = False self.cursor_pos = None + self.mouse_is_dragging = False + + self.sel_rect = [] # store here the default data for Geometry Data self.default_data = {} @@ -316,6 +404,16 @@ class ToolPaint(FlatCAMTool, Gerber): self.deltool_btn.clicked.connect(self.on_tool_delete) self.generate_paint_button.clicked.connect(self.on_paint_button_click) self.selectmethod_combo.activated_custom.connect(self.on_radio_selection) + self.order_radio.activated_custom[str].connect(self.on_order_changed) + self.rest_cb.stateChanged.connect(self.on_rest_machining_check) + + self.box_combo_type.currentIndexChanged.connect(self.on_combo_box_type) + self.type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed) + + def on_type_obj_index_changed(self, index): + obj_type = self.type_obj_combo.currentIndex() + self.obj_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex())) + self.obj_combo.setCurrentIndex(0) def install(self, icon=None, separator=None, **kwargs): FlatCAMTool.install(self, icon, separator, shortcut='ALT+P', **kwargs) @@ -330,7 +428,12 @@ class ToolPaint(FlatCAMTool, Gerber): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: @@ -342,7 +445,29 @@ class ToolPaint(FlatCAMTool, Gerber): self.app.ui.notebook.setTabText(2, _("Paint Tool")) + def reset_usage(self): + self.obj_name = "" + self.paint_obj = None + self.bound_obj = None + + self.first_click = False + self.cursor_pos = None + self.mouse_is_dragging = False + + self.sel_rect = [] + def on_radio_selection(self): + if self.selectmethod_combo.get_value() == "ref": + self.box_combo.show() + self.box_combo_label.show() + self.box_combo_type.show() + self.box_combo_type_label.show() + else: + self.box_combo.hide() + self.box_combo_label.hide() + self.box_combo_type.hide() + self.box_combo_type_label.hide() + if self.selectmethod_combo.get_value() == 'single': # disable rest-machining for single polygon painting self.rest_cb.set_value(False) @@ -367,11 +492,25 @@ class ToolPaint(FlatCAMTool, Gerber): self.deltool_btn.setDisabled(False) self.tools_table.setContextMenuPolicy(Qt.ActionsContextMenu) + def on_order_changed(self, order): + if order != 'no': + self.build_ui() + + def on_rest_machining_check(self, state): + if state: + self.order_radio.set_value('rev') + self.order_label.setDisabled(True) + self.order_radio.setDisabled(True) + else: + self.order_label.setDisabled(False) + self.order_radio.setDisabled(False) + def set_tool_ui(self): self.tools_frame.show() self.reset_fields() # ## Init the GUI interface + self.order_radio.set_value(self.app.defaults["tools_paintorder"]) self.paintmargin_entry.set_value(self.default_data["paintmargin"]) self.paintmethod_combo.set_value(self.default_data["paintmethod"]) self.selectmethod_combo.set_value(self.default_data["selectmethod"]) @@ -452,7 +591,14 @@ class ToolPaint(FlatCAMTool, Gerber): sorted_tools = [] for k, v in self.paint_tools.items(): sorted_tools.append(float('%.4f' % float(v['tooldia']))) - sorted_tools.sort() + + order = self.order_radio.get_value() + if order == 'fwd': + sorted_tools.sort(reverse=False) + elif order == 'rev': + sorted_tools.sort(reverse=True) + else: + pass n = len(sorted_tools) self.tools_table.setRowCount(n) @@ -523,6 +669,11 @@ class ToolPaint(FlatCAMTool, Gerber): # we reactivate the signals after the after the tool adding as we don't need to see the tool been populated self.tools_table.itemChanged.connect(self.on_tool_edit) + def on_combo_box_type(self): + obj_type = self.box_combo_type.currentIndex() + self.box_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex())) + self.box_combo.setCurrentIndex(0) + def on_tool_add(self, dia=None, muted=None): try: @@ -541,7 +692,7 @@ class ToolPaint(FlatCAMTool, Gerber): tool_dia = float(self.addtool_entry.get_value().replace(',', '.')) except ValueError: self.app.inform.emit(_("[ERROR_NOTCL] Wrong value format entered, " - "use a number.")) + "use a number.")) return if tool_dia is None: @@ -739,6 +890,10 @@ class ToolPaint(FlatCAMTool, Gerber): self.build_ui() def on_paint_button_click(self): + + # init values for the next usage + self.reset_usage() + self.app.report_usage(_("geometry_on_paint_button")) # self.app.call_source = 'paint' @@ -764,7 +919,7 @@ class ToolPaint(FlatCAMTool, Gerber): contour = self.paintcontour_cb.get_value() select_method = self.selectmethod_combo.get_value() - self.obj_name = self.object_combo.currentText() + self.obj_name = self.obj_combo.currentText() # Get source object. try: @@ -828,7 +983,7 @@ class ToolPaint(FlatCAMTool, Gerber): tooldia = float('%.4f' % float(self.tools_table.item(0, 1).text())) # To be called after clicking on the plot. - def on_mouse_press(event): + def on_mouse_release(event): # do paint single only for left mouse clicks if event.button == 1: if not self.first_click: @@ -839,8 +994,7 @@ class ToolPaint(FlatCAMTool, Gerber): if self.app.grid_status() == True: self.cursor_pos = self.app.geo_editor.snap(self.cursor_pos[0], self.cursor_pos[1]) else: - self.app.inform.emit(_("Done.")) - self.first_click = False + self.app.inform.emit(_("Zone added. Right click to finish.")) self.app.delete_selection_shape() curr_pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos) @@ -853,27 +1007,63 @@ class ToolPaint(FlatCAMTool, Gerber): pt2 = (x1, y0) pt3 = (x1, y1) pt4 = (x0, y1) - sel_rect = Polygon([pt1, pt2, pt3, pt4]) + self.sel_rect.append(Polygon([pt1, pt2, pt3, pt4])) + modifiers = QtWidgets.QApplication.keyboardModifiers() + + if modifiers == QtCore.Qt.ShiftModifier: + mod_key = 'Shift' + elif modifiers == QtCore.Qt.ControlModifier: + mod_key = 'Control' + else: + mod_key = None + + if mod_key == self.app.defaults["global_mselect_key"]: + self.first_click = False + return + + self.sel_rect = cascaded_union(self.sel_rect) self.paint_poly_area(obj=self.paint_obj, - sel_obj= sel_rect, + sel_obj= self.sel_rect, outname=o_name, overlap=overlap, connect=connect, contour=contour) - self.app.plotcanvas.vis_disconnect('mouse_press', on_mouse_press) + self.app.plotcanvas.vis_disconnect('mouse_release', on_mouse_release) self.app.plotcanvas.vis_disconnect('mouse_move', on_mouse_move) self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) + elif event.button == 2 and self.first_click is False and self.mouse_is_dragging is False: + self.first_click = False + self.app.plotcanvas.vis_disconnect('mouse_release', on_mouse_release) + self.app.plotcanvas.vis_disconnect('mouse_move', on_mouse_move) + + self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) + self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) + self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) + + self.sel_rect = cascaded_union(self.sel_rect) + self.paint_poly_area(obj=self.paint_obj, + sel_obj=self.sel_rect, + outname=o_name, + overlap=overlap, + connect=connect, + contour=contour) # called on mouse move def on_mouse_move(event): curr_pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos) self.app.app_cursor.enabled = False + if event.button == 2: + if event.is_dragging is True: + self.mouse_is_dragging = True + else: + self.mouse_is_dragging = False + if self.app.grid_status() == True: self.app.app_cursor.enabled = True # Update cursor @@ -891,9 +1081,41 @@ class ToolPaint(FlatCAMTool, Gerber): self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot) - self.app.plotcanvas.vis_connect('mouse_press', on_mouse_press) + self.app.plotcanvas.vis_connect('mouse_release', on_mouse_release) self.app.plotcanvas.vis_connect('mouse_move', on_mouse_move) + elif select_method == 'ref': + self.bound_obj_name = self.box_combo.currentText() + # Get source object. + try: + self.bound_obj = self.app.collection.get_by_name(self.bound_obj_name) + except Exception as e: + self.app.inform.emit(_("[ERROR_NOTCL] Could not retrieve object: %s") % self.obj_name) + return "Could not retrieve object: %s" % self.obj_name + + geo = self.bound_obj.solid_geometry + try: + if isinstance(geo, MultiPolygon): + env_obj = geo.convex_hull + elif (isinstance(geo, MultiPolygon) and len(geo) == 1) or \ + (isinstance(geo, list) and len(geo) == 1) and isinstance(geo[0], Polygon): + env_obj = cascaded_union(self.bound_obj.solid_geometry) + else: + env_obj = cascaded_union(self.bound_obj.solid_geometry) + env_obj = env_obj.convex_hull + sel_rect = env_obj.buffer(distance=0.0000001, join_style=base.JOIN_STYLE.mitre) + except Exception as e: + log.debug("ToolPaint.on_paint_button_click() --> %s" % str(e)) + self.app.inform.emit(_("[ERROR_NOTCL] No object available.")) + return + + self.paint_poly_area(obj=self.paint_obj, + sel_obj=sel_rect, + outname=o_name, + overlap=overlap, + connect=connect, + contour=contour) + def paint_poly(self, obj, inside_pt, tooldia, overlap, outname=None, connect=True, contour=True): """ Paints a polygon selected by clicking on its interior. @@ -1140,7 +1362,14 @@ class ToolPaint(FlatCAMTool, Gerber): sorted_tools = [] for row in range(self.tools_table.rowCount()): sorted_tools.append(float(self.tools_table.item(row, 1).text())) - sorted_tools.sort(reverse=True) + + order = self.order_radio.get_value() + if order == 'fwd': + sorted_tools.sort(reverse=False) + elif order == 'rev': + sorted_tools.sort(reverse=True) + else: + pass try: a, b, c, d = obj.bounds() @@ -1426,10 +1655,22 @@ class ToolPaint(FlatCAMTool, Gerber): sorted_tools = [] for row in range(self.tools_table.rowCount()): sorted_tools.append(float(self.tools_table.item(row, 1).text())) - sorted_tools.sort(reverse=True) + + order = self.order_radio.get_value() + if order == 'fwd': + sorted_tools.sort(reverse=False) + elif order == 'rev': + sorted_tools.sort(reverse=True) + else: + pass geo_to_paint = [] - for poly in obj.solid_geometry: + if not isinstance(obj.solid_geometry, list): + target_geo = [obj.solid_geometry] + else: + target_geo = obj.solid_geometry + + for poly in target_geo: new_pol = poly.intersection(sel_obj) geo_to_paint.append(new_pol) @@ -1674,4 +1915,4 @@ class ToolPaint(FlatCAMTool, Gerber): return bounds_rec(geometry) def reset_fields(self): - self.object_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) + self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) diff --git a/flatcamTools/ToolPanelize.py b/flatcamTools/ToolPanelize.py index 5ffe239d..ea7fd4c7 100644 --- a/flatcamTools/ToolPanelize.py +++ b/flatcamTools/ToolPanelize.py @@ -53,7 +53,7 @@ class Panelize(FlatCAMTool): self.type_obj_combo.setItemIcon(1, QtGui.QIcon("share/drill16.png")) self.type_obj_combo.setItemIcon(2, QtGui.QIcon("share/geometry16.png")) - self.type_obj_combo_label = QtWidgets.QLabel(_("Object Type:")) + self.type_obj_combo_label = QtWidgets.QLabel('%s:' % _("Object Type")) self.type_obj_combo_label.setToolTip( _("Specify the type of object to be panelized\n" "It can be of type: Gerber, Excellon or Geometry.\n" @@ -68,7 +68,7 @@ class Panelize(FlatCAMTool): self.object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.object_combo.setCurrentIndex(1) - self.object_label = QtWidgets.QLabel(_("Object:")) + self.object_label = QtWidgets.QLabel('%s:' % _("Object")) self.object_label.setToolTip( _("Object to be panelized. This means that it will\n" "be duplicated in an array of rows and columns.") @@ -83,7 +83,7 @@ class Panelize(FlatCAMTool): # Type of box Panel object self.reference_radio = RadioSet([{'label': _('Object'), 'value': 'object'}, {'label': _('Bounding Box'), 'value': 'bbox'}]) - self.box_label = QtWidgets.QLabel(_("Penelization Reference:")) + self.box_label = QtWidgets.QLabel("%s:" % _("Penelization Reference")) self.box_label.setToolTip( _("Choose the reference for panelization:\n" "- Object = the bounding box of a different object\n" @@ -108,7 +108,7 @@ class Panelize(FlatCAMTool): self.type_box_combo.setItemIcon(0, QtGui.QIcon("share/flatcam_icon16.png")) self.type_box_combo.setItemIcon(2, QtGui.QIcon("share/geometry16.png")) - self.type_box_combo_label = QtWidgets.QLabel(_("Box Type:")) + self.type_box_combo_label = QtWidgets.QLabel('%s:' % _("Box Type")) self.type_box_combo_label.setToolTip( _("Specify the type of object to be used as an container for\n" "panelization. It can be: Gerber or Geometry type.\n" @@ -123,7 +123,7 @@ class Panelize(FlatCAMTool): self.box_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.box_combo.setCurrentIndex(1) - self.box_combo_label = QtWidgets.QLabel(_("Box Object:")) + self.box_combo_label = QtWidgets.QLabel('%s:' % _("Box Object")) self.box_combo_label.setToolTip( _("The actual object that is used a container for the\n " "selected object that is to be panelized.") @@ -131,7 +131,7 @@ class Panelize(FlatCAMTool): form_layout.addRow(self.box_combo_label, self.box_combo) form_layout.addRow(QtWidgets.QLabel("")) - panel_data_label = QtWidgets.QLabel(_("Panel Data:")) + panel_data_label = QtWidgets.QLabel("%s:" % _("Panel Data")) panel_data_label.setToolTip( _("This informations will shape the resulting panel.\n" "The number of rows and columns will set how many\n" @@ -144,7 +144,7 @@ class Panelize(FlatCAMTool): # Spacing Columns self.spacing_columns = FCEntry() - self.spacing_columns_label = QtWidgets.QLabel(_("Spacing cols:")) + self.spacing_columns_label = QtWidgets.QLabel('%s:' % _("Spacing cols")) self.spacing_columns_label.setToolTip( _("Spacing between columns of the desired panel.\n" "In current units.") @@ -153,7 +153,7 @@ class Panelize(FlatCAMTool): # Spacing Rows self.spacing_rows = FCEntry() - self.spacing_rows_label = QtWidgets.QLabel(_("Spacing rows:")) + self.spacing_rows_label = QtWidgets.QLabel('%s:' % _("Spacing rows")) self.spacing_rows_label.setToolTip( _("Spacing between rows of the desired panel.\n" "In current units.") @@ -162,7 +162,7 @@ class Panelize(FlatCAMTool): # Columns self.columns = FCEntry() - self.columns_label = QtWidgets.QLabel(_("Columns:")) + self.columns_label = QtWidgets.QLabel('%s:' % _("Columns")) self.columns_label.setToolTip( _("Number of columns of the desired panel") ) @@ -170,7 +170,7 @@ class Panelize(FlatCAMTool): # Rows self.rows = FCEntry() - self.rows_label = QtWidgets.QLabel(_("Rows:")) + self.rows_label = QtWidgets.QLabel('%s:' % _("Rows")) self.rows_label.setToolTip( _("Number of rows of the desired panel") ) @@ -180,7 +180,7 @@ class Panelize(FlatCAMTool): # Type of resulting Panel object self.panel_type_radio = RadioSet([{'label': _('Gerber'), 'value': 'gerber'}, {'label': _('Geo'), 'value': 'geometry'}]) - self.panel_type_label = QtWidgets.QLabel(_("Panel Type:")) + self.panel_type_label = QtWidgets.QLabel("%s:" % _("Panel Type")) self.panel_type_label.setToolTip( _("Choose the type of object for the panel object:\n" "- Geometry\n" @@ -190,7 +190,7 @@ class Panelize(FlatCAMTool): form_layout.addRow(self.panel_type_radio) # Constrains - self.constrain_cb = FCCheckBox(_("Constrain panel within:")) + self.constrain_cb = FCCheckBox('%s:' % _("Constrain panel within")) self.constrain_cb.setToolTip( _("Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -201,7 +201,7 @@ class Panelize(FlatCAMTool): form_layout.addRow(self.constrain_cb) self.x_width_entry = FCEntry() - self.x_width_lbl = QtWidgets.QLabel(_("Width (DX):")) + self.x_width_lbl = QtWidgets.QLabel('%s:' % _("Width (DX)")) self.x_width_lbl.setToolTip( _("The width (DX) within which the panel must fit.\n" "In current units.") @@ -209,7 +209,7 @@ class Panelize(FlatCAMTool): form_layout.addRow(self.x_width_lbl, self.x_width_entry) self.y_height_entry = FCEntry() - self.y_height_lbl = QtWidgets.QLabel(_("Height (DY):")) + self.y_height_lbl = QtWidgets.QLabel('%s:' % _("Height (DY)")) self.y_height_lbl.setToolTip( _("The height (DY)within which the panel must fit.\n" "In current units.") @@ -259,7 +259,12 @@ class Panelize(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolPcbWizard.py b/flatcamTools/ToolPcbWizard.py index 0fe5035f..7afec009 100644 --- a/flatcamTools/ToolPcbWizard.py +++ b/flatcamTools/ToolPcbWizard.py @@ -48,13 +48,13 @@ class PcbWizard(FlatCAMTool): self.layout.addWidget(title_label) self.layout.addWidget(QtWidgets.QLabel("")) - self.layout.addWidget(QtWidgets.QLabel(_("Load files:"))) + self.layout.addWidget(QtWidgets.QLabel("%s:" % _("Load files"))) # Form Layout form_layout = QtWidgets.QFormLayout() self.layout.addLayout(form_layout) - self.excellon_label = QtWidgets.QLabel(_("Excellon file:")) + self.excellon_label = QtWidgets.QLabel('%s:' % _("Excellon file")) self.excellon_label.setToolTip( _("Load the Excellon file.\n" "Usually it has a .DRL extension") @@ -62,7 +62,7 @@ class PcbWizard(FlatCAMTool): self.excellon_brn = FCButton(_("Open")) form_layout.addRow(self.excellon_label, self.excellon_brn) - self.inf_label = QtWidgets.QLabel(_("INF file:")) + self.inf_label = QtWidgets.QLabel('%s:' % _("INF file")) self.inf_label.setToolTip( _("Load the INF file.") ) @@ -84,7 +84,7 @@ class PcbWizard(FlatCAMTool): self.tools_table.setVisible(False) self.layout.addWidget(QtWidgets.QLabel("")) - self.layout.addWidget(QtWidgets.QLabel(_("Excellon format:"))) + self.layout.addWidget(QtWidgets.QLabel("%s:" % _("Excellon format"))) # Form Layout form_layout1 = QtWidgets.QFormLayout() self.layout.addLayout(form_layout1) @@ -92,7 +92,7 @@ class PcbWizard(FlatCAMTool): # Integral part of the coordinates self.int_entry = FCSpinner() self.int_entry.set_range(1, 10) - self.int_label = QtWidgets.QLabel(_("Int. digits:")) + self.int_label = QtWidgets.QLabel('%s:' % _("Int. digits")) self.int_label.setToolTip( _("The number of digits for the integral part of the coordinates.") ) @@ -101,7 +101,7 @@ class PcbWizard(FlatCAMTool): # Fractional part of the coordinates self.frac_entry = FCSpinner() self.frac_entry.set_range(1, 10) - self.frac_label = QtWidgets.QLabel(_("Frac. digits:")) + self.frac_label = QtWidgets.QLabel('%s:' % _("Frac. digits")) self.frac_label.setToolTip( _("The number of digits for the fractional part of the coordinates.") ) @@ -111,7 +111,7 @@ class PcbWizard(FlatCAMTool): self.zeros_radio = RadioSet([{'label': _('LZ'), 'value': 'LZ'}, {'label': _('TZ'), 'value': 'TZ'}, {'label': _('No Suppression'), 'value': 'D'}]) - self.zeros_label = QtWidgets.QLabel(_("Zeros supp.:")) + self.zeros_label = QtWidgets.QLabel('%s:' % _("Zeros supp.")) self.zeros_label.setToolTip( _("The type of zeros suppression used.\n" "Can be of type:\n" @@ -179,7 +179,12 @@ class PcbWizard(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolProperties.py b/flatcamTools/ToolProperties.py index 971b1216..40ca330f 100644 --- a/flatcamTools/ToolProperties.py +++ b/flatcamTools/ToolProperties.py @@ -77,7 +77,12 @@ class Properties(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: @@ -117,23 +122,24 @@ class Properties(FlatCAMTool): font = QtGui.QFont() font.setBold(True) - obj_type = self.addParent(parent, 'TYPE', expanded=True, color=QtGui.QColor("#000000"), font=font) - obj_name = self.addParent(parent, 'NAME', expanded=True, color=QtGui.QColor("#000000"), font=font) - dims = self.addParent(parent, 'Dimensions', expanded=True, color=QtGui.QColor("#000000"), font=font) - units = self.addParent(parent, 'Units', expanded=True, color=QtGui.QColor("#000000"), font=font) + obj_type = self.addParent(parent, _('TYPE'), expanded=True, color=QtGui.QColor("#000000"), font=font) + obj_name = self.addParent(parent, _('NAME'), expanded=True, color=QtGui.QColor("#000000"), font=font) + dims = self.addParent(parent, _('Dimensions'), expanded=True, color=QtGui.QColor("#000000"), font=font) + units = self.addParent(parent, _('Units'), expanded=True, color=QtGui.QColor("#000000"), font=font) - options = self.addParent(parent, 'Options', color=QtGui.QColor("#000000"), font=font) + options = self.addParent(parent, _('Options'), color=QtGui.QColor("#000000"), font=font) if obj.kind.lower() == 'gerber': - apertures = self.addParent(parent, 'Apertures', expanded=True, color=QtGui.QColor("#000000"), font=font) + apertures = self.addParent(parent, _('Apertures'), expanded=True, color=QtGui.QColor("#000000"), font=font) else: - tools = self.addParent(parent, 'Tools', expanded=True, color=QtGui.QColor("#000000"), font=font) + tools = self.addParent(parent, _('Tools'), expanded=True, color=QtGui.QColor("#000000"), font=font) separator = self.addParent(parent, '') - self.addChild(obj_type, ['Object Type:', ('%s' % (obj.kind.capitalize()))], True) + self.addChild(obj_type, ['%s:' % _('Object Type'), ('%s' % (obj.kind.capitalize()))], True) try: self.addChild(obj_type, - ['Geo Type:', ('%s' % ({False: "Single-Geo", True: "Multi-Geo"}[obj.multigeo]))], + ['%s:' % _('Geo Type'), + ('%s' % ({False: _("Single-Geo"), True: _("Multi-Geo")}[obj.multigeo]))], True) except Exception as e: log.debug("Properties.addItems() --> %s" % str(e)) @@ -150,22 +156,44 @@ class Properties(FlatCAMTool): length = abs(xmax - xmin) width = abs(ymax - ymin) - self.addChild(dims, ['Length:', '%.4f %s' % ( + self.addChild(dims, ['%s:' % _('Length'), '%.4f %s' % ( length, self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower())], True) - self.addChild(dims, ['Width:', '%.4f %s' % ( + self.addChild(dims, ['%s:' % _('Width'), '%.4f %s' % ( width, self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower())], True) + + # calculate and add box area if self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower() == 'mm': area = (length * width) / 100 - self.addChild(dims, ['Box Area:', '%.4f %s' % (area, 'cm2')], True) + self.addChild(dims, ['%s:' % _('Box Area'), '%.4f %s' % (area, 'cm2')], True) else: area = length * width - self.addChild(dims, ['Box Area:', '%.4f %s' % (area, 'in2')], True) + self.addChild(dims, ['%s:' % _('Box Area'), '%.4f %s' % (area, 'in2')], True) + + # calculate and add convex hull area + geo = obj.solid_geometry + if isinstance(geo, MultiPolygon): + env_obj = geo.convex_hull + elif (isinstance(geo, MultiPolygon) and len(geo) == 1) or \ + (isinstance(geo, list) and len(geo) == 1) and isinstance(geo[0], Polygon): + env_obj = cascaded_union(self.bound_obj.solid_geometry) + env_obj = env_obj.convex_hull + else: + env_obj = cascaded_union(self.bound_obj.solid_geometry) + env_obj = env_obj.convex_hull + + area_chull = env_obj.area + if self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower() == 'mm': + area_chull = area_chull / 100 + self.addChild(dims, ['%s:' % _('Convex_Hull Area'), '%.4f %s' % (area_chull, 'cm2')], True) + else: + area_chull = area_chull + self.addChild(dims, ['%s:' % _('Convex_Hull Area'), '%.4f %s' % (area_chull, 'in2')], True) self.addChild(units, ['FlatCAM units:', { - 'in': 'Inch', - 'mm': 'Metric' + 'in': _('Inch'), + 'mm': _('Metric') } [str(self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().lower())] ], @@ -216,7 +244,7 @@ class Properties(FlatCAMTool): geo_tool = self.addParent(tools, str(tool), expanded=True, color=QtGui.QColor("#000000"), font=font) for k, v in value.items(): if k == 'solid_geometry': - printed_value = 'Present' if v else 'None' + printed_value = _('Present') if v else _('None') self.addChild(geo_tool, [str(k), printed_value], True) elif k == 'data': tool_data = self.addParent(geo_tool, str(k).capitalize(), @@ -230,13 +258,13 @@ class Properties(FlatCAMTool): geo_tool = self.addParent(tools, str(tool), expanded=True, color=QtGui.QColor("#000000"), font=font) for k, v in value.items(): if k == 'solid_geometry': - printed_value = 'Present' if v else 'None' + printed_value = _('Present') if v else _('None') self.addChild(geo_tool, [str(k), printed_value], True) elif k == 'gcode': - printed_value = 'Present' if v != '' else 'None' + printed_value = _('Present') if v != '' else _('None') self.addChild(geo_tool, [str(k), printed_value], True) elif k == 'gcode_parsed': - printed_value = 'Present' if v else 'None' + printed_value = _('Present') if v else _('None') self.addChild(geo_tool, [str(k), printed_value], True) elif k == 'data': tool_data = self.addParent(geo_tool, str(k).capitalize(), diff --git a/flatcamTools/ToolSolderPaste.py b/flatcamTools/ToolSolderPaste.py index 0ebfb665..726d2e16 100644 --- a/flatcamTools/ToolSolderPaste.py +++ b/flatcamTools/ToolSolderPaste.py @@ -139,7 +139,7 @@ class SolderPaste(FlatCAMTool): grid0_1 = QtWidgets.QGridLayout() self.layout.addLayout(grid0_1) - step1_lbl = QtWidgets.QLabel("%s:" % _('STEP 1:')) + step1_lbl = QtWidgets.QLabel("%s:" % _('STEP 1')) step1_lbl.setToolTip( _("First step is to select a number of nozzle tools for usage\n" "and then optionally modify the GCode parameters bellow.") @@ -163,7 +163,7 @@ class SolderPaste(FlatCAMTool): # Z dispense start self.z_start_entry = FCEntry() - self.z_start_label = QtWidgets.QLabel(_("Z Dispense Start:")) + self.z_start_label = QtWidgets.QLabel('%s:' % _("Z Dispense Start")) self.z_start_label.setToolTip( _("The height (Z) when solder paste dispensing starts.") ) @@ -171,7 +171,7 @@ class SolderPaste(FlatCAMTool): # Z dispense self.z_dispense_entry = FCEntry() - self.z_dispense_label = QtWidgets.QLabel(_("Z Dispense:")) + self.z_dispense_label = QtWidgets.QLabel('%s:' % _("Z Dispense")) self.z_dispense_label.setToolTip( _("The height (Z) when doing solder paste dispensing.") ) @@ -179,7 +179,7 @@ class SolderPaste(FlatCAMTool): # Z dispense stop self.z_stop_entry = FCEntry() - self.z_stop_label = QtWidgets.QLabel(_("Z Dispense Stop:")) + self.z_stop_label = QtWidgets.QLabel('%s:' % _("Z Dispense Stop")) self.z_stop_label.setToolTip( _("The height (Z) when solder paste dispensing stops.") ) @@ -187,7 +187,7 @@ class SolderPaste(FlatCAMTool): # Z travel self.z_travel_entry = FCEntry() - self.z_travel_label = QtWidgets.QLabel(_("Z Travel:")) + self.z_travel_label = QtWidgets.QLabel('%s:' % _("Z Travel")) self.z_travel_label.setToolTip( _("The height (Z) for travel between pads\n" "(without dispensing solder paste).") @@ -196,7 +196,7 @@ class SolderPaste(FlatCAMTool): # Z toolchange location self.z_toolchange_entry = FCEntry() - self.z_toolchange_label = QtWidgets.QLabel(_("Z Toolchange:")) + self.z_toolchange_label = QtWidgets.QLabel('%s:' % _("Z Toolchange")) self.z_toolchange_label.setToolTip( _("The height (Z) for tool (nozzle) change.") ) @@ -204,7 +204,7 @@ class SolderPaste(FlatCAMTool): # X,Y Toolchange location self.xy_toolchange_entry = FCEntry() - self.xy_toolchange_label = QtWidgets.QLabel(_("XY Toolchange:")) + self.xy_toolchange_label = QtWidgets.QLabel('%s:' % _("Toolchange X-Y")) self.xy_toolchange_label.setToolTip( _("The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers.") @@ -213,7 +213,7 @@ class SolderPaste(FlatCAMTool): # Feedrate X-Y self.frxy_entry = FCEntry() - self.frxy_label = QtWidgets.QLabel(_("Feedrate X-Y:")) + self.frxy_label = QtWidgets.QLabel('%s:' % _("Feedrate X-Y")) self.frxy_label.setToolTip( _("Feedrate (speed) while moving on the X-Y plane.") ) @@ -221,7 +221,7 @@ class SolderPaste(FlatCAMTool): # Feedrate Z self.frz_entry = FCEntry() - self.frz_label = QtWidgets.QLabel(_("Feedrate Z:")) + self.frz_label = QtWidgets.QLabel('%s:' % _("Feedrate Z")) self.frz_label.setToolTip( _("Feedrate (speed) while moving vertically\n" "(on Z plane).") @@ -230,7 +230,7 @@ class SolderPaste(FlatCAMTool): # Feedrate Z Dispense self.frz_dispense_entry = FCEntry() - self.frz_dispense_label = QtWidgets.QLabel(_("Feedrate Z Dispense:")) + self.frz_dispense_label = QtWidgets.QLabel('%s:' % _("Feedrate Z Dispense")) self.frz_dispense_label.setToolTip( _("Feedrate (speed) while moving up vertically\n" " to Dispense position (on Z plane).") @@ -239,7 +239,7 @@ class SolderPaste(FlatCAMTool): # Spindle Speed Forward self.speedfwd_entry = FCEntry() - self.speedfwd_label = QtWidgets.QLabel(_("Spindle Speed FWD:")) + self.speedfwd_label = QtWidgets.QLabel('%s:' % _("Spindle Speed FWD")) self.speedfwd_label.setToolTip( _("The dispenser speed while pushing solder paste\n" "through the dispenser nozzle.") @@ -248,7 +248,7 @@ class SolderPaste(FlatCAMTool): # Dwell Forward self.dwellfwd_entry = FCEntry() - self.dwellfwd_label = QtWidgets.QLabel(_("Dwell FWD:")) + self.dwellfwd_label = QtWidgets.QLabel('%s:' % _("Dwell FWD")) self.dwellfwd_label.setToolTip( _("Pause after solder dispensing.") ) @@ -256,7 +256,7 @@ class SolderPaste(FlatCAMTool): # Spindle Speed Reverse self.speedrev_entry = FCEntry() - self.speedrev_label = QtWidgets.QLabel(_("Spindle Speed REV:")) + self.speedrev_label = QtWidgets.QLabel('%s:' % _("Spindle Speed REV")) self.speedrev_label.setToolTip( _("The dispenser speed while retracting solder paste\n" "through the dispenser nozzle.") @@ -265,7 +265,7 @@ class SolderPaste(FlatCAMTool): # Dwell Reverse self.dwellrev_entry = FCEntry() - self.dwellrev_label = QtWidgets.QLabel(_("Dwell REV:")) + self.dwellrev_label = QtWidgets.QLabel('%s:' % _("Dwell REV")) self.dwellrev_label.setToolTip( _("Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium.") @@ -273,7 +273,7 @@ class SolderPaste(FlatCAMTool): self.gcode_form_layout.addRow(self.dwellrev_label, self.dwellrev_entry) # Postprocessors - pp_label = QtWidgets.QLabel(_('PostProcessors:')) + pp_label = QtWidgets.QLabel('%s:' % _('PostProcessor')) pp_label.setToolTip( _("Files that control the GCode generation.") ) @@ -303,7 +303,7 @@ class SolderPaste(FlatCAMTool): grid2 = QtWidgets.QGridLayout() self.generation_box.addLayout(grid2) - step2_lbl = QtWidgets.QLabel("%s" % _('STEP 2:')) + step2_lbl = QtWidgets.QLabel("%s:" % _('STEP 2')) step2_lbl.setToolTip( _("Second step is to create a solder paste dispensing\n" "geometry out of an Solder Paste Mask Gerber file.") @@ -321,7 +321,7 @@ class SolderPaste(FlatCAMTool): self.geo_obj_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) self.geo_obj_combo.setCurrentIndex(1) - self.geo_object_label = QtWidgets.QLabel(_("Geo Result:")) + self.geo_object_label = QtWidgets.QLabel('%s:' % _("Geo Result")) self.geo_object_label.setToolTip( _("Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -332,7 +332,7 @@ class SolderPaste(FlatCAMTool): grid3 = QtWidgets.QGridLayout() self.generation_box.addLayout(grid3) - step3_lbl = QtWidgets.QLabel("%s" % _('STEP 3:')) + step3_lbl = QtWidgets.QLabel("%s:" % _('STEP 3')) step3_lbl.setToolTip( _("Third step is to select a solder paste dispensing geometry,\n" "and then generate a CNCJob object.\n\n" @@ -354,7 +354,7 @@ class SolderPaste(FlatCAMTool): self.cnc_obj_combo.setRootModelIndex(self.app.collection.index(3, 0, QtCore.QModelIndex())) self.cnc_obj_combo.setCurrentIndex(1) - self.cnc_object_label = QtWidgets.QLabel(_("CNC Result:")) + self.cnc_object_label = QtWidgets.QLabel('%s:' % _("CNC Result")) self.cnc_object_label.setToolTip( _("CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -378,7 +378,7 @@ class SolderPaste(FlatCAMTool): "on PCB pads, to a file.") ) - step4_lbl = QtWidgets.QLabel("%s" % _('STEP 4:')) + step4_lbl = QtWidgets.QLabel("%s:" % _('STEP 4')) step4_lbl.setToolTip( _("Fourth step (and last) is to select a CNCJob made from \n" "a solder paste dispensing geometry, and then view/save it's GCode.") @@ -436,7 +436,12 @@ class SolderPaste(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/flatcamTools/ToolSub.py b/flatcamTools/ToolSub.py index 5715742d..5125a9e0 100644 --- a/flatcamTools/ToolSub.py +++ b/flatcamTools/ToolSub.py @@ -23,6 +23,8 @@ if '_' not in builtins.__dict__: class ToolSub(FlatCAMTool): + job_finished = QtCore.pyqtSignal(bool) + toolName = _("Substract Tool") def __init__(self, app): @@ -52,7 +54,7 @@ class ToolSub(FlatCAMTool): form_layout = QtWidgets.QFormLayout() self.tools_box.addLayout(form_layout) - self.gerber_title = QtWidgets.QLabel(_("Gerber Objects")) + self.gerber_title = QtWidgets.QLabel("%s" % _("Gerber Objects")) form_layout.addRow(self.gerber_title) # Target Gerber Object @@ -61,7 +63,7 @@ class ToolSub(FlatCAMTool): self.target_gerber_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.target_gerber_combo.setCurrentIndex(1) - self.target_gerber_label = QtWidgets.QLabel(_("Target:")) + self.target_gerber_label = QtWidgets.QLabel('%s:' % _("Target")) self.target_gerber_label.setToolTip( _("Gerber object from which to substract\n" "the substractor Gerber object.") @@ -75,7 +77,7 @@ class ToolSub(FlatCAMTool): self.sub_gerber_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.sub_gerber_combo.setCurrentIndex(1) - self.sub_gerber_label = QtWidgets.QLabel(_("Substractor:")) + self.sub_gerber_label = QtWidgets.QLabel('%s:' % _("Substractor")) self.sub_gerber_label.setToolTip( _("Gerber object that will be substracted\n" "from the target Gerber object.") @@ -98,7 +100,7 @@ class ToolSub(FlatCAMTool): form_geo_layout = QtWidgets.QFormLayout() self.tools_box.addLayout(form_geo_layout) - self.geo_title = QtWidgets.QLabel(_("Geometry Objects")) + self.geo_title = QtWidgets.QLabel("%s" % _("Geometry Objects")) form_geo_layout.addRow(self.geo_title) # Target Geometry Object @@ -107,7 +109,7 @@ class ToolSub(FlatCAMTool): self.target_geo_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) self.target_geo_combo.setCurrentIndex(1) - self.target_geo_label = QtWidgets.QLabel(_("Target:")) + self.target_geo_label = QtWidgets.QLabel('%s:' % _("Target")) self.target_geo_label.setToolTip( _("Geometry object from which to substract\n" "the substractor Geometry object.") @@ -121,7 +123,7 @@ class ToolSub(FlatCAMTool): self.sub_geo_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) self.sub_geo_combo.setCurrentIndex(1) - self.sub_geo_label = QtWidgets.QLabel(_("Substractor:")) + self.sub_geo_label = QtWidgets.QLabel('%s:' % _("Substractor")) self.sub_geo_label.setToolTip( _("Geometry object that will be substracted\n" "from the target Geometry object.") @@ -188,6 +190,7 @@ class ToolSub(FlatCAMTool): except (TypeError, AttributeError): pass self.intersect_geo_btn.clicked.connect(self.on_geo_intersection_click) + self.job_finished.connect(self.on_job_finished) def install(self, icon=None, separator=None, **kwargs): FlatCAMTool.install(self, icon, separator, shortcut='ALT+W', **kwargs) @@ -202,7 +205,12 @@ class ToolSub(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: @@ -286,7 +294,7 @@ class ToolSub(FlatCAMTool): for apid in self.target_grb_obj.apertures: self.promises.append(apid) - # start the QTimer to check for promises with 1 second period check + # start the QTimer to check for promises with 0.5 second period check self.periodic_check(500, reset=True) for apid in self.target_grb_obj.apertures: @@ -413,7 +421,10 @@ class ToolSub(FlatCAMTool): # cleanup self.new_apertures.clear() self.new_solid_geometry[:] = [] - self.sub_union[:] = [] + try: + self.sub_union[:] = [] + except TypeError: + self.sub_union = [] def on_geo_intersection_click(self): # reset previous values @@ -455,14 +466,14 @@ class ToolSub(FlatCAMTool): return # create the target_options obj - self.target_options = {} - for opt in self.target_geo_obj.options: - if opt != 'name': - self.target_options[opt] = deepcopy(self.target_geo_obj.options[opt]) + # self.target_options = dict() + # for k, v in self.target_geo_obj.options.items(): + # if k != 'name': + # self.target_options[k] = v # crate the new_tools dict structure for tool in self.target_geo_obj.tools: - self.new_tools[tool] = {} + self.new_tools[tool] = dict() for key in self.target_geo_obj.tools[tool]: if key == 'solid_geometry': self.new_tools[tool][key] = [] @@ -514,16 +525,14 @@ class ToolSub(FlatCAMTool): if isinstance(geo_elem, Polygon): for ring in self.poly2rings(geo_elem): new_geo = ring.difference(self.sub_union) - if new_geo: - if not new_geo.is_empty: - new_geometry.append(new_geo) + if new_geo and not new_geo.is_empty: + new_geometry.append(new_geo) elif isinstance(geo_elem, MultiPolygon): for poly in geo_elem: for ring in self.poly2rings(poly): new_geo = ring.difference(self.sub_union) - if new_geo: - if not new_geo.is_empty: - new_geometry.append(new_geo) + if new_geo and not new_geo.is_empty: + new_geometry.append(new_geo) elif isinstance(geo_elem, LineString): new_geo = geo_elem.difference(self.sub_union) if new_geo: @@ -532,9 +541,8 @@ class ToolSub(FlatCAMTool): elif isinstance(geo_elem, MultiLineString): for line_elem in geo_elem: new_geo = line_elem.difference(self.sub_union) - if new_geo: - if not new_geo.is_empty: - new_geometry.append(new_geo) + if new_geo and not new_geo.is_empty: + new_geometry.append(new_geo) except TypeError: if isinstance(geo, Polygon): for ring in self.poly2rings(geo): @@ -544,15 +552,13 @@ class ToolSub(FlatCAMTool): new_geometry.append(new_geo) elif isinstance(geo, LineString): new_geo = geo.difference(self.sub_union) - if new_geo: - if not new_geo.is_empty: - new_geometry.append(new_geo) + if new_geo and not new_geo.is_empty: + new_geometry.append(new_geo) elif isinstance(geo, MultiLineString): for line_elem in geo: new_geo = line_elem.difference(self.sub_union) - if new_geo: - if not new_geo.is_empty: - new_geometry.append(new_geo) + if new_geo and not new_geo.is_empty: + new_geometry.append(new_geo) if new_geometry: if tool == "single": @@ -575,10 +581,14 @@ class ToolSub(FlatCAMTool): log.debug("Promise fulfilled: %s" % str(tool)) def new_geo_object(self, outname): + geo_name = outname def obj_init(geo_obj, app_obj): - geo_obj.options = deepcopy(self.target_options) - geo_obj.options['name'] = outname + # geo_obj.options = self.target_options + # create the target_options obj + for k, v in self.target_geo_obj.options.items(): + geo_obj.options[k] = v + geo_obj.options['name'] = geo_name if self.target_geo_obj.multigeo: geo_obj.tools = deepcopy(self.new_tools) @@ -593,6 +603,7 @@ class ToolSub(FlatCAMTool): geo_obj.tools[tool]['solid_geometry'] = deepcopy(self.new_solid_geometry) except Exception as e: log.debug("ToolSub.new_geo_object() --> %s" % str(e)) + geo_obj.multigeo = False with self.app.proc_container.new(_("Generating new object ...")): ret = self.app.new_object('geometry', outname, obj_init, autoselected=False) @@ -607,7 +618,7 @@ class ToolSub(FlatCAMTool): # cleanup self.new_tools.clear() self.new_solid_geometry[:] = [] - self.sub_union[:] = [] + self.sub_union = [] def periodic_check(self, check_period, reset=False): """ @@ -645,27 +656,39 @@ class ToolSub(FlatCAMTool): try: if not self.promises: self.check_thread.stop() - if self.sub_type == "gerber": - outname = self.target_gerber_combo.currentText() + '_sub' - - # intersection jobs finished, start the creation of solid_geometry - self.app.worker_task.emit({'fcn': self.new_gerber_object, - 'params': [outname]}) - else: - outname = self.target_geo_combo.currentText() + '_sub' - - # intersection jobs finished, start the creation of solid_geometry - self.app.worker_task.emit({'fcn': self.new_geo_object, - 'params': [outname]}) + self.job_finished.emit(True) # reset the type of substraction for next time self.sub_type = None log.debug("ToolSub --> Periodic check finished.") except Exception as e: + self.job_finished.emit(False) log.debug("ToolSub().periodic_check_handler() --> %s" % str(e)) traceback.print_exc() + def on_job_finished(self, succcess): + """ + + :param succcess: boolean, this parameter signal if all the apertures were processed + :return: None + """ + if succcess is True: + if self.sub_type == "gerber": + outname = self.target_gerber_combo.currentText() + '_sub' + + # intersection jobs finished, start the creation of solid_geometry + self.app.worker_task.emit({'fcn': self.new_gerber_object, + 'params': [outname]}) + else: + outname = self.target_geo_combo.currentText() + '_sub' + + # intersection jobs finished, start the creation of solid_geometry + self.app.worker_task.emit({'fcn': self.new_geo_object, + 'params': [outname]}) + else: + self.app.inform.emit(_('[ERROR_NOTCL] Generating new object failed.')) + def reset_fields(self): self.target_gerber_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.sub_gerber_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) diff --git a/flatcamTools/ToolTransform.py b/flatcamTools/ToolTransform.py index 27b3f6bc..54744231 100644 --- a/flatcamTools/ToolTransform.py +++ b/flatcamTools/ToolTransform.py @@ -65,7 +65,7 @@ class ToolTransform(FlatCAMTool): self.transform_lay.addLayout(form_layout) form_child = QtWidgets.QHBoxLayout() - self.rotate_label = QtWidgets.QLabel(_("Angle:")) + self.rotate_label = QtWidgets.QLabel('%s:' % _("Angle")) self.rotate_label.setToolTip( _("Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -104,7 +104,7 @@ class ToolTransform(FlatCAMTool): form1_child_1 = QtWidgets.QHBoxLayout() form1_child_2 = QtWidgets.QHBoxLayout() - self.skewx_label = QtWidgets.QLabel(_("Angle X:")) + self.skewx_label = QtWidgets.QLabel('%s:' % _("Skew_X angle")) self.skewx_label.setToolTip( _("Angle for Skew action, in degrees.\n" "Float number between -360 and 359.") @@ -122,7 +122,7 @@ class ToolTransform(FlatCAMTool): "the bounding box for all selected objects.")) self.skewx_button.setMinimumWidth(90) - self.skewy_label = QtWidgets.QLabel(_("Angle Y:")) + self.skewy_label = QtWidgets.QLabel('%s:' % _("Skew_Y angle")) self.skewy_label.setToolTip( _("Angle for Skew action, in degrees.\n" "Float number between -360 and 359.") @@ -161,9 +161,9 @@ class ToolTransform(FlatCAMTool): form2_child_1 = QtWidgets.QHBoxLayout() form2_child_2 = QtWidgets.QHBoxLayout() - self.scalex_label = QtWidgets.QLabel(_("Factor X:")) + self.scalex_label = QtWidgets.QLabel('%s:' % _("Scale_X factor")) self.scalex_label.setToolTip( - _("Factor for Scale action over X axis.") + _("Factor for scaling on X axis.") ) self.scalex_label.setMinimumWidth(70) self.scalex_entry = FCEntry() @@ -178,9 +178,9 @@ class ToolTransform(FlatCAMTool): "the Scale reference checkbox state.")) self.scalex_button.setMinimumWidth(90) - self.scaley_label = QtWidgets.QLabel(_("Factor Y:")) + self.scaley_label = QtWidgets.QLabel('%s:' % _("Scale_Y factor")) self.scaley_label.setToolTip( - _("Factor for Scale action over Y axis.") + _("Factor for scaling on Y axis.") ) self.scaley_label.setMinimumWidth(70) self.scaley_entry = FCEntry() @@ -200,12 +200,13 @@ class ToolTransform(FlatCAMTool): self.scale_link_cb.setText(_("Link")) self.scale_link_cb.setToolTip( _("Scale the selected object(s)\n" - "using the Scale Factor X for both axis.")) + "using the Scale_X factor for both axis.") + ) self.scale_link_cb.setMinimumWidth(70) self.scale_zero_ref_cb = FCCheckBox() self.scale_zero_ref_cb.set_value(True) - self.scale_zero_ref_cb.setText(_("Scale Reference")) + self.scale_zero_ref_cb.setText('%s' % _("Scale Reference")) self.scale_zero_ref_cb.setToolTip( _("Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -235,9 +236,9 @@ class ToolTransform(FlatCAMTool): form3_child_1 = QtWidgets.QHBoxLayout() form3_child_2 = QtWidgets.QHBoxLayout() - self.offx_label = QtWidgets.QLabel(_("Value X:")) + self.offx_label = QtWidgets.QLabel('%s:' % _("Offset_X val")) self.offx_label.setToolTip( - _("Value for Offset action on X axis.") + _("Distance to offset on X axis. In current units.") ) self.offx_label.setMinimumWidth(70) self.offx_entry = FCEntry() @@ -252,9 +253,9 @@ class ToolTransform(FlatCAMTool): "the bounding box for all selected objects.\n")) self.offx_button.setMinimumWidth(90) - self.offy_label = QtWidgets.QLabel(_("Value Y:")) + self.offy_label = QtWidgets.QLabel('%s:' % _("Offset_Y val")) self.offy_label.setToolTip( - _("Value for Offset action on Y axis.") + _("Distance to offset on Y axis. In current units.") ) self.offy_label.setMinimumWidth(70) self.offy_entry = FCEntry() @@ -309,7 +310,7 @@ class ToolTransform(FlatCAMTool): self.flip_ref_cb = FCCheckBox() self.flip_ref_cb.set_value(True) - self.flip_ref_cb.setText(_("Ref Pt")) + self.flip_ref_cb.setText('%s' % _("Mirror Reference")) self.flip_ref_cb.setToolTip( _("Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -322,7 +323,7 @@ class ToolTransform(FlatCAMTool): "Point Entry field and click Flip on X(Y)")) self.flip_ref_cb.setMinimumWidth(70) - self.flip_ref_label = QtWidgets.QLabel(_("Point:")) + self.flip_ref_label = QtWidgets.QLabel('%s:' % _(" Mirror Ref. Point")) self.flip_ref_label.setToolTip( _("Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -384,7 +385,12 @@ class ToolTransform(FlatCAMTool): else: try: if self.app.ui.tool_scroll_area.widget().objectName() == self.toolName: - self.app.ui.splitter.setSizes([0, 1]) + # if tab is populated with the tool but it does not have the focus, focus on it + if not self.app.ui.notebook.currentWidget() is self.app.ui.tool_tab: + # focus on Tool Tab + self.app.ui.notebook.setCurrentWidget(self.app.ui.tool_tab) + else: + self.app.ui.splitter.setSizes([0, 1]) except AttributeError: pass else: diff --git a/locale/de/LC_MESSAGES/strings.mo b/locale/de/LC_MESSAGES/strings.mo index c5864636..8dbf887e 100644 Binary files a/locale/de/LC_MESSAGES/strings.mo and b/locale/de/LC_MESSAGES/strings.mo differ diff --git a/locale/de/LC_MESSAGES/strings.po b/locale/de/LC_MESSAGES/strings.po index ac5f3bd1..ded411c3 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: 2019-08-17 15:12+0300\n" -"PO-Revision-Date: 2019-08-17 15:13+0300\n" +"POT-Creation-Date: 2019-08-23 22:35+0300\n" +"PO-Revision-Date: 2019-08-23 22:46+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -17,17 +17,17 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "Neues Projekt - Nicht gespeichert" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Die Sprachdateien konnten nicht gefunden werden. Die App-" "Zeichenfolgen fehlen." -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "Abnehmbare Laschen" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" @@ -35,26 +35,30 @@ msgstr "" "(Geben Sie help ein, um zu beginnen.)\n" "\n" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "Neues Projekt - Nicht gespeichert" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Geöffnet storniert." -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "Open Config-Datei ist fehlgeschlagen." -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "Open Script-Datei ist fehlgeschlagen." -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" "[WARNING_NOTCL] Wählen Sie ein zu bearbeitendes Geometrie-, Gerber- oder " "Excellon-Objekt aus." -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -64,90 +68,92 @@ msgstr "" "Multi-Geo-Geometrie ist nicht möglich.\n" "Bearbeiten Sie jeweils nur eine Geometrie." -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editor ist aktiviert ..." -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "Möchten Sie das bearbeitete Objekt speichern?" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "Editor schließen" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "Ja" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "Nein" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "Kündigen" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Das Objekt ist nach der Bearbeitung leer." -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Wählen Sie ein Gerber-, Geometrie- oder Excellon-Objekt zum " "Aktualisieren aus." -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s wird aktualisiert und kehrt zur App zurück ..." -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Fehler beim Parsen der Standarddatei." -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "FlatCAM-Voreinstellungen importieren" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] Import der FlatCAM-Einstellungen wurde abgebrochen." -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "[ERROR_NOTCL] Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Fehler beim Parsen der Standarddatei." -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Importierte Standardwerte aus %s" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "FlatCAM-Voreinstellungen exportieren" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] Export der FlatCAM-Einstellungen wurde abgebrochen." -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -155,25 +161,25 @@ msgstr "" "[WARNING] Berechtigung verweigert, Speichern nicht möglich.\n" "Wahrscheinlich hält eine andere App die Datei offen und ist nicht zugänglich." -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Fehler beim Schreiben der Standardwerte in die Datei." -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" "[ERROR_NOTCL] Fehler beim Öffnen der zuletzt geöffneten Datei zum Schreiben." -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "" "[ERROR_NOTCL] Fehler beim Öffnen der letzten Projektdatei zum Schreiben." -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -182,11 +188,11 @@ msgstr "" "Objekt ({kind}) gescheitert weil: {error} \n" "\n" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "Einheiten in umrechnen " -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" "" -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -218,36 +224,36 @@ msgstr "" "org/jpcgt/flatcam/src/Beta/\">hier.
DOWNLOAD-Bereich hier.
" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "Schließen" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "[success] Standardeinstellungen gespeichert." -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "[ERROR_NOTCL] Factory-Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "[ERROR_NOTCL] Fehler beim Parsen der Werksvorgaben-Datei." -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" "[ERROR_NOTCL] Fehler beim Schreiben der Werkseinstellungen in die Datei." -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "Werkseinstellungen gespeichert." -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Anwendung speichert das Projekt. Warten Sie mal ..." -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -255,11 +261,11 @@ msgstr "" "In FlatCAM wurden Dateien / Objekte geändert.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Änderungen speichern" -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -277,46 +283,46 @@ msgstr "" "und das Ergebnis entspricht möglicherweise nicht dem, was erwartet wurde.\n" "Überprüfen Sie den generierten GCODE." -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Gescheitert. Die Verbindung von Excellon funktioniert nur bei " "Excellon-Objekten." -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Gescheitert. Das Gerber-Verbinden funktioniert nur bei Gerber-" "Objekten." -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" "[ERROR_NOTCL] Gescheitert. Wählen Sie ein Geometrieobjekt aus und versuchen " "Sie es erneut." -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Erwartete eine FlatCAMGeometry, bekam % s" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Ein Geometrieobjekt wurde in den MultiGeo-Typ konvertiert." -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Ein Geometrieobjekt wurde in den SingleGeo-Typ konvertiert." -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "Einheiten umschalten" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." -msgstr " Projekteinheiten ändern ... " +#: FlatCAMApp.py:4172 +msgid "Change project units ..." +msgstr "Projekteinheiten ändern ..." -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -326,43 +332,43 @@ msgstr "" "Eigenschaften aller Objekte entsprechend skaliert.\n" "Fortsetzen?" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Einheiten in umgerechnet %s" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Einheitenumrechnung abgebrochen." -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "Datei öffnen" -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "G-Code exportieren ..." -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Exportcode wurde abgebrochen." -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "[WARNING] Keine solche Datei oder Ordner" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "Gespeichert in: %s" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." @@ -370,12 +376,12 @@ msgstr "" "[WARNING_NOTCL] Bitte geben Sie einen Werkzeugdurchmesser mit einem Wert " "ungleich Null im Float-Format ein." -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Addierwerkzeug abgebrochen ..." -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -384,11 +390,11 @@ msgstr "" "ist.\n" "Gehen Sie zu Einstellungen -> Allgemein - Erweiterte Optionen anzeigen." -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "Objekte löschen" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -396,67 +402,67 @@ msgstr "" "Möchten Sie wirklich dauerhaft löschen?\n" "die ausgewählten Objekte?" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "Objekt (e) gelöscht ..." -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "Gescheitert. Kein Objekt ausgewählt ..." -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "Speichern Sie die Arbeit im Editor und versuchen Sie es erneut ..." -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "Klicken Sie hier, um den Ursprung festzulegen ..." -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "Springen zu ..." -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "Geben Sie die Koordinaten im Format X, Y ein:" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Falsche Koordinaten. Koordinaten im Format eingeben: X, Y" -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "[success] Erledigt." -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" "[WARNING_NOTCL] Es ist kein Objekt ausgewählt. Wählen Sie ein Objekt und " "versuchen Sie es erneut." -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "[success] Ursprung gesetzt ..." -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "Einstellungen" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "[WARNING_NOTCL] Einstellungen bearbeitet, aber nicht gespeichert." -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -464,112 +470,112 @@ msgstr "" "Ein oder mehrere Werte werden geändert.\n" "Möchten Sie die Einstellungen speichern?" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "Voreinstell. speech." -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "[success] Einstellungen gespeichert." -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt, um auf der Y-Achse zu kippen." -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "[success] Y-Achse umdrehen fertig." -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Aufgrund von %s wurde die Flip-Aktion nicht ausgeführt." -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt, um auf der X-Achse zu kippen." -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "[success] Dreh auf der X-Achse fertig." -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Kein Objekt zum Drehen ausgewählt." -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "Verwandeln" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "Geben Sie den Winkelwert ein:" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "[success] Rotation erfolgt." -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde keine Rotationsbewegung ausgeführt." -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "" "[WARNING_NOTCL] Kein Objekt für Neigung / Scherung auf der X-Achse " "ausgewählt." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "[success] Neigung auf der X-Achse fertig." -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "" "[WARNING_NOTCL] Kein Objekt für Neigung / Scherung auf der Y-Achse " "ausgewählt." -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "[success] Neigung auf der Y-Achse fertig." -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "Raster ein/aus" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "Hinzufügen" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Löschen" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "Neues Raster ..." -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "Geben Sie einen Rasterwert ein:" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -577,56 +583,56 @@ msgstr "" "[WARNING_NOTCL] Bitte geben Sie im Float-Format einen Rasterwert mit einem " "Wert ungleich Null ein." -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "[success] Neues Netz hinzugefügt ..." -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Netz existiert bereits ..." -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Neues Netz wurde abgebrochen ..." -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Rasterwert existiert nicht ..." -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "[success] Rasterwert gelöscht ..." -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Rasterwert löschen abgebrochen ..." -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "Tastenkürzel Liste" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] Kein Objekt zum Kopieren des Namens ausgewählt" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "Name in Zwischenablage kopiert ..." -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "[success] Koordinaten in die Zwischenablage kopiert." -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} ausgewählt" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -636,112 +642,112 @@ msgstr "" "Wenn Sie ein neues Projekt erstellen, werden diese gelöscht.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "[success] Neues Projekt erstellt ..." -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Offener Gerber abgebrochen." -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "Excellon öffnen" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Offener Excellon abgebrochen." -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "G-Code öffnen" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Geöffneter G-Code wurde abgebrochen." -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "Offenes Projekt" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Projekt abbrechen abgebrochen." -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "Offene Einstellungsdatei" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Offene Konfiguration abgebrochen." -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt" -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "Bitte wählen Sie ein Geometrieobjekt zum Exportieren aus" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" "[ERROR_NOTCL] Es können nur Geometrie-, Gerber- und CNCJob-Objekte verwendet " "werden." -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Export SVG abgebrochen." -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" "[WARNING_NOTCL] Daten müssen ein 3D-Array mit der letzten Dimension 3 oder 4 " "sein" -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "PNG-Bild exportieren" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "Export PNG abgebrochen." -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Fehlgeschlagen. Nur Gerber-Objekte können als Gerber-Dateien " "gespeichert werden ..." -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "Gerber-Quelldatei speichern" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Gerber Quelldatei speichern abgebrochen." -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -749,22 +755,22 @@ msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt Bitte wählen Sie ein Excellon-Objekt " "zum Exportieren aus." -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Fehlgeschlagen. Nur Excellon-Objekte können als Excellon-" "Dateien gespeichert werden ..." -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "Speichern Sie die Excellon-Quelldatei" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Speichern der Excellon-Quelldatei abgebrochen." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -772,70 +778,70 @@ msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Excellon-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Export Excellon wurde abgebrochen." -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Export Gerber abgebrochen." -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Es können nur Geometrieobjekte verwendet werden." -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Export DXF wurde abgebrochen." -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Open SVG abgebrochen." -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "Importieren Sie DXF" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Open DXF cancelled." -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Wählen Sie eine Gerber- oder Excellon-Datei aus, um die " "Quelldatei anzuzeigen." -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -843,25 +849,25 @@ msgstr "" "[WARNING_NOTCL] Es gibt kein ausgewähltes Objekt, für das man seinen " "Quelldateien sehen kann." -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "Quelleditor" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "Code-Editor" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -905,98 +911,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "Öffnen Sie das TCL-Skript" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Open TCL-Skript wurde abgebrochen." -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "Führen Sie das TCL-Skript aus" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Das TCL-Skript wird abgebrochen." -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "Projekt speichern als ..." -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Projekt_{date}" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Projekt speichern abgebrochen" -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] SVG-Datei in exportiert %s" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Kein Objektfeld. Stattdessen verwenden %s" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "Film wird erstellt ... Bitte warten Sie." -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excellon-Datei nach exportiert %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Excellon-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Gerber-Datei in exportiert %s" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Gerber-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] DXF-Datei in exportiert %s" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[WARNING_NOTCL] DXF-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -1004,99 +1010,99 @@ msgstr "" "[ERROR_NOTCL] Nicht unterstützte Art wird als Parameter ausgewählt. Nur " "Geometrie und Gerber werden unterstützt" -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Geöffnet: %s" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "DXF importieren" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "Bild importieren" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Datei konnte nicht geöffnet werden: %s" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Fehler beim Parsen der Datei: {name}. {error}" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "[ERROR] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Objekt ist keine Gerber-Datei oder leer. Abbruch der " "Objekterstellung" -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Gerber öffnen ist fehlgeschlagen. Wahrscheinlich keine Gerber-" "Datei." -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Dies ist keine Excellon-Datei." -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Kann Datei nicht öffnen: %s" -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] Keine Geometrie in der Datei gefunden: %s" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "Eröffnung Excellon." -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Die Excellon-Datei konnte nicht geöffnet werden. " "Wahrscheinlich keine Excellon-Datei." -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Gescheitert zu öffnen %s" -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Dies ist kein GCODE" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "G-Code öffnen." -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1107,26 +1113,34 @@ msgstr "" "Der Versuch, ein FlatCAM-CNCJob-Objekt aus einer G-Code-Datei zu erstellen, " "ist während der Verarbeitung fehlgeschlagen" -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Fehler beim Öffnen der Konfigurationsdatei: %s" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "Projekt wird geladen ... Bitte warten ..." + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Projektdatei konnte nicht geöffnet werden: %s" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "Projekt wird geladen ... wird wiederhergestellt" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Projekt geladen von: %s" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "Verfügbare Befehle:\n" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1138,38 +1152,38 @@ msgstr "" "Geben Sie help für die Verwendung ein.\n" "Beispiel: help open_gerber" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "Zeigt eine Liste von Befehlen an." -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Fehler beim Laden der letzten Elementliste." -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "" "[ERROR_NOTCL] Liste der letzten Artikel konnte nicht analysiert werden." -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "[ERROR_NOTCL] Fehler beim Laden der Artikelliste der letzten Projekte." -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "" "[ERROR_NOTCL] Fehler beim Analysieren der Liste der zuletzt verwendeten " "Projektelemente." -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "Letzte Dateien löschen" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr " Liste der Tastenkombinationen " -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1270,27 +1284,27 @@ msgstr "" "Verknüpfungsliste oder über eine eigene Tastenkombination: " "F3.

" -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Fehler bei der Suche nach der neuesten Version. Konnte keine " "Verbindung herstellen." -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] Informationen zur neuesten Version konnten nicht analysiert " "werden." -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM ist auf dem neuesten Version!" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "Neuere Version verfügbar" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1298,86 +1312,86 @@ msgstr "" "Es gibt eine neuere Version von FlatCAM zum Download:\n" "\n" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "Info" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "[success] Alle Diagramme sind deaktiviert." -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "[success] Alle nicht ausgewählten Diagramme sind deaktiviert." -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "[success] Alle Diagramme aktiviert." -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "[success] Ausgewählte Grundstücke aktiviert ..." -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "[success] Ausgewählte Grundstücke deaktiviert ..." -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "Arbeiten ..." -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "FlatCAM-Projekt speichern" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Projekt gespeichert in: %s" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Fehler beim Überprüfen der Projektdatei:%s. Versuchen Sie es " "erneut zu speichern." -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Die gespeicherte Projektdatei konnte nicht analysiert werden:" "%s. Versuchen Sie es erneut zu speichern." -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Projektdatei konnte nicht gespeichert werden:%s. Versuchen Sie " "es erneut zu speichern." -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name geändert von {old} zu {new}" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "Erweitert" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "[ERROR_NOTCL] Isolationsgeometrie konnte nicht generiert werden." -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "Rau" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Isolationsgeometrie erstellt: %s" @@ -1386,34 +1400,34 @@ msgstr "[success] Isolationsgeometrie erstellt: %s" msgid "Plotting Apertures" msgstr "Plotten Apertures" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "Bohrungen insgesamt" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "Schlitz insgesamt" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Falsches Wertformat eingegeben, eine Zahl verwenden." @@ -1436,9 +1450,9 @@ msgid "Tool_nr" msgstr "Werkzeugnummer" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Durchmesser" @@ -1478,8 +1492,8 @@ msgstr "" msgid "Generating CNC Code" msgstr "CNC-Code generieren" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1489,16 +1503,16 @@ msgstr "" "muss das Format (x, y) haben.\n" "Aber jetzt gibt es nur einen Wert, nicht zwei." -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "Oberfläche" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "Kopieren" @@ -1574,22 +1588,22 @@ msgstr "" "jedoch kein Wert angegeben.\n" "Fügen Sie einen Werkzeugversatz hinzu oder ändern Sie den Versatztyp." -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Abgebrochen. Leere Datei, es hat keine Geometrie ..." -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] Der Skalierungsfaktor muss eine Zahl sein: Ganzzahl oder " "Fließkommazahl." -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "[success] Geometrie Skalierung fertig." -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1597,29 +1611,29 @@ msgstr "" "[ERROR_NOTCL] Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben Sie " "im Feld Offset nur einen Wert eingegeben." -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "[success] Geometrie Offset fertig." -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "Maschinencode exportieren ..." -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Maschinencode-Datei gespeichert in: %s" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1628,11 +1642,11 @@ msgstr "" "[WARNING_NOTCL] Dieses CNC-Auftrag Objekt kann nicht verarbeitet werden, da " "es sich um ein %s CNC-Auftrag Objekt handelt." -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] G-Code hat keinen Einheitencode: entweder G20 oder G21" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1640,17 +1654,17 @@ msgstr "" "[ERROR_NOTCL] Abgebrochen. Der benutzerdefinierte Code zum Ändern des " "Werkzeugs ist aktiviert, aber er ist leer." -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" "[success] Der Werkzeugwechsel-G-Code wurde durch einen benutzerdefinierten " "Code ersetzt." -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Keine solche Datei oder Ordner" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1658,7 +1672,7 @@ msgstr "" "[WARNING_NOTCL] Die verwendete Postprozessor-Datei muss im Namen enthalten " "sein: 'toolchange_custom'" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Es gibt keine Postprozessor-Datei." @@ -1690,42 +1704,42 @@ msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "" "[ERROR_NOTCL] self.solid_geometry ist weder BaseGeometry noch eine Liste." -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "[success] Objekt wurde gespiegelt ..." -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Spiegelung fehlgeschlagen Kein Objekt ausgewählt" -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "[success] Objekt wurde gedreht ..." -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Fehler beim Drehen. Kein Objekt ausgewählt" -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "[success] Objekt war schief ..." -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Fehler beim Neigen Kein Objekt ausgewählt" -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Koordinaten fehlen, Zeile wird ignoriert: %s" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" "[WARNING_NOTCL] Die GERBER-Datei könnte CORRUPT sein. Überprüfen Sie die " "Datei !!!" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1734,7 +1748,7 @@ msgstr "" "[ERROR] Region hat nicht genug Punkte. Die Datei wird verarbeitet, es treten " "jedoch Parserfehler auf. Linien Nummer: %s" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1743,32 +1757,32 @@ msgstr "" "[ERROR] Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "[success] Gerber-Skalierung abgeschlossen." -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset fertig." -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "[success] Gerber Mirror fertig." -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "[success] Gerber-Versatz fertig." -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber drehen fertig." -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Dies ist die GCODE-Marke: %s" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1785,7 +1799,7 @@ msgstr "" "Der Benutzer muss das resultierende Excellon-Objekt bearbeiten und die " "Durchmesser ändern, um die tatsächlichen Durchmesser widerzuspiegeln." -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1794,7 +1808,7 @@ msgstr "" "[ERROR] Fehler beim Excellon-Parser.\n" "Parsing fehlgeschlagen. Zeile {l_nr}: {line}\n" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1804,12 +1818,12 @@ msgstr "" "da kein Werkzeug zugeordnet wurde.\n" "Überprüfen Sie den resultierenden GCode." -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Es gibt keinen solchen Parameter: %s" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1824,7 +1838,7 @@ msgstr "" "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1832,15 +1846,15 @@ msgstr "" "[WARNING] Der Parameter Cut Z ist Null. Es wird kein Schnitt ausgeführt, da " "die %s Datei übersprungen wird" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] Die geladene Excellon-Datei hat keine Bohrer ..." -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Falscher Optimierungstyp ausgewählt." -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1848,7 +1862,7 @@ msgstr "" "[ERROR_NOTCL] Der Parameter Cut_Z ist None oder Null. Höchstwahrscheinlich " "eine schlechte Kombination anderer Parameter." -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1863,11 +1877,11 @@ msgstr "" "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Der Parameter für den Travel Z ist Kein oder Null." -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1881,7 +1895,7 @@ msgstr "" "einen Tippfehler handelt, konvertiert die App den Wert in einen positiven " "Wert. Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1889,12 +1903,12 @@ msgstr "" "[WARNING] Der Parameter Z-Weg ist Null. Dies ist gefährlich, da die %s Datei " "übersprungen wird" -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Eine Geometrie erwartet,%s erhalten" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1902,7 +1916,7 @@ msgstr "" "[ERROR_NOTCL] Der Versuch, einen CNC-Auftrag aus einem Geometrieobjekt ohne " "solid_geometry zu generieren." -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1912,55 +1926,55 @@ msgstr "" "current_geometry zu verwenden.\n" "Erhöhen Sie den Wert (im Modul) und versuchen Sie es erneut." -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] In der SolderPaste-Geometrie sind keine Werkzeugdaten " "vorhanden." -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "Zum Platzieren klicken ..." -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "" "[WARNING_NOTCL] Um einen Bohrer hinzuzufügen, wählen Sie zuerst ein Werkzeug " "aus" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "[success] Erledigt. Bohrer hinzugefügt." -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Um ein Bohr-Array hinzuzufügen, wählen Sie zunächst ein " "Werkzeug in der Werkzeugtabelle aus" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "Klicken Sie auf den Zielort ..." -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "Klicken Sie auf die Startposition des Bohrkreis-Arrays" -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." @@ -1968,118 +1982,118 @@ msgstr "" "[ERROR_NOTCL] Der Wert ist nicht Real. Überprüfen Sie das Komma anstelle des " "Trennzeichens." -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "" "[ERROR_NOTCL] Der Wert ist falsch eingegeben. Überprüfen Sie den Wert. %s" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "[WARNING_NOTCL] Zu viele Bohrer für den ausgewählten Abstandswinkel." -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "[success] Erledigt. Bohrfeld hinzugefügt." -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "" "[WARNING_NOTCL] Um einen Steckplatz hinzuzufügen, wählen Sie zunächst ein " "Werkzeug aus" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Wert fehlt oder falsches Format. Fügen Sie es hinzu und " "versuchen Sie es erneut." -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "[success] Erledigt. Das Hinzufügen des Slots ist abgeschlossen." -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Um ein Schlitze-Array hinzuzufügen, wählen Sie zunächst ein " "Werkzeug in der Werkzeugtabelle aus" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "Klicken Sie auf die kreisförmige Startposition des Arrays" -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "" "[ERROR_NOTCL] Der Wert ist falsch geschrieben. Überprüfen Sie den Wert." -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "[WARNING_NOTCL] Zu viele Slots für den ausgewählten Abstandswinkel." -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "[success] Erledigt. Schlitze Array hinzugefügt." -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "Klicken Sie auf die Bohrer, um die Größe zu ändern ..." -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "[ERROR_NOTCL] Die Größe der Bohrer ist fehlgeschlagen. Bitte geben Sie einen " "Durchmesser für die Größenänderung ein." -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "[ERROR_NOTCL] Abgebrochen." -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "[success] Erledigt. Bohren / Slot Größe ändern abgeschlossen." -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "" "[WARNING_NOTCL] Abgebrochen. Keine Bohrer / Schlitze für Größenänderung " "ausgewählt ..." -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "Klicken Sie auf die Referenzposition ..." -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "[success] Erledigt. Bohrer Bewegen abgeschlossen." -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "[success] Erledigt. Bohrer kopiert." -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "Excellon Editor" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "Name:" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Werkzeugtabelle" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2087,11 +2101,11 @@ msgstr "" "Werkzeuge in diesem Excellon-Objekt\n" "Wann werden zum Bohren verwendet." -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "Werkzeug hinzufügen / löschen" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2099,20 +2113,20 @@ msgstr "" "Werkzeug zur Werkzeugliste hinzufügen / löschen\n" "für dieses Excellon-Objekt." -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "Werkzeugdurchmesser:" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "Durchmesser für das neue Werkzeug" -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "Werkzeug hinzufügen" -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2120,11 +2134,11 @@ msgstr "" "Fügen Sie der Werkzeugliste ein neues Werkzeug hinzu\n" "mit dem oben angegebenen Durchmesser." -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "Werkzeug löschen" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2132,40 +2146,40 @@ msgstr "" "Löschen Sie ein Werkzeug in der Werkzeugliste\n" "indem Sie eine Zeile in der Werkzeugtabelle auswählen." -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "Größe der Bohrer ändern" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "Ändern Sie die Größe eines Bohrers oder einer Auswahl von Bohrern." -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "Durchmesser ändern:" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "Durchmesser zur Größenänderung." -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "Größe ändern" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "Bohrer verkleinern" -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "Bohrer-Array hinzufügen" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "" "Hinzufügen eines Arrays von Bohrern (lineares oder kreisförmiges Array)" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2173,40 +2187,38 @@ msgstr "" "Wählen Sie den Typ des zu erstellenden Bohrfelds aus.\n" "Es kann lineares X (Y) oder rund sein" -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "Linear" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "Kreisförmig" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "Anzahl der Bohrer:" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "Geben Sie an, wie viele Drills im Array enthalten sein sollen." -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "Richtung:" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2218,61 +2230,62 @@ msgstr "" "- 'Y' - vertikale Achse oder\n" "- 'Winkel' - ein benutzerdefinierter Winkel für die Neigung des Arrays" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Winkel" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 +#: flatcamEditors/FlatCAMExcEditor.py:1642 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "Pitch:" msgstr "Abstand:" -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 msgid "Pitch = Distance between elements of the array." msgstr "Abstand = Abstand zwischen Elementen des Arrays." -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Angle:" msgstr "Winkel:" -#: flatcamEditors/FlatCAMExcEditor.py:1642 -#: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2284,9 +2297,9 @@ msgstr "" "Der Mindestwert beträgt -359,99 Grad.\n" "Maximalwert ist: 360.00 Grad." -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 +#: flatcamEditors/FlatCAMExcEditor.py:1877 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -2294,36 +2307,37 @@ msgstr "" "Richtung für kreisförmige Anordnung. Kann CW = Uhrzeigersinn oder CCW = " "Gegenuhrzeigersinn sein." -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 msgid "CW" msgstr "CW" -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 msgid "CCW" msgstr "CCW" -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "" "Winkel, um den jedes Element in einer kreisförmigen Anordnung platziert wird." -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "Schlitze-Parameter" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2331,15 +2345,15 @@ msgstr "" "Parameter zum Hinzufügen eines Schlitzes (Loch mit ovaler Form)\n" "entweder einzeln oder als Teil eines Arrays." -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "Länge:" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "Länge = Die Länge des Schlitzes." -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2351,7 +2365,7 @@ msgstr "" "- 'Y' - vertikale Achse oder\n" "- 'Winkel' - Ein benutzerdefinierter Winkel für die Schlitzneigung" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2363,16 +2377,16 @@ msgstr "" "Der Mindestwert beträgt: -359,99 Grad.\n" "Maximaler Wert ist: 360.00 Grad." -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "Schlitzes Array-Parameter" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "" "Parameter für das Array von Schlitzes (lineares oder kreisförmiges Array)" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2380,15 +2394,15 @@ msgstr "" "Wählen Sie den Typ des zu erstellenden Slot-Arrays.\n" "Es kann ein lineares X (Y) oder ein kreisförmiges sein" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "Anzahl der Slots:" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "Geben Sie an, wie viele Steckplätze sich im Array befinden sollen." -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2398,25 +2412,25 @@ msgstr "" "Speichern und korrigieren Sie Excellon, wenn Sie dieses Tool hinzufügen " "möchten." -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "[success] Neues Werkzeug mit Durchmesser hinzugefügt: {dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "[WARNING_NOTCL] Wählen Sie ein Werkzeug in der Werkzeugtabelle aus" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "[success] Gelöschtes Werkzeug mit Durchmesser: {del_dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "[success] Erledigt. Werkzeugbearbeitung abgeschlossen." -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." @@ -2424,43 +2438,41 @@ msgstr "" "[ERROR_NOTCL] Die Datei enthält keine Werkzeugdefinitionen. Abbruch der " "Excellon-Erstellung." -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "Excellon erstellen." -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "[success] Excellon-Bearbeitung abgeschlossen." -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "[WARNING_NOTCL] Abgebrochen. Es ist kein Werkzeug / Bohrer ausgewählt" -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Erledigt. Bohrer gelöscht." -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "Klicken Sie auf die kreisförmige Anordnung in der Mitte" -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "Pufferabstand:" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "Pufferecke:" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2475,45 +2487,45 @@ msgstr "" "  - 'Abgeschrägt:' Die Ecke ist eine Linie, die die Features, die sich in " "der Ecke treffen, direkt verbindet" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "Runden" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "Quadrat" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "Abgeschrägt" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "Pufferinnenraum" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "Puffer außen" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "Voller Puffer" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "Pufferwerkzeug" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2521,22 +2533,19 @@ msgstr "" "[WARNING_NOTCL] Pufferabstandswert fehlt oder falsches Format. Fügen Sie es " "hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "Textwerkzeug" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "Werkzeug" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "Werkzeugdurchmesser:" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2544,13 +2553,13 @@ msgstr "" "Durchmesser des Werkzeugs bis\n" "in der Operation verwendet werden." -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "Überlappungsrate:" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2579,15 +2588,12 @@ msgstr "" "Höhere Werte = langsame Bearbeitung und langsame Ausführung auf CNC\n" "wegen zu vieler Wege." -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "Marge:" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" @@ -2597,13 +2603,11 @@ msgstr "" "die Kanten des Polygons bis\n" "gemalt werden." -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "Methode:" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." @@ -2611,33 +2615,31 @@ msgstr "" "Algorithmus zum Malen des Polygons:
Standard: Feststehender " "Schritt nach innen.
Samenbasiert: Aus dem Samen heraus." -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Standard" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "Samenbasiert" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Gerade Linien" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "Verbinden:" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -2645,15 +2647,13 @@ msgstr "" "Zeichnen Sie Linien zwischen den Ergebnissen\n" "Segmente, um Werkzeuglifte zu minimieren." -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "Kontur:" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -2661,23 +2661,23 @@ msgstr "" "Schneiden Sie um den Umfang des Polygons herum\n" "Ecken und Kanten schneiden." -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "Malen" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Werkzeug Malen" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "[WARNING_NOTCL] Farbe abgebrochen. Keine Form ausgewählt" -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." @@ -2685,14 +2685,14 @@ msgstr "" "[WARNING_NOTCL] Werkzeugdurchmesserwert fehlt oder falsches Format. Fügen " "Sie es hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Überlappungswert fehlt oder falsches Format. Fügen Sie es " "hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." @@ -2700,63 +2700,66 @@ msgstr "" "[WARNING_NOTCL] Randabstandswert fehlt oder falsches Format. Fügen Sie es " "hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "Werkzeuge" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "Werkzeug Umwandeln" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Drehen" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Neigung/Schere" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Skalieren" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Spiegeln (Flip)" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Versatz" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "Editor %s" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2768,8 +2771,8 @@ msgstr "" "Positive Zahlen für CW-Bewegung.\n" "Negative Zahlen für CCW-Bewegung." -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2779,15 +2782,16 @@ msgstr "" "Der Bezugspunkt ist die Mitte von\n" "der Begrenzungsrahmen für alle ausgewählten Formen." -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "Winkel X:" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2796,15 +2800,15 @@ msgstr "" "Winkel für die Schräglage in Grad.\n" "Float-Nummer zwischen -360 und 359." -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Neigung X" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2814,35 +2818,35 @@ msgstr "" "Der Bezugspunkt ist die Mitte von\n" "der Begrenzungsrahmen für alle ausgewählten Formen." -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "Winkel Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Neigung Y" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "Faktor X:" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "Faktor für die Skalierungsaktion über der X-Achse." -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Maßstab X" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2852,29 +2856,29 @@ msgstr "" "Der Bezugspunkt hängt von ab\n" "das Kontrollkästchen Skalenreferenz." -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "Faktor Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "Faktor für die Skalierungsaktion über der Y-Achse." -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Maßstab Y" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Verknüpfung" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2882,14 +2886,14 @@ msgstr "" "Skalieren der ausgewählten Form (en)\n" "Verwenden des Skalierungsfaktors X für beide Achsen." -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Skalenreferenz" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2901,25 +2905,25 @@ msgstr "" "und die Mitte der größten Begrenzungsbox\n" "der ausgewählten Formen, wenn nicht markiert." -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "Wert X:" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "Wert für die Offset-Aktion auf der X-Achse." -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "Versatz X" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2929,30 +2933,30 @@ msgstr "" "Der Bezugspunkt ist die Mitte von\n" "der Begrenzungsrahmen für alle ausgewählten Formen.\n" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "Wert Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "Wert für die Offset-Aktion auf der Y-Achse." -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "Versatz Y" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "Flip auf X" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2960,18 +2964,18 @@ msgstr "" "Kippen Sie die ausgewählte Form (en) über die X-Achse.\n" "Erzeugt keine neue Form." -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "Flip auf Y" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "Ref. Pt" -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2994,13 +2998,13 @@ msgstr "" "Oder geben Sie die Koordinaten im Format (x, y) in ein\n" "Punkt-Eingabefeld und klicken Sie auf X (Y) drehen" -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "Punkt:" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -3011,8 +3015,8 @@ msgstr "" "Das 'x' in (x, y) wird verwendet, wenn Sie bei X und\n" "Das 'y' in (x, y) wird verwendet, wenn Flip auf Y verwendet wird." -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -3023,396 +3027,396 @@ msgstr "" "Shift Taste. Klicken Sie dann auf die Schaltfläche Hinzufügen, um sie " "einzufügen." -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformation abgebrochen Keine Form ausgewählt" -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Drehen eingegeben, verwenden Sie eine " "Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Skew X eingegeben, verwenden Sie eine " "Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Skew Y eingegeben, verwenden Sie eine " "Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Falsches Wertformat für Waage X eingegeben, verwenden Sie eine " "Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Skala Y eingegeben, verwenden Sie " "eine Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Falsches Wertformat für Offset X eingegeben, verwenden Sie " "eine Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Falsches Wertformat für Offset Y eingegeben, verwenden Sie " "eine Zahl." -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt Bitte wählen Sie eine Form zum Drehen " "aus!" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "Anwenden Drehen" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "[success] Erledigt. Drehen abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt Bitte wähle eine Form zum Umdrehen!" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "Flip anwenden" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Flip auf der Y-Achse erledigt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "[success] Flip auf der X-Achse erledigt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt. Bitte wählen Sie eine Form zum " "Scheren / Schrägstellen!" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "Anwenden von Skew" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Neigung auf der %s Achse abgeschlossen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde die Neigung-Aktion nicht ausgeführt." -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt. Bitte wählen Sie eine zu skalierende " "Form!" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "Maßstab anwenden" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Skalieren auf der %s Achse fertig ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde die Skalieren Aktion nicht ausgeführt." -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt. Bitte wählen Sie eine Form zum " "Versetzen!" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "Offsetdruck anwenden" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Offsetdruck auf der %s Achse fertiggestellt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde die Offsetdruck Aktion nicht ausgeführt." -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "Drehen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "Geben Sie einen Winkelwert (Grad) ein:" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "[success] Geometrieform drehen fertig ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Geometrieform drehen abgebrochen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "Versatz auf der X-Achse ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "Geben Sie einen Abstand ein (%s):" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Geometrieformversatz auf der X-Achse erfolgt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz X abgebrochen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "Versatz auf der Y-Achse ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Geometrieformversatz auf Y-Achse erfolgt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz Y abgebrochen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "Neigung auf der X-Achse ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Geometrieformversatz auf X-Achse ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz X abgebrochen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "Neigung auf der Y-Achse ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Geometrieformversatz auf Y-Achse erfolgt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz Y abgebrochen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "Klicken Sie auf Mittelpunkt." -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "Klicken Sie auf Umfangspunkt, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "[success] Erledigt. Hinzufügen des Kreises abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "Klicken Sie auf Startpunkt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "Klicken Sie auf Punkt3 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "Klicken Sie auf Haltepunkt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "Klicken Sie auf Stopp, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "Klicken Sie auf Punkt2, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "Klicken Sie auf Mittelpunkt, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "Richtung: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Modus: Start -> Stopp -> Zentrieren. Klicken Sie auf Startpunkt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Modus: Punkt 1 -> Punkt 3 -> Punkt 2. Klicken Sie auf Punkt1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Modus: Mitte -> Start -> Stopp. Klicken Sie auf Mittelpunkt." -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "[success] Erledigt. Bogen abgeschlossen" -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "Klicken Sie auf die 1. Ecke ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "" "Klicken Sie auf die gegenüberliegende Ecke, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "[success] Erledigt. Rechteck fertiggestellt." -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" "Klicken Sie auf den nächsten Punkt oder klicken Sie mit der rechten " "Maustaste, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "[success] Erledigt. Polygon abgeschlossen" -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "Einen Punkt zurückverfolgt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "[success] Erledigt. Pfad abgeschlossen" -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "" "[WARNING_NOTCL] Bewegen: Keine Form ausgewählt. Wähle eine Form zum Bewegen " "aus ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr " Bewegen: Referenzpunkt anklicken ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr " Klicken Sie auf den Zielpunkt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "[success] Erledigt. Geometrie(n) Bewegung abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "[success] Erledigt. Geometrie(n) Kopieren abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " @@ -3421,69 +3425,69 @@ msgstr "" "[ERROR] Schrift wird nicht unterstützt. Es werden nur Regular, Bold, Italic " "und BoldItalic unterstützt. Error: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "[WARNING_NOTCL] Kein Text zum Hinzufügen." -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "[success] Erledigt. Hinzufügen von Text abgeschlossen" -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "Puffergeometrie erstellen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Puffer abgebrochen. Keine Form ausgewählt." -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Erledigt. Pufferwerkzeug abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "[success] Erledigt. Innenpufferwerkzeug abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "[success] Erledigt. Außenpufferwerkzeug abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "Wählen Sie eine Form als Löschbereich aus ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "Klicken Sie, um die Löschform aufzunehmen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "Klicken zum Löschen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "[success] Erledigt. Radiergummi-Aktion abgeschlossen." -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "Malen geometrie erstellen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "Formtransformationen ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" @@ -3491,19 +3495,19 @@ msgstr "" "[WARNING_NOTCL] Bearbeiten von MultiGeo-Geometrie, Werkzeug: {tool} mit " "Durchmesser: {dia}" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "[WARNING_NOTCL] Kopieren abgebrochen Keine Form ausgewählt" -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "Klicken Sie auf den Zielpunkt." -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." @@ -3511,9 +3515,8 @@ msgstr "" "[WARNING_NOTCL] Eine Auswahl von mindestens 2 Geo-Elementen ist " "erforderlich, um die Kreuzung durchzuführen." -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" @@ -3521,54 +3524,58 @@ msgstr "" "[ERROR_NOTCL] Negativer Pufferwert wird nicht akzeptiert. Verwenden Sie den " "Pufferinnenraum, um eine Innenform zu erzeugen" -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "[WARNING_NOTCL] Nichts ist für die Pufferung ausgewählt." -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "[WARNING_NOTCL] Ungültige Entfernung für die Pufferung" -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" "[ERROR_NOTCL] Fehlgeschlagen, das Ergebnis ist leer. Wählen Sie einen " "anderen Pufferwert." -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "[success] Volle Puffergeometrie erstellt." -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "[ERROR_NOTCL] Negativer Pufferwert wird nicht akzeptiert." + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" "[ERROR_NOTCL] Fehlgeschlagen, das Ergebnis ist leer. Wählen Sie einen " "kleineren Pufferwert." -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "[success] Innere Puffergeometrie erstellt." -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "[success] Außenpuffergeometrie erstellt." -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "[WARNING_NOTCL] Nichts zum Malen ausgewählt." -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "[WARNING] Ungültiger Wert für {}" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." @@ -3576,7 +3583,7 @@ msgstr "" "[ERROR_NOTCL] Kann nicht Malen machen. Der Überlappungswert muss unter 1,00 " "(100%) liegen." -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3587,63 +3594,63 @@ msgstr "" "Kombination von Parametern. Oder eine andere Methode von Malen\n" "%s" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "[success] Malen Sie fertig." -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Um ein Pad hinzuzufügen, wählen Sie zunächst eine Blende in " "der Aperture Table aus" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" "[WARNING_NOTCL] Die Größe der Blende ist Null. Es muss größer als Null sein." -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" "Inkompatibler Blendentyp. Wählen Sie eine Blende mit dem Typ 'C', 'R' oder " "'O'." -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "[success] Erledigt. Hinzufügen von Pad abgeschlossen." -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Um ein Pad-Array hinzuzufügen, wählen Sie zunächst eine " "Blende in der Aperture-Tabelle aus" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "Klicken Sie auf die Startposition des Pad-Kreis-Arrays" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "[WARNING_NOTCL] Zu viele Pad für den ausgewählten Abstandswinkel." -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "[success] Erledigt. Pad Array hinzugefügt." -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "Wählen Sie die Form (en) aus und klicken Sie dann auf ..." -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "[ERROR_NOTCL] ist fehlgeschlagen. Nichts ausgewählt." -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." @@ -3651,149 +3658,150 @@ msgstr "" "[WARNING_NOTCL] Gescheitert. Poligonize funktioniert nur bei Geometrien, die " "zur selben Apertur gehören." -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "[Erfolg] Fertig. Poligonize abgeschlossen." -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "Eckmodus 1: 45 Grad ..." -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "Klicken Sie auf den 1. Punkt ..." -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" "Klicken Sie auf den nächsten Punkt oder klicken Sie mit der rechten " "Maustaste, um den Vorgang abzuschließen." -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Eckmodus 2: 45 Grad umkehren ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "Eckmodus 3: 90 Grad ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Eckmodus 4: Um 90 Grad umkehren ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "Eckmodus 5: Freiwinkel ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "Spurmodus 1: 45 Grad ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Spurmodus 2: 45 Grad umkehren ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "Spurmodus 3: 90 Grad ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Spurmodus 4: Um 90 Grad umkehren ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "Spurmodus 5: Freiwinkel ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "Skalieren Sie die ausgewählten Gerber-Öffnungen ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "Die ausgewählten Öffnungen puffern ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Markiere Polygonbereiche im bearbeiteten Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "[WARNING_NOTCL] Nichts zum Bewegen ausgewählt ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "[success] Erledigt. Öffnungsbewegung abgeschlossen." -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "[success] Erledigt. Blende kopiert." -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "Gerber-Editor" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" -msgstr " Blenden: " +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" +msgstr "Öffnungen" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "Blendentabelle für das Gerberobjekt." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "Code" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "Typ" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "Größe" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "Maße" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "Index" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "Öffnungscode" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "Öffnungsart: kreisförmig, rechteckig, Makros usw" -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "Öffnungsgröße:" -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -3803,15 +3811,15 @@ msgstr "" "  - (Breite, Höhe) für R, O-Typ.\n" "  - (dia, nVertices) für P-Typ" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "Öffnungscode:" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "Code für die neue Blende" -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "Öffnungsgröße" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3825,11 +3833,11 @@ msgstr "" "berechnet als:\n" "Quadrat (Breite ** 2 + Höhe ** 2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" -msgstr "Blendentyp:" +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" +msgstr "Blendentyp" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3841,11 +3849,11 @@ msgstr "" "R = rechteckig\n" "O = länglich" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" -msgstr "Öffnungsmaße:" +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" +msgstr "Öffnungsmaße" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -3855,31 +3863,39 @@ msgstr "" "Aktiv nur für rechteckige Öffnungen (Typ R).\n" "Das Format ist (Breite, Höhe)" -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "Blende hinzufügen / löschen:" -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "Eine Blende in der Blendentabelle hinzufügen / löschen" -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "Fügen Sie der Blendenliste eine neue Blende hinzu." -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "Löschen Sie eine Blende in der Blendenliste" -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "Pufferblende:" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "Puffern Sie eine Blende in der Blendenliste" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "Pufferabstand" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "Pufferecke" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3893,25 +3909,25 @@ msgstr "" "  - 'Abgeschrägt:' Die Ecke ist eine Linie, die die Features, die sich in " "der Ecke treffen, direkt verbindet" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "Puffer" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" -msgstr "Skalenöffnung:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" +msgstr "Skalenöffnung" -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "Skalieren Sie eine Blende in der Blendenliste" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" -msgstr "Skalierungsfaktor:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" +msgstr "Skalierungsfaktor" -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -3919,19 +3935,19 @@ msgstr "" "Der Faktor, um den die ausgewählte Blende skaliert werden soll.\n" "Die Werte können zwischen 0,0000 und 999,9999 liegen" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" -msgstr "Polygonbereiche mark.:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" +msgstr "Polygonbereiche mark." -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "Markieren Sie die Polygonbereiche." -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" -msgstr "Flächenobergrenze:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" +msgstr "Flächenobergrenze" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3939,11 +3955,11 @@ msgstr "" "Der Schwellenwert, alle Bereiche, die darunter liegen, sind markiert.\n" "Kann einen Wert zwischen 0,0000 und 9999,9999 haben" -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" -msgstr "Bereichsuntergrenze:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" +msgstr "Bereichsuntergrenze" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3952,20 +3968,20 @@ msgstr "" "hinausgehen.\n" "Kann einen Wert zwischen 0,0000 und 9999,9999 haben" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "Gehen" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "Pad-Array hinzufügen" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "Hinzufügen eines Arrays von Pads (lineares oder kreisförmiges Array)" -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -3973,16 +3989,26 @@ msgstr "" "Wählen Sie den zu erstellenden Pad-Array-Typ aus.\n" "Es kann lineares X (Y) oder rund sein" -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" -msgstr "Anzahl der Pads:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" +msgstr "Anzahl der Pads" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "Geben Sie an, wie viele Pads sich im Array befinden sollen." -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "Richtung" + +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "Abstand" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 +#: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" "[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " "retry." @@ -3990,7 +4016,7 @@ msgstr "" "[WARNING_NOTCL] Blendencodewert fehlt oder falsches Format. Fügen Sie es " "hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:3136 +#: flatcamEditors/FlatCAMGrbEditor.py:3172 msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." @@ -3998,7 +4024,7 @@ msgstr "" "[WARNING_NOTCL] Wert für Blendenmaße fehlt oder falsches Format. Fügen Sie " "es im Format (Breite, Höhe) hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." @@ -4006,35 +4032,35 @@ msgstr "" "[WARNING_NOTCL] Blendengrößenwert fehlt oder falsches Format. Fügen Sie es " "hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "[WARNING_NOTCL] Blende bereits in der Blendentabelle." -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "[success] Neue Blende mit Code hinzugefügt: {apid}" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "[WARNING_NOTCL] Wählen Sie in Blende Table eine Blende aus" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "[WARNING_NOTCL] Wählen Sie in Blende Table eine Blende aus --> %s" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "[success] Blende mit Code gelöscht: {del_dia}" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "Blende hinzufügen:%s geo ..." -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." @@ -4042,28 +4068,28 @@ msgstr "" "[ERROR_NOTCL] Die Datei enthält keine Aperture-Definitionen. Abbruch der " "Gerber-Erstellung." -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "Gerber erstellen." -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "[success] Gerber-Bearbeitung ist beendet." -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Abgebrochen. Es ist keine Blende ausgewählt" -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" "[ERROR_NOTCL] ist fehlgeschlagen. Es ist keine Blendengeometrie ausgewählt." -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Fertig. Blendengeometrie gelöscht." -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -4071,7 +4097,7 @@ msgstr "" "[WARNING_NOTCL] Keine Blende zum Puffern Wählen Sie mindestens eine Blende " "und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" @@ -4080,7 +4106,7 @@ msgstr "" "[ERROR_NOTCL] Gescheitert.\n" "%s" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -4088,7 +4114,7 @@ msgstr "" "[WARNING_NOTCL] Der Skalierungsfaktor ist nicht vorhanden oder das Format " "ist falsch. Fügen Sie es hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -4096,108 +4122,108 @@ msgstr "" "[WARNING_NOTCL] Keine zu skalierende Blende Wählen Sie mindestens eine " "Blende und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "[success] Erledigt. Skalierungswerkzeug abgeschlossen." -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "[success] Polygonbereiche markiert." -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "[WARNING_NOTCL] Es gibt keine Polygone zum Markieren der Fläche." -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "&Datei" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "&Neues Projekt ...\\STRG+N" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "Erzeugt ein neues leeres Projekt" -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "&Neu" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "Geometrie\tN" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "Erzeugt ein neues, leeres Geometrieobjekt." -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "Erzeugt ein neues, leeres Gerber-Objekt." -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "Erzeugt ein neues, leeres Excellon-Objekt." -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Öffnen" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "Offen &Projekt..." -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "Offen &Gerber ...\\STRG+G" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "Offen &Excellon ...\\STRG+E" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "Offen G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "Öffne Config ..." -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "Letzte Projekte" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "Neueste Dateien" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "Scripting" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "Neues Skript ..." -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "Skript öffnen ..." -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "Skript ausführen ...\tSHIFT+S" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4207,43 +4233,43 @@ msgstr "" "Ermöglichung der Automatisierung bestimmter\n" "Funktionen von FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "Importieren" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "&SVG als Geometrieobjekt ..." -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "&SVG als Gerberobjekt ..." -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "&DXF als Geometrieobjekt ..." -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "&DXF als Gerberobjekt ..." -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "Ausführen" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "SVG exportieren ..." -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "DXF exportieren ..." -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "PNG exportieren ..." -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -4253,11 +4279,11 @@ msgstr "" "Das gespeicherte Bild enthält das Bild\n" "Informationen derzeit im FlatCAM-Plotbereich." -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "Excellon exportieren ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -4267,11 +4293,11 @@ msgstr "" "Das Koordinatenformat, die Dateieinheiten und Nullen\n" "werden in den Einstellungen -> Excellon Export.Excellon eingestellt ..." -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "Gerber exportieren ..." -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -4281,59 +4307,59 @@ msgstr "" "das Koordinatenformat, die Dateieinheiten und Nullen\n" "werden in den Einstellungen -> Gerber Export eingestellt." -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "Sicherungskopie" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "Einstellungen aus Datei importieren ..." -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "Einstellungen in Datei exportieren ..." -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "Speichern" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "Projekt speichern ..." -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "Projekt speichern als ...\\STRG+S" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "Projektkopie speichern ..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "Ausgang" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "Bearbeiten" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "Objekt bearbeiten\tE" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "Schließen Sie Editor\tSTRG+S" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "Umwandlung" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "Beitreten Geo/Gerber/Exc -> Geo" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -4347,31 +4373,31 @@ msgstr "" "- Geometrie\n" "in ein neues Geometrieobjekt kombinieren." -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "Beitreten Excellon(s) -> Excellon" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" "Fassen Sie eine Auswahl von Excellon-Objekten in einem neuen Excellon-Objekt " "zusammen." -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "Beitreten Gerber(s) -> Gerber" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "" "Mischen Sie eine Auswahl von Gerber-Objekten in ein neues Gerber-" "Kombinationsobjekt." -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "Konvertieren Sie Single in MultiGeo" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -4379,11 +4405,11 @@ msgstr "" "Konvertiert ein Geometrieobjekt vom Typ single_geometry\n" "zu einem multi_geometry-Typ." -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "Konvertieren Sie Multi in SingleGeo" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -4391,632 +4417,632 @@ msgstr "" "Konvertiert ein Geometrieobjekt vom Typ multi_geometry\n" "zu einem single_geometry-Typ." -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "Konvertieren Sie Any zu Geo" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "Konvertieren Sie Any zu Gerber" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "Kopieren\tSTRG+C" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "Löschen\tDEL" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "Ursprung festlegen\tO" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "Zum Ort springen\tJ" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "Einheiten umschalten\tQ" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "Wählen Sie Alle\tSTRG+A" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "Einstellungen\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "&Optionen" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "Auswahl drehen\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "Neigung auf der X-Achse\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "Neigung auf der Y-Achse\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "X-Achse kippen\tX" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "Y-Achse kippen\tY" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "Quelltext anzeigen\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "&Blick" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "Aktivieren Sie alle Diagramme\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "Deaktivieren Sie alle Diagramme\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "Deaktivieren Sie nicht ausgewählt\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "Zoomen passen\tV" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "Hineinzoomen\t=" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "Rauszoomen\t-" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "Code-Editor umschalten\tSTRG+E" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "FullScreen umschalten\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "Plotbereich umschalten\tSTRG+F10" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "Projekt/Auswahl/Werkzeug umschalten\t`" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "Schaltet den Rasterfang ein\tG" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "Achse umschalten\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "Arbeitsbereich umschalten\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "Befehlszeile\tS" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "&Hilfe" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "Hilfe\tF1" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "FlatCAM.org" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "Tastenkürzel Liste\tF3" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "Youtube Kanal\tF4" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "Über" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "Kreis hinzufügen\tO" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "Bogen hinzufügen\tA" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "Rechteck hinzufügen\tR" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "Polygon hinzufügen\tN" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "Pfad hinzufügen\tP" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "Text hinzufügen\tT" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "Polygon-Vereinigung\tU" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "Polygonschnitt\tE" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "Polygon-Subtraktion\tS" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "Pfad ausschneiden\tX" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "Geometrie kopieren\tC" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "Form löschen\tDEL" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "Bewegung\tM" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "Pufferwerkzeug\tB" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "Malenwerkzeug\tI" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "Transformationswerkzeug\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "Eckfang umschalten\tK" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr ">Excellon Editor<" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "Bohrfeld hinzufügen\tA" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "Bohrer hinzufügen\tD" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "Steckplatz-Array hinzufügen\tQ" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "Slot hinzufügen\tW" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "Bohrer verkleinern\tR" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "Kopieren\tC" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "Löschen\tDEL" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "Bohrer verschieben\tM" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr ">Gerber-Editor<" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "Pad hinzufügen\tP" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "Pad-Array hinzufügen\tA" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "Track hinzufügen\tA" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "Region hinzufügen\tN" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "Polygonisieren\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "Halbschibe hinzufügen\tE" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "Schibe hinzufügen\tD" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "Puffer\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "Skalieren\tS" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "Bereich markieren\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "Radiergummi\tSTRG+E" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "Transformationswerkzeug\tSTRG+R" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "Diagramm aktivieren" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "Diagramm deaktivieren" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "CNC generieren" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "Quelltext anzeigen" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "Bearbeiten" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "Eigenschaften" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "Dateisymbolleiste" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "Symbolleiste bearbeiten" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "Symbolleiste anzeigen" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "Shell-Symbolleiste" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "Werkzeugleiste" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "Excellon Editor-Symbolleiste" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "Geometrie Editor-Symbolleiste" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "Gerber Editor-Symbolleiste" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "Raster-Symbolleiste" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "Offenes Projekt" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "Projekt speichern" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "Neue leere Geometrie" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "Neue leere Gerber" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "Neuer unbelegter Excellon" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "Editor" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "Speichern Sie das Objekt und schließen Sie den Editor" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "&Löschen" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "&Replotieren" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "&Plot klar löschen" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "Hineinzoomen" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "Rauszoomen" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "Passenzoomen" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "Befehlszeile" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "2Seitiges Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "Ausschnittwerkzeug" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "NCC Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "Platte Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "Filmwerkzeug" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "Lötpaste-Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "Abziehen Werkzeug " -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "Rechnerwerkzeug" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "Wählen" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "Bohrloch hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "Bohrlochfeld hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "Steckplatz hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "Steckplatz-Array hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "Bohrergröße ändern" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "Bohrer kopieren" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "Bohrer löschen" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "Bohrer bewegen" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "Kreis hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "Bogen hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "Rechteck hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "Pfad hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "Polygon hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "Text hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "Puffer hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "Malen Form" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "Radiergummi" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "Polygon-Vereinigung" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "Polygonschnitt" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "Polygon-Subtraktion" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "Pfad ausschneiden" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "Form kopieren" -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "Form löschen" -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "Transformationen" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "Objekte verschieben " -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "Pad hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "Track hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "Region hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "Polygonisieren" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "Halbscheibe" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "Scheibe" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "Bereich markieren" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "Bewegung" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "Am Raster ausrichten" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "Raster X Fangdistanz" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "Raster Y Fangdistanz" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -5024,64 +5050,64 @@ msgstr "" "Wenn aktiv, Wert auf Grid_X\n" "wird in den Wert von Grid_Y kopiert." -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "In der Ecke ausrichten" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "Max. Magnetabstand" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "Projekt" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "Ausgewählt" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "Grundstücksfläche" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "Allgemeines" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "Anwendungsvorgaben" -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "Projektoptionen" -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "GEOMETRY" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "CNC-Auftrag" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "WERKZEUGE" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "Importeinstellungen" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -5096,11 +5122,11 @@ msgstr "" "FlatCAM speichert automatisch eine 'factory_defaults'-Datei\n" "beim ersten Start. Löschen Sie diese Datei nicht." -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "Voreinstell. export." -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -5109,16 +5135,16 @@ msgstr "" "Datei\n" "das ist auf der Festplatte gespeichert." -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "Öffnen Sie \"Einstell.\"" -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "" "Öffnen Sie den Ordner, in dem FlatCAM die Voreinstellungsdateien speichert." -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -5126,7 +5152,7 @@ msgstr "" "Speichern Sie die aktuellen Einstellungen in der Datei 'current_defaults'\n" "Dies ist die Datei, in der die Arbeitseinstellungen gespeichert sind." -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" " Editor Shortcut list
\n" "
\n" @@ -6372,134 +6398,133 @@ msgstr "" "
\n" " " -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "Sichtbarkeit umschalten" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "Panel umschalten" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "Neu" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "Geometrie" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "Raster" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "Aussicht" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "Plot klar löschen" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "Replotieren" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "Geo-Editor" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "Pfad" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "Rechteck" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "Kreis" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "Polygon" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "Bogen" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "Text" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "Vereinigung" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "Überschneidung" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "Subtraktion" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "Schnitt" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "Pad" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "Pad-Array" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "Track" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "Region" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "Exc-Editor" -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "Bohrer hinzufügen" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "Druckvorschau" -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "Code drucken" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "Im Code suchen" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "Ersetzen mit" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "Alles" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -6508,15 +6533,15 @@ msgstr "" "ersetzt\n" "mit dem Text im Feld \"Ersetzen\" .." -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "Code öffnen" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "Code speichern" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -6524,7 +6549,7 @@ msgstr "" "Relative Messung\n" "Referenz ist Position des letzten Klicks" -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -6532,23 +6557,27 @@ msgstr "" "Absolute Messung.\n" "Referenz ist (X = 0, Y = 0)" -#: flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" +msgstr "Symbolleisten sperren" + +#: flatcamGUI/FlatCAMGUI.py:2013 msgid "Select 'Esc'" msgstr "Wählen" -#: flatcamGUI/FlatCAMGUI.py:2011 +#: flatcamGUI/FlatCAMGUI.py:2038 msgid "Copy Objects" msgstr "Objekte kopieren" -#: flatcamGUI/FlatCAMGUI.py:2013 +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "Form löschen" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" msgstr "Objekte verschieben" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -6560,17 +6589,17 @@ msgstr "" "aus dem ersten Artikel. Zum Schluss drücken Sie die Taste ~ X ~ oder\n" "die Symbolleisten-Schaltfläche." -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "Warnung" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "[WARNING_NOTCL] Abgebrochen." -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -6578,7 +6607,7 @@ msgstr "" "Bitte wählen Sie Geometrieelemente aus\n" "auf dem das Verschneidungswerkzeug ausgeführt werden soll." -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -6586,7 +6615,7 @@ msgstr "" "Bitte wählen Sie Geometrieelemente aus\n" "auf dem das Subtraktionswerkzeug ausgeführt werden soll." -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." @@ -6594,59 +6623,59 @@ msgstr "" "Bitte wählen Sie Geometrieelemente aus\n" "auf dem die Polygonverbindung ausgeführt werden soll." -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "[WARNING_NOTCL] Abgebrochen. Nichts zum Löschen ausgewählt." -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "[WARNING_NOTCL] Abgebrochen. Nichts zum Kopieren ausgewählt." -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "[WARNING_NOTCL] Abgebrochen. Nichts ausgewählt, um sich zu bewegen." -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "Neues Werkzeug ..." -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" msgstr "Geben Sie einen Werkzeugdurchmesser ein:" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "Messwerkzeug beenden ..." -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "GUI-Einstellungen" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "Raster X-Wert:" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "Dies ist der Rasterfangwert auf der X-Achse." -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "Raster Y-Wert:" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "Dies ist der Rasterfangwert auf der Y-Achse." -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "Maximalwert:" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "Arbeitsplatz:" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -6654,11 +6683,11 @@ msgstr "" "Zeichnen Sie ein begrenzendes Rechteck auf die Leinwand.\n" "Ziel ist es, die Grenzen unserer Arbeit aufzuzeigen." -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "Arbeitsbereichformat:" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -6666,11 +6695,11 @@ msgstr "" "Wählen Sie den Typ des Rechtecks für die Leinwand aus.\n" "als gültiger Arbeitsbereich." -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "Plot füllen:" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -6680,28 +6709,28 @@ msgstr "" "Die ersten 6 Ziffern sind die Farbe und die letzten 2\n" "Ziffern sind für Alpha (Transparenz)." -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "Alpha-Ebene:" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." msgstr "Legen Sie die Füllungstransparenz für geplottete Objekte fest." -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "Handlungsstrang:" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "Legen Sie die Linienfarbe für geplottete Objekte fest." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "Ausgewählte Füllung:" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6713,26 +6742,26 @@ msgstr "" "Die ersten 6 Ziffern sind die Farbe und die letzten 2\n" "Ziffern sind für Alpha (Transparenz)." -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" "Legen Sie die Füllungstransparenz für das Auswahlfeld \"von links nach rechts" "\" fest." -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "Auswahlzeile:" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "" "Legen Sie die Linienfarbe für das Auswahlfeld \"von links nach rechts\" fest." -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "Auswahl2 Füllung:" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6744,49 +6773,49 @@ msgstr "" "Die ersten 6 Ziffern sind die Farbe und die letzten 2\n" "Ziffern sind für Alpha (Transparenz)." -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" "Legen Sie die Füllungstransparenz für die Auswahl von rechts nach links fest." -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "Auswahl 2 Zeile:" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "" "Legen Sie die Linienfarbe für das Auswahlfeld 'von rechts nach links' fest." -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "Editor zeichnen:" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "Legen Sie die Farbe für die Form fest." -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "Editor Draw Sel.:" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "Legt die Farbe der Form fest, wenn sie ausgewählt wird." -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "Projektelemente:" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "Legen Sie die Farbe der Elemente im Projektregisterbaum fest." -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "Proj. Deakt. Elemente" -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -6794,15 +6823,15 @@ msgstr "" "Legen Sie die Farbe der Elemente in der Projektregisterkarte fest.\n" "für den Fall, wenn die Elemente deaktiviert sind." -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "GUI-Einstellungen" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "Layout:" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -6810,11 +6839,11 @@ msgstr "" "Wählen Sie ein Layout für FlatCAM.\n" "Es wird sofort angewendet." -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "Stil:" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -6822,11 +6851,11 @@ msgstr "" "Wählen Sie einen Stil für FlatCAM.\n" "Es wird beim nächsten Start der App angewendet." -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "HDPI-Unterstützung:" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -6834,11 +6863,11 @@ msgstr "" "Aktivieren Sie die High DPI-Unterstützung für FlatCAM.\n" "Es wird beim nächsten Start der App angewendet." -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "GUI-Einstellungen löschen:" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6846,15 +6875,15 @@ msgstr "" "Löschen Sie die GUI-Einstellungen für FlatCAM.\n" "wie zum Beispiel: Layout, GUI-Status, Stil, HDPI-Unterstützung usw." -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "Klären" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "Schwebeflug-Form:" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -6864,11 +6893,11 @@ msgstr "" "Es wird angezeigt, wenn sich der Mauszeiger in der Maus befindet\n" "über jede Art von nicht ausgewähltem Objekt." -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "Auswahlform:" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -6880,11 +6909,11 @@ msgstr "" "entweder durch Klicken oder Ziehen der Maus von links nach rechts oder\n" "rechts nach links." -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "NB Schriftgröße:" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" @@ -6896,31 +6925,33 @@ msgstr "" "Benutzeroberfläche.\n" "und schließen Sie die Registerkarten Projekt, Ausgewählt und Werkzeug ein." -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "Schriftgröße der Achse:" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "Hiermit wird die Schriftgröße für die Zeichenbereichsachse festgelegt." -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Möchten Sie die GUI-Einstellungen wirklich löschen?\n" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "Löschen Sie die GUI-Einstellungen" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "App-Einstellungen" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" -msgstr "Einheiten:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" +msgstr "Einheiten" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -6930,21 +6961,21 @@ msgstr "" "Was hier ausgewählt wird, wird jedes Mal eingestellt\n" "FLatCAM wird gestartet." -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "ZOLL" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" -msgstr "Bewerbungsebene:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" +msgstr "Bewerbungsebene" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -6960,27 +6991,45 @@ msgstr "" "Die Auswahl hier beeinflusst die Parameter in\n" "Die Registerkarte Ausgewählt für alle Arten von FlatCAM-Objekten." -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "Basic" -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "Erweitert" -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" -msgstr "Sprachen:" +#: flatcamGUI/FlatCAMGUI.py:3988 +msgid "Portable app" +msgstr "Portable Anwendung" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" +"Wählen Sie aus, ob die Anwendung als portabel ausgeführt werden soll.\n" +"\n" +"Wenn diese Option aktiviert ist, wird die Anwendung portabel ausgeführt.\n" +"Dies bedeutet, dass die Voreinstellungsdateien gespeichert werden\n" +"Im Anwendungsordner, im Unterordner lib \\ config." + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "Sprachen" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "Stellen Sie die Sprache ein, die in FlatCAM verwendet wird." -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "Sprache anwend." -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -6999,11 +7048,11 @@ msgstr "" "Sicherheitsfunktionen. In diesem Fall wird die Sprache sein\n" "Beim nächsten Start der App angewendet." -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" -msgstr "Shell beim Start:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" +msgstr "Shell beim Start" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -7011,11 +7060,11 @@ msgstr "" "Aktivieren Sie dieses Kontrollkästchen, wenn die Shell gewünscht wird\n" "automatisch beim Start starten" -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" -msgstr "Versionsprüfung:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" +msgstr "Versionsprüfung" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -7024,11 +7073,11 @@ msgstr "" "wenn Sie das Kontrollkästchen aktivieren möchten\n" "für eine neue Version automatisch beim Start." -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" -msgstr "Statistiken senden:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" +msgstr "Statistiken senden" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -7037,11 +7086,11 @@ msgstr "" "zustimmen\n" "wird beim Start automatisch aktualisiert, um FlatCAM zu verbessern." -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" -msgstr "Pan-Taste:" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" +msgstr "Pan-Taste" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -7051,35 +7100,35 @@ msgstr "" "- MMB -> Mittlere Maustaste\n" "- RMB -> Rechte Maustaste" -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "MMB" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "RMB" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" -msgstr "Mehrfachauswahl:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" +msgstr "Mehrfachauswahl" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "Wählen Sie den Schlüssel für die Mehrfachauswahl aus." -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "STRG" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" -msgstr "Projekt beim Start:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" +msgstr "Projekt beim Start" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -7089,11 +7138,11 @@ msgstr "" "angezeigt werden soll\n" "beim Start automatisch angezeigt werden." -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" -msgstr "Projekt autoausblenden:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" +msgstr "Projekt autoausblenden" -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -7105,11 +7154,11 @@ msgstr "" "keine Objekte geladen sind und anzeigen, wenn ein \n" "neues Objekt erstellt wird." -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" -msgstr " QuickInfos aktivieren: " +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" +msgstr "QuickInfos aktivieren" -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -7118,11 +7167,11 @@ msgstr "" "sollen\n" "wenn Sie mit der Maus über Elemente in der App fahren." -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" -msgstr "Arbeiter Nummer:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" +msgstr "Arbeiter Nummer" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -7138,11 +7187,11 @@ msgstr "" "Der Standardwert ist 2.\n" "Nach dem Ändern wird es beim nächsten Start der App angewendet." -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" -msgstr "Geo-Toleranz:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" +msgstr "Geo-Toleranz" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -7158,11 +7207,11 @@ msgstr "" "Performance. Ein höherer Wert bietet mehr\n" "Leistung auf Kosten des Detaillierungsgrades." -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "\"Offen\" -Verhalten" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -7179,11 +7228,11 @@ msgstr "" "Dateien zuletzt verwendet: entweder der Pfad\n" "Pfad zum Speichern von Dateien oder Pfad zum Öffnen von Dateien." -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "Objektbestätigung löschen" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -7194,11 +7243,11 @@ msgstr "" "löschen ausgelöst wird, entweder durch\n" "Menüverknüpfung oder Tastenkombination." -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "Speichern Sie das komprimierte Projekt" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -7208,11 +7257,11 @@ msgstr "" "Wenn diese Option aktiviert ist, wird ein komprimiertes FlatCAM-Projekt " "gespeichert." -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" -msgstr "Kompressionsstufe:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" +msgstr "Kompressionsstufe" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -7222,51 +7271,53 @@ msgstr "" "ein FlatCAM-Projekt. Ein höherer Wert bedeutet eine bessere Komprimierung\n" "erfordern jedoch mehr RAM-Auslastung und mehr Verarbeitungszeit." -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "Geometrie Allgemein" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" -msgstr " Diagrammoptionen: " +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" +msgstr "Diagrammoptionen" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "Solide" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "Einfarbige Polygone." -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "M-farbig" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "Zeichnen Sie Polygone in verschiedenen Farben." -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "Zeichn" -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "Plotten (zeigen) dieses Objekt." -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" -msgstr "Kreisschritte:" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" +msgstr "Kreisschritte" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -7274,15 +7325,15 @@ msgstr "" "Die Anzahl der Kreisschritte für Gerber\n" "lineare Approximation mit kreisförmiger Apertur." -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "Gerber-Optionen" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" -msgstr " Isolierungsrouting: " +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" +msgstr "Isolierungsrouting" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7291,17 +7342,23 @@ msgstr "" "Werkzeugwege zum Schneiden von \n" "äußeren Polygonen." -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "Werkzeugdurchmesser" + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "Durchmesser des Schneidewerkzeugs." -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" -msgstr "Breite (# passt):" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" +msgstr "Durchgang" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7309,11 +7366,11 @@ msgstr "" "Breite der Isolationslücke in\n" "Anzahl (Ganzzahl) der Werkzeugbreiten." -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" -msgstr "Passüberlappung:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" +msgstr "Passüberlappung" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7327,11 +7384,11 @@ msgstr "" "Ein Wert von 0,25 bedeutet hier eine Überlappung von 25% \n" "vom oben angegebenen Werkzeugdurchmesser." -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" -msgstr "Fräsart:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" +msgstr "Fräsart" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7342,41 +7399,46 @@ msgstr "" "Werkzeugverbrauchs\n" "- konventionell / nützlich, wenn kein Spielausgleich vorliegt" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "Steigen" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "Konv." -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "Kombinieren Sie Pässe" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "Kombinieren Sie alle Durchgänge in einem Objekt" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" -msgstr " Nicht-Kupfer löschen: " +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" +msgstr "Regionen ohne Kupfer" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -"Erstellen Sie ein Geometrieobjekt mit\n" -"Werkzeugwege, um alle Nicht-Kupfer-Bereiche zu schneiden." +"Erstellen Sie Polygone für die\n" +"Bereiche ohne Kupfer auf der Leiterplatte.\n" +"Entspricht der Umkehrung davon\n" +"Objekt. Kann verwendet werden, um alle zu entfernen\n" +"Kupfer aus einer bestimmten Region." -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" -msgstr "Grenzmarge:" +msgid "Boundary Margin" +msgstr "Grenzmarge" -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7388,23 +7450,21 @@ msgstr "" "Objekte mit diesem Minimum\n" "Entfernung." -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" -msgstr "Abgerundete Ecken" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" +msgstr "Abgerundete Geo" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." -msgstr "" -"Erzeugt ein Geometrieobjekt mit Polygonen\n" -"bedeckt die kupferfreien Bereiche der Leiterplatte." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." +msgstr "Die resultierende Geometrie hat abgerundete Ecken." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" -msgstr " Begrenzungsbox: " +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" +msgstr "Begrenzungsrahmen" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7412,7 +7472,7 @@ msgstr "" "Abstand der Kanten der Box\n" "zum nächsten Polygon." -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7424,15 +7484,15 @@ msgstr "" "ihr Radius ist gleich\n" "der Abstand." -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "Erweiterte Optionen von Gerber" -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" -msgstr "Erweiterte Parameter:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." +msgstr "Erweiterte Param." -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -7442,11 +7502,11 @@ msgstr "" "Diese Parameter sind nur für verfügbar\n" "Fortgeschrittene Anwendungsebene." -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "\"Folgen\"" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7456,11 +7516,11 @@ msgstr "" "Dies bedeutet, dass es durchschneiden wird\n" "die Mitte der Spur" -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "Tabelle anzeigen / ausblenden" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -7470,15 +7530,15 @@ msgstr "" "Beim Ausblenden werden auch alle Markierungsformen gelöscht\n" "das sind auf leinwand gezeichnet." -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "Gerber Export" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" -msgstr "Exportoptionen:" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" +msgstr "Exportoptionen" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -7486,25 +7546,21 @@ msgstr "" "Die hier eingestellten Parameter werden in der exportierten Datei verwendet\n" "bei Verwendung des Menüeintrags Datei -> Exportieren -> Gerber exportieren." -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "Einheiten:" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "Die in der Gerber-Datei verwendeten Einheiten." -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "ZOLL" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" -msgstr "Ganzzahl / Dezimalzahl:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" +msgstr "Ganzzahl / Dezimalzahl" -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -7512,7 +7568,7 @@ msgstr "" "Die Anzahl der Ziffern im gesamten Teil der Nummer\n" "und im Bruchteil der Zahl." -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -7520,7 +7576,7 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "der ganze Teil von Gerber koordiniert." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -7528,11 +7584,11 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "Der Dezimalteil der Gerber-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" -msgstr "Nullen:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" +msgstr "Nullen" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7546,35 +7602,36 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen entfernt\n" "und führende Nullen werden beibehalten." -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" -msgstr "Parameter:" +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 +msgid "Parameters" +msgstr "Parameters" -#: flatcamGUI/FlatCAMGUI.py:4500 +#: flatcamGUI/FlatCAMGUI.py:4569 msgid "A list of Gerber Editor parameters." msgstr "Eine Liste der Gerber-Editor-Parameter." -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" -msgstr "Auswahllimit:" +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" +msgstr "Auswahllimit" -#: flatcamGUI/FlatCAMGUI.py:4510 +#: flatcamGUI/FlatCAMGUI.py:4579 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -7588,15 +7645,108 @@ msgstr "" "Erhöht die Leistung beim Bewegen von a\n" "große Anzahl von geometrischen Elementen." -#: flatcamGUI/FlatCAMGUI.py:4530 +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "Neuer Blendencode" + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "Neuer Öffnungsgröße" + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "Größe für die neue Blende" + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "Neuer Blendentyp" + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" +"Geben Sie für die neue Blende ein.\n" +"Kann \"C\", \"R\" oder \"O\" sein." + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "Öffnungsmaße" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "Durchmesser der Schneidwerkzeuge, getrennt durch ','" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +msgid "%s:" +msgstr "%s:" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "Lineare Richt." + +#: flatcamGUI/FlatCAMGUI.py:4686 +msgid "Circular Pad Array" +msgstr "Kreisschlitz-Array" + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "Kreisricht." + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" +"Richtung für kreisförmige Anordnung. \n" +"Kann CW = Uhrzeigersinn oder CCW = Gegenuhrzeigersinn sein." + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "Kreiswinkel" + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "Abstand, in dem das Gerber-Element gepuffert werden soll." + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "Skalierungswerk." + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "Faktor zum Skalieren des Gerber-Elements." + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "Bereich markieren Werkzeug" + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "Schwelle niedrig" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "Schwellenwert, unter dem die Blenden nicht markiert sind." + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "Schwellenwert, über dem die Blenden nicht markiert sind." + +#: flatcamGUI/FlatCAMGUI.py:4770 msgid "Excellon General" msgstr "Excellon Allgemeines" -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" -msgstr "Excellon-Format:" +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" +msgstr "Excellon Format" -#: flatcamGUI/FlatCAMGUI.py:4554 +#: flatcamGUI/FlatCAMGUI.py:4794 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7638,16 +7788,12 @@ msgstr "" "Sprint-Layout 2: 4 ZOLL LZ\n" "KiCAD 3: 5 ZOLL TZ" -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "ZOLL:" - -#: flatcamGUI/FlatCAMGUI.py:4582 +#: flatcamGUI/FlatCAMGUI.py:4822 msgid "Default values for INCH are 2:4" msgstr "Die Standardwerte für ZOLL sind 2: 4" -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -7655,8 +7801,8 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "der gesamte Teil der Excellon-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -7664,19 +7810,19 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "der Dezimalteil der Excellon-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" -msgstr "METRISCH:" +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" +msgstr "METRISCH" -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4855 msgid "Default values for METRIC are 3:3" msgstr "Die Standardwerte für METRISCH sind 3: 3" -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" -msgstr "Standard Nullen:" +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" +msgstr "Standard Nullen" -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7690,7 +7836,7 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen beibehalten\n" "und führende Nullen werden entfernt." -#: flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4900 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -7706,11 +7852,11 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen beibehalten\n" "und führende Nullen werden entfernt." -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" -msgstr "Standard einheiten:" +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" +msgstr "Standard Einheiten" -#: flatcamGUI/FlatCAMGUI.py:4673 +#: flatcamGUI/FlatCAMGUI.py:4913 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -7722,7 +7868,7 @@ msgstr "" "wird verwendet. Einige Excellon-Dateien haben keinen Header\n" "Daher wird dieser Parameter verwendet." -#: flatcamGUI/FlatCAMGUI.py:4684 +#: flatcamGUI/FlatCAMGUI.py:4924 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -7732,15 +7878,15 @@ msgstr "" "Einige Excellon-Dateien haben keinen Header\n" "Daher wird dieser Parameter verwendet." -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" -msgstr "Optimierung der Excellons:" +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" +msgstr "Optimierung der Excellons" -#: flatcamGUI/FlatCAMGUI.py:4695 +#: flatcamGUI/FlatCAMGUI.py:4935 msgid "Algorithm: " msgstr "Algorithmus:" -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -7764,15 +7910,15 @@ msgstr "" "Wenn DEAKTIVIERT, arbeitet FlatCAM im 32-Bit-Modus und verwendet es\n" "Traveling Salesman-Algorithmus zur Pfadoptimierung." -#: flatcamGUI/FlatCAMGUI.py:4708 +#: flatcamGUI/FlatCAMGUI.py:4948 msgid "MH" msgstr "MH" -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " -msgstr "Optimierungszeit:" +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" +msgstr "Optimierungszeit" -#: flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -7784,15 +7930,16 @@ msgstr "" "Pfadoptimierung. Diese maximale Dauer wird hier eingestellt.\n" "In Sekunden." -#: flatcamGUI/FlatCAMGUI.py:4768 +#: flatcamGUI/FlatCAMGUI.py:5008 msgid "Excellon Options" msgstr "Excellon-Optionen" -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" -msgstr "CNC-Job erstellen" +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" +msgstr "CNC-Job erstellen" -#: flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -7800,13 +7947,13 @@ msgstr "" "Parameter, die zum Erstellen eines CNC-Auftragsobjekts verwendet werden\n" "für dieses Bohrobjekt." -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" -msgstr "Schnitt Z:" +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" +msgstr "Schnitt Z" -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -7814,12 +7961,12 @@ msgstr "" "Bohrtiefe (negativ)\n" "unter der Kupferoberfläche." -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" -msgstr "Reise Z:" +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" +msgstr "Reise Z" -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -7827,12 +7974,12 @@ msgstr "" "Werkzeughöhe auf Reisen\n" "über die XY-Ebene." -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" -msgstr "Werkzeugwechsel:" +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" +msgstr "Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -7840,32 +7987,38 @@ msgstr "" "Werkzeugwechselfolge einbeziehen\n" "im G-Code (Pause für Werkzeugwechsel)." -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" -msgstr "Werkzeugwechsel Z:" +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" +msgstr "Werkzeugwechsel Z" -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." -msgstr "Toolchange Z position." +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "" +"Z-Achsenposition (Höhe) für\n" +"Werkzeugwechsel." -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" -msgstr "Vorschubgeschwindigkeit:" +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" +msgstr "Vorschub (Tauchgang):" -#: flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 msgid "" "Tool speed while drilling\n" -"(in units per minute)." +"(in units per minute).\n" +"This is for linear move G01." msgstr "" "Werkzeuggeschwindigkeit beim Bohren\n" -"(in Einheiten pro Minute)." +"(in Einheiten pro Minute).\n" +"Dies ist für die lineare Bewegung G01." -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" -msgstr "Spulengeschwindigkeit:" +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" +msgstr "Spulengeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7873,11 +8026,11 @@ msgstr "" "Geschwindigkeit der Spindel\n" "in RPM (optional)" -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" -msgstr "Spindelrichtung:" +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." +msgstr "Spindelrichtung" -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -7889,13 +8042,13 @@ msgstr "" "- CW = im Uhrzeigersinn oder\n" "- CCW = gegen den Uhrzeigersinn" -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" -msgstr "Wohnen:" +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" +msgstr "Wohnen" -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7903,33 +8056,33 @@ msgstr "" "Pause, damit die Spindel ihre erreichen kann\n" "Geschwindigkeit vor dem Schneiden." -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 +#: flatcamGUI/FlatCAMGUI.py:5098 msgid "Duration:" msgstr "Dauer:" -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." -msgstr "Anzahl der Millisekunden, die die Spindel halten soll." +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." +msgstr "Anzahl der Zeiteinheiten, in denen die Spindel verweilen soll." -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" -msgstr "Postprozessor:" +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" +msgstr "Postprozessor" -#: flatcamGUI/FlatCAMGUI.py:4872 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 msgid "" -"The postprocessor file that dictates\n" -"gcode output." +"The postprocessor JSON file that dictates\n" +"Gcode output." msgstr "" -"Die Postprozessor-Datei, die diktiert\n" -"gcode ausgabe." +"Die Postprozessor-JSON-Datei, die diktiert\n" +"Gcode-Ausgabe." -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " -msgstr "Gcode:" +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" +msgstr "Gcode" -#: flatcamGUI/FlatCAMGUI.py:4883 +#: flatcamGUI/FlatCAMGUI.py:5125 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7942,23 +8095,23 @@ msgstr "" "angezeigt\n" "in Bohrer umgewandelt." -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" -msgstr " Löcher bohren " +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" +msgstr "Löcher bohren" -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 msgid "Create Geometry for milling holes." msgstr "Erstellen Sie Geometrie zum Fräsen von Löchern." -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" -msgstr "Bohrwerkzeug Durchmesser:" +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" +msgstr "Bohrwerkzeugs Durchm." -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" -msgstr "Schlitzwerkzeug Durchmesser:" +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" +msgstr "Schlitzwerkzeug Durchmesser" -#: flatcamGUI/FlatCAMGUI.py:4914 +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 msgid "" "Diameter of the cutting tool\n" "when milling slots." @@ -7966,19 +8119,19 @@ msgstr "" "Durchmesser des Schneidewerkzeugs\n" "beim Fräsen von Schlitzen." -#: flatcamGUI/FlatCAMGUI.py:4926 +#: flatcamGUI/FlatCAMGUI.py:5168 msgid "Defaults" msgstr "Standardwerte" -#: flatcamGUI/FlatCAMGUI.py:4939 +#: flatcamGUI/FlatCAMGUI.py:5181 msgid "Excellon Adv. Options" msgstr "Excellon erweiterte Optionen" -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" -msgstr "Erweiterte Optionen:" +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" +msgstr "Erweiterte Optionen" -#: flatcamGUI/FlatCAMGUI.py:4947 +#: flatcamGUI/FlatCAMGUI.py:5189 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." @@ -7987,11 +8140,11 @@ msgstr "" "für dieses Drill-Objekt, das angezeigt wird, wenn die App-Ebene Erweitert " "ist." -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" -msgstr "Versatz Z:" +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" +msgstr "Versatz Z" -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" @@ -8002,20 +8155,20 @@ msgstr "" "erzeugen.\n" "Der Wert hier kann den Parameter Cut Z ausgleichen." -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" -msgstr "Werkzeugwechsel X, Y:" +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" +msgstr "Werkzeugwechsel X, Y" -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 msgid "Toolchange X,Y position." msgstr "Werkzeugwechsel X, Y Position." -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 #: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" -msgstr "Startbewegung Z:" +msgid "Start move Z" +msgstr "Startbewegung Z" -#: flatcamGUI/FlatCAMGUI.py:4974 +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -8023,12 +8176,13 @@ msgstr "" "Höhe des Werkzeugs gleich nach dem Start.\n" "Löschen Sie den Wert, wenn Sie diese Funktion nicht benötigen." -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" -msgstr "Bewegung beenden Z:" +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" +msgstr "Bewegung beenden Z" -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 msgid "" "Height of the tool after\n" "the last move at the end of the job." @@ -8036,12 +8190,11 @@ msgstr "" "Höhe des Werkzeugs nach\n" "die letzte Bewegung am Ende des Jobs." -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" -msgstr "Vorschubgeschwindigkeit:" +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" +msgstr "Vorschubgeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -8055,13 +8208,13 @@ msgstr "" "Es ist nur für Marlin nützlich,\n" "für andere Fälle ignorieren." -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" -msgstr "Sonde Z Tiefe:" +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" +msgstr "Sonde Z Tiefe" -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -8069,21 +8222,21 @@ msgstr "" "Die maximale Tiefe, in der die Sonde zulässig ist\n" "zu untersuchen. Negativer Wert in aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" -msgstr "Vorschubsonde:" +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" +msgstr "Vorschubsonde" -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 msgid "The feedrate used while the probe is probing." msgstr "Der Vorschub während der Sondenmessung." -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/FlatCAMGUI.py:5263 msgid "Fast Plunge:" msgstr "Schneller Sprung:" -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -8095,11 +8248,11 @@ msgstr "" "Das bedeutet die schnellste verfügbare Geschwindigkeit.\n" "WARNUNG: Die Verschiebung erfolgt bei Toolchange X, Y-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" -msgstr "Schneller Rückzug:" +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" +msgstr "Schneller Rückzug" -#: flatcamGUI/FlatCAMGUI.py:5034 +#: flatcamGUI/FlatCAMGUI.py:5276 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -8115,11 +8268,11 @@ msgstr "" "  - Wenn Sie den Weg von Z-Schnitt (Schnitttiefe) nach Z_Move prüfen\n" "(Fahrhöhe) erfolgt so schnell wie möglich (G0) in einem Zug." -#: flatcamGUI/FlatCAMGUI.py:5053 +#: flatcamGUI/FlatCAMGUI.py:5295 msgid "Excellon Export" msgstr "Excellon Export" -#: flatcamGUI/FlatCAMGUI.py:5058 +#: flatcamGUI/FlatCAMGUI.py:5300 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -8128,11 +8281,11 @@ msgstr "" "bei Verwendung des Menüeintrags Datei -> Exportieren -> Exportieren von " "Excellon." -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 msgid "The units used in the Excellon file." msgstr "Die in der Excellon-Datei verwendeten Einheiten." -#: flatcamGUI/FlatCAMGUI.py:5083 +#: flatcamGUI/FlatCAMGUI.py:5325 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -8144,11 +8297,11 @@ msgstr "" "Hier legen wir das verwendete Format fest\n" "Koordinaten verwenden keine Periode." -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" -msgstr "Format:" +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" +msgstr "Format" -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -8165,15 +8318,15 @@ msgstr "" "Es muss auch angegeben werden, wenn LZ = führende Nullen beibehalten werden\n" "oder TZ = nachfolgende Nullen bleiben erhalten." -#: flatcamGUI/FlatCAMGUI.py:5128 +#: flatcamGUI/FlatCAMGUI.py:5370 msgid "Decimal" msgstr "Dezimal" -#: flatcamGUI/FlatCAMGUI.py:5129 +#: flatcamGUI/FlatCAMGUI.py:5371 msgid "No-Decimal" msgstr "Keine Dezimalzahl" -#: flatcamGUI/FlatCAMGUI.py:5155 +#: flatcamGUI/FlatCAMGUI.py:5397 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8187,11 +8340,11 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen beibehalten\n" "und führende Nullen werden entfernt." -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" -msgstr "Schlitze-Typ:" +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" +msgstr "Schlitze-Typ" -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -8205,19 +8358,19 @@ msgstr "" "Beim Bohren (G85) werden die Steckplätze exportiert\n" "Verwenden Sie den Befehl Bohrschlitz (G85)." -#: flatcamGUI/FlatCAMGUI.py:5175 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "Routed" msgstr "Geroutet" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5418 msgid "Drilled(G85)" msgstr "Gebohrt (G85)" -#: flatcamGUI/FlatCAMGUI.py:5208 +#: flatcamGUI/FlatCAMGUI.py:5450 msgid "A list of Excellon Editor parameters." msgstr "Eine Liste der Excellon Editor-Parameter." -#: flatcamGUI/FlatCAMGUI.py:5218 +#: flatcamGUI/FlatCAMGUI.py:5460 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -8231,55 +8384,56 @@ msgstr "" "Erhöht die Leistung beim Bewegen von a\n" "große Anzahl von geometrischen Elementen." -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" -msgstr "Neuer Werkzeugdurchm.:" +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" +msgstr "Neuer Werkzeugdurchm." -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" -msgstr " Linearbohrer-Array: " +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" +msgstr "Anzahl der Bohrer" -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "Linearbohrer-Array" + +#: flatcamGUI/FlatCAMGUI.py:5499 msgid "Linear Dir.:" msgstr "Lineare Richt.:" -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" -msgstr " Rundbohrer-Array: " +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +msgid "%s:" +msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" -msgstr "Kreisricht.:" +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" +msgstr "Rundbohrer-Array" -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." -msgstr "" -"Richtung für kreisförmige Anordnung. \n" -"Kann CW = Uhrzeigersinn oder CCW = Gegenuhrzeigersinn sein." +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" +msgstr "Schlüssel" -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" -msgstr "Kreiswinkel:" +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" +msgstr "Länge" -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" -msgstr "Schlitze:" +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" +msgstr "Lineare Schlitzanordnung" -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" -msgstr " Lineare Schlitzanordnung: " +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" +msgstr "Anzahl der Slots" -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" -msgstr " Kreisschlitz-Array: " +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" +msgstr "Kreisschlitz-Array" -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5700 msgid "Geometry General" msgstr "Geometrie Allgemein" -#: flatcamGUI/FlatCAMGUI.py:5477 +#: flatcamGUI/FlatCAMGUI.py:5719 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -8287,23 +8441,11 @@ msgstr "" "Die Anzahl der Kreisschritte für die Geometrie\n" "Kreis- und Bogenformen lineare Annäherung." -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "Werkzeuge:" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Durchmesser der Schneidwerkzeuge, getrennt durch ','" - -#: flatcamGUI/FlatCAMGUI.py:5505 +#: flatcamGUI/FlatCAMGUI.py:5747 msgid "Geometry Options" msgstr "Geometrieoptionen" -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr "CNC-Auftrag erstellen:" - -#: flatcamGUI/FlatCAMGUI.py:5512 +#: flatcamGUI/FlatCAMGUI.py:5754 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -8313,7 +8455,7 @@ msgstr "" "die Konturen davon nachzeichnen\n" "Geometrieobjekt." -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -8321,19 +8463,27 @@ msgstr "" "Schnitttiefe (negativ)\n" "unter der Kupferoberfläche." -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" -msgstr "Mehrere tiefe" +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" +msgstr "Mehrfache Tiefe" -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." -msgstr "Mehrere Tiefe-Nutzung: Richtig oder Falsch." +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." +msgstr "" +"Verwenden Sie zum Begrenzen mehrere Durchgänge\n" +"die Schnitttiefe in jedem Durchgang. Wille\n" +"mehrmals schneiden, bis Schnitt Z ist\n" +"erreicht." -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" -msgstr "Tiefe / Pass:" +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" +msgstr "Tiefe / Pass" -#: flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5788 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -8347,7 +8497,7 @@ msgstr "" "es ist ein Bruch aus der Tiefe\n" "was einen negativen Wert hat." -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 msgid "" "Height of the tool when\n" "moving without cutting." @@ -8355,11 +8505,19 @@ msgstr "" "Höhe des Werkzeugs, wenn\n" "bewegen ohne zu schneiden" -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" -msgstr "Vorschubrate X-Y:" +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Werkzeugwechselfolge einbeziehen\n" +"im Maschinencode (Pause für Werkzeugwechsel)." -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "Vorschubrate X-Y" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 msgid "" "Cutting speed in the XY\n" "plane in units per minute" @@ -8367,11 +8525,11 @@ msgstr "" "Schnittgeschwindigkeit im XY\n" "Flugzeug in Einheiten pro Minute" -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" -msgstr "Vorschubrate Z:" +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" +msgstr "Vorschubrate Z" -#: flatcamGUI/FlatCAMGUI.py:5596 +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -8381,24 +8539,38 @@ msgstr "" "Flugzeug in Einheiten pro Minute.\n" "Es heißt auch Sturz." -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" -msgstr "Spulengeschwindigkeit:" +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" +msgstr "Spulengeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:5648 +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." +msgstr "" +"Drehzahl der Spindel in U / min (optional).\n" +"Wenn LASER-Postprozessor verwendet wird,\n" +"Dieser Wert ist die Leistung des Lasers." + +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "Dauer" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." msgstr "" "Die Postprozessor-Datei, die diktiert\n" -"Maschinencode-Ausgabe." +"den Maschinencode (wie GCode, RML, HPGL)." -#: flatcamGUI/FlatCAMGUI.py:5664 +#: flatcamGUI/FlatCAMGUI.py:5919 msgid "Geometry Adv. Options" msgstr "Geometrie Erw. Optionen" -#: flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamGUI/FlatCAMGUI.py:5926 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." @@ -8406,7 +8578,7 @@ msgstr "" "Parameter zum Erstellen eines CNC-Auftragsobjekts\n" "Verfolgung der Konturen eines Geometrieobjekts." -#: flatcamGUI/FlatCAMGUI.py:5691 +#: flatcamGUI/FlatCAMGUI.py:5946 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -8414,7 +8586,11 @@ msgstr "" "Höhe des Werkzeugs unmittelbar nach Beginn der Arbeit.\n" "Löschen Sie den Wert, wenn Sie diese Funktion nicht benötigen." -#: flatcamGUI/FlatCAMGUI.py:5711 +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "Vorschubgeschwindigkeit" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -8428,11 +8604,11 @@ msgstr "" "Es ist nur für Marlin nützlich,\n" "für andere Fälle ignorieren." -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 msgid "Re-cut 1st pt." msgstr "1. Punkt erneut schneiden" -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -8444,11 +8620,15 @@ msgstr "" "Beim letzten Schnitt treffen wir einen\n" "verlängerter Schnitt über dem ersten Schnittabschnitt." -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" -msgstr "Seg. X Größe:" +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" +msgstr "Schneller Sprung" -#: flatcamGUI/FlatCAMGUI.py:5766 +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "Seg. X Größe" + +#: flatcamGUI/FlatCAMGUI.py:6020 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -8458,11 +8638,11 @@ msgstr "" "Nützlich für die automatische Nivellierung.\n" "Ein Wert von 0 bedeutet keine Segmentierung auf der X-Achse." -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" -msgstr "Seg. Y Größe:" +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" +msgstr "Seg. Y Größe" -#: flatcamGUI/FlatCAMGUI.py:5777 +#: flatcamGUI/FlatCAMGUI.py:6031 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -8472,15 +8652,15 @@ msgstr "" "Nützlich für die automatische Nivellierung.\n" "Ein Wert von 0 bedeutet keine Segmentierung auf der Y-Achse." -#: flatcamGUI/FlatCAMGUI.py:5793 +#: flatcamGUI/FlatCAMGUI.py:6047 msgid "Geometry Editor" msgstr "Geo-Editor" -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6052 msgid "A list of Geometry Editor parameters." msgstr "Eine Liste der Geometry Editor-Parameter." -#: flatcamGUI/FlatCAMGUI.py:5808 +#: flatcamGUI/FlatCAMGUI.py:6062 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -8494,20 +8674,20 @@ msgstr "" "Erhöht die Leistung beim Bewegen von a\n" "große Anzahl von geometrischen Elementen." -#: flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/FlatCAMGUI.py:6081 msgid "CNC Job General" msgstr "CNC-Job Allgemein" -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 msgid "Plot Object" msgstr "Plotobjekt" -#: flatcamGUI/FlatCAMGUI.py:5847 +#: flatcamGUI/FlatCAMGUI.py:6099 msgid "Plot kind:" msgstr "Darstellungsart:" -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -8520,15 +8700,15 @@ msgstr "" "über dem Werkstück oder es kann vom Typ 'Ausschneiden' sein,\n" "was bedeutet, dass die Bewegungen, die in das Material geschnitten werden." -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 msgid "Travel" msgstr "Reise" -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" -msgstr "Anmerkung anzeigen:" +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" +msgstr "Anmerkung anzeigen" -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -8540,23 +8720,23 @@ msgstr "" "richtigen Reihenfolge angezeigt\n" "einer Reiseleitung." -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" -msgstr "Anmerkungsgröße:" +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" +msgstr "Anmerkungsgröße" -#: flatcamGUI/FlatCAMGUI.py:5882 +#: flatcamGUI/FlatCAMGUI.py:6134 msgid "The font size of the annotation text. In pixels." msgstr "Die Schriftgröße des Anmerkungstextes. In Pixeln." -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" -msgstr "Anmerkungsfarbe:" +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" +msgstr "Anmerkungsfarbe" -#: flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/FlatCAMGUI.py:6144 msgid "Set the font color for the annotation texts." msgstr "Legen Sie die Schriftfarbe für die Anmerkungstexte fest." -#: flatcamGUI/FlatCAMGUI.py:5915 +#: flatcamGUI/FlatCAMGUI.py:6167 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -8564,7 +8744,7 @@ msgstr "" "Die Anzahl der Kreisschritte für GCode\n" "Kreis- und Bogenformen lineare Annäherung." -#: flatcamGUI/FlatCAMGUI.py:5925 +#: flatcamGUI/FlatCAMGUI.py:6177 msgid "" "Diameter of the tool to be\n" "rendered in the plot." @@ -8572,11 +8752,11 @@ msgstr "" "Durchmesser des Werkzeugs sein\n" "in der Handlung gerendert." -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" -msgstr "Koordinate Dezimalzahlen:" +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." +msgstr "Koordinate Dezimalzahlen" -#: flatcamGUI/FlatCAMGUI.py:5935 +#: flatcamGUI/FlatCAMGUI.py:6187 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -8584,11 +8764,11 @@ msgstr "" "Die Anzahl der Dezimalstellen, für die verwendet werden soll\n" "die X-, Y-, Z-Koordinaten im CNC-Code (GCODE usw.)" -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" -msgstr "Vorschub-Nachkommastellen:" +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." +msgstr "Vorschub-Nachkommastellen" -#: flatcamGUI/FlatCAMGUI.py:5945 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -8596,16 +8776,16 @@ msgstr "" "Die Anzahl der Dezimalstellen, für die verwendet werden soll\n" "der Vorschubparameter im CNC-Code (GCODE usw.)" -#: flatcamGUI/FlatCAMGUI.py:5960 +#: flatcamGUI/FlatCAMGUI.py:6212 msgid "CNC Job Options" msgstr "CNC-Auftragsoptionen" -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" -msgstr "G-Code exportieren:" +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" +msgstr "G-Code exportieren" -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -8613,11 +8793,11 @@ msgstr "" "Exportieren und speichern Sie den G-Code nach\n" "Machen Sie dieses Objekt in eine Datei." -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" -msgstr "Voranstellen an G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" +msgstr "Voranstellen an G-Code" -#: flatcamGUI/FlatCAMGUI.py:5973 +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -8625,11 +8805,11 @@ msgstr "" "Geben Sie hier alle G-Code-Befehle ein\n" "gerne am Anfang der G-Code-Datei hinzufügen." -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" -msgstr "An G-Code anhängen:" +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" +msgstr "An G-Code anhängen" -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -8639,31 +8819,45 @@ msgstr "" "gerne an die generierte Datei anhängen.\n" "I.e .: M2 (Programmende)" -#: flatcamGUI/FlatCAMGUI.py:6001 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "CNC Job Adv. Options" msgstr "Erw. CNC-Joboptionen" -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" -msgstr "Werkzeugwechsel G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" +msgstr "CNC-Code exportieren" -#: flatcamGUI/FlatCAMGUI.py:6014 +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "Werkzeugwechsel G-Code" + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" "This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." msgstr "" "Geben Sie hier alle G-Code-Befehle ein\n" "Wird ausgeführt, wenn ein Werkzeugwechselereignis auftritt.\n" "Dies stellt einen benutzerdefinierten Werkzeugwechsel-GCode dar.\n" -"oder ein Werkzeugwechsel-Makro." +"oder ein Werkzeugwechsel-Makro.\n" +"Die FlatCAM-Variablen sind vom '%'-Symbol umgeben.\n" +"\n" +"WARNUNG: Es kann nur mit einer Postprozessor-Datei verwendet werden\n" +"das hat \"toolchange_custom\" im Namen und das ist gebaut\n" +"mit der \"Toolchange Custom\" -Prozessordatei als Vorlage." -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 msgid "Use Toolchange Macro" msgstr "Benutze das Werkzeugwechselmakro" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -8671,7 +8865,7 @@ msgstr "" "Aktivieren Sie dieses Kontrollkästchen, wenn Sie verwenden möchten\n" "ein benutzerdefiniertes Werkzeug ändert GCode (Makro)." -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -8681,69 +8875,119 @@ msgstr "" "im Werkzeugwechselereignis.\n" "Sie müssen mit dem \"%\" -Symbol umgeben sein" -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 -msgid "Parameters" -msgstr "Parameters" - -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "FlatCAM CNC-Parameter" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "tool = Werkzeugnummer" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "tooldia = Werkzeugdurchmesser" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = für Excellon die Gesamtzahl der Bohrer" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = X-Koord für Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = Y-Koord für Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "z_toolchange = Z-Koord für Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "z_cut = Z Tiefe für den Schnitt" -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "z_move = Z Höhe für die Reise" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut =der Schrittwert für den mehrstufigen Schnitt" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed =der Wert für die Spindeldrehzahl" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" "dwelltime = Zeit zum Verweilen, damit die Spindel ihre eingestellte Drehzahl " "erreicht" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "NCC-Tooloptionen" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" -msgstr "Werkzeug durchmesser:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." +msgstr "" +"Erstellen Sie ein Geometrieobjekt mit\n" +"Werkzeugwege, um alle Nicht-Kupfer-Bereiche zu schneiden." -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "Werkzeug durchmesser" + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "Werkzeugbestellung" + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" +"Hiermit wird festgelegt, wie die Werkzeuge in der Werkzeugtabelle verwendet " +"werden.\n" +"'Nein' -> bedeutet, dass die verwendete Reihenfolge die in der " +"Werkzeugtabelle ist\n" +"'Weiter' -> bedeutet, dass die Werkzeuge von klein nach groß sortiert " +"werden\n" +"'Rückwärts' -> Menus, die die Werkzeuge von groß nach klein ordnen\n" +"\n" +"WARNUNG: Bei Verwendung der Restbearbeitung wird die Reihenfolge automatisch " +"festgelegt\n" +"in umgekehrter Richtung und deaktivieren Sie diese Steuerung." + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "Vorwärts" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "Rückwärts" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "Überlappungsrate" + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8772,12 +9016,23 @@ msgstr "" "Höhere Werte = langsame Bearbeitung und langsame Ausführung auf der CNC\n" "wegen zu vieler Wege." -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "Marge" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "Begrenzungsrahmenrand." -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "Methode" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -8787,34 +9042,42 @@ msgstr "" "Schritt nach innen. Seed-based : Ausgehend vom Saatgut.
" "Line-based: Parallele Linien." -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" -msgstr "Rest M.:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" +msgstr "Verbinden" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "Kontur" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "Rest M." + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" "Wenn aktiviert, verwenden Sie \"Restbearbeitung\".\n" "Grundsätzlich wird Kupfer außerhalb der PCB-Merkmale gelöscht.\n" "das größte Werkzeug verwenden und mit den nächsten Werkzeugen fortfahren,\n" "von größeren zu kleineren, um Kupferbereiche zu reinigen\n" -"konnte nicht mit dem vorherigen Tool gelöscht werden.\n" +"konnte nicht durch vorheriges Werkzeug gelöscht werden, bis es gibt\n" +"kein kupfer mehr zum löschen oder es gibt keine werkzeuge mehr.\n" "Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "Offset:" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8826,42 +9089,52 @@ msgstr "" "von den Kupfermerkmalen.\n" "Der Wert kann zwischen 0 und 10 FlatCAM-Einheiten liegen." -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" -msgstr "Offsetwert:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" +msgstr "Offsetwert" -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "Selbst" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" -msgstr "Box" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" +msgstr "Bereich" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" -msgstr "Referenz:" +#: flatcamGUI/FlatCAMGUI.py:6489 +#| msgid "Ref." +msgid "Ref" +msgstr "Ref" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "Referenz" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Bei Auswahl der Option \"Selbst\" wird der nicht kupferhaltige Clearing-" -"Bereich festgelegt\n" +"- \"Selbst\" - das nicht kupferhaltige Clearing-Ausmaß\n" "basiert auf dem Objekt, das kupferfrei ist.\n" -"  Wenn Sie die Option \"Box\" auswählen, wird kein Kupfer in der Box " -"gelöscht\n" -"angegeben durch ein anderes Objekt als das kupfergelöschte." +"- 'Bereichsauswahl' - Klicken Sie mit der linken Maustaste, um den Bereich " +"auszuwählen, der gemalt werden soll.\n" +"Wenn Sie eine Änderungstaste gedrückt halten (STRG oder UMSCHALTTASTE), " +"können Sie mehrere Bereiche hinzufügen.\n" +"- 'Referenzobjekt' - löscht nicht kupferne Objekte innerhalb des Bereichs\n" +"von einem anderen Objekt angegeben." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "Ausschnittwerkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -8871,11 +9144,19 @@ msgstr "" "die PCB und trennen Sie es von\n" "das ursprüngliche Brett." -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" -msgstr "Obj Art:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." +msgstr "" +"Durchmesser des zum Ausschneiden verwendeten Werkzeugs\n" +"die PCB-Form aus dem umgebenden Material." -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "Obj Art" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -8887,46 +9168,51 @@ msgstr "" "Ein Panel-PCB-Gerber Objekt, das gemacht wird\n" "aus vielen einzelnen PCB-Konturen." -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "Einzehln" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "Platte" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -"Entfernung von Objekten bei denen\n" -"den Ausschnitt zeichnen." +"Marge über Grenzen. Ein positiver Wert hier\n" +"macht den Ausschnitt der Leiterplatte weiter aus\n" +"die tatsächliche PCB-Grenze" -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" -msgstr "Spaltgröße:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" +msgstr "Spaltgröße" -#: flatcamGUI/FlatCAMGUI.py:6276 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." msgstr "" -"Größe der Lücken im Werkzeugweg\n" -"das wird bleiben, um das zu halten\n" -"Board an Ort und Stelle." +"Die Größe der Brückenlücken im Ausschnitt\n" +"verwendet, um die Platine verbunden zu halten\n" +"das umgebende Material (das eine\n" +"von denen die Leiterplatte ausgeschnitten ist)." -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" -msgstr "Spalt:" +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" +msgstr "Spalt" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6571 msgid "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8937,6 +9223,7 @@ msgstr "" "Anzahl der für den Ausschnitt verwendeten Brückenlücken.\n" "Es können maximal 8 Brücken / Lücken vorhanden sein.\n" "Die Wahlmöglichkeiten sind:\n" +"- Keine - keine Lücken\n" "- lr \t- links + rechts\n" "- tb \t- oben + unten\n" "- 4 \t- links + rechts + oben + unten\n" @@ -8944,19 +9231,23 @@ msgstr "" "- 2 tb \t- 2 * oben + 2 * unten\n" "- 8 \t- 2 * links + 2 * rechts + 2 * oben + 2 * unten" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" -msgstr "Konvexe Form .:" +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." +msgstr "Konvexe Form" -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." -msgstr "Erstellen Sie eine konvexe Form, die die gesamte Leiterplatte umgibt." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." +msgstr "" +"Erstellen Sie eine konvexe Form, die die gesamte Leiterplatte umgibt.\n" +"Wird nur verwendet, wenn der Quellobjekttyp Gerber ist." -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "2Seitige Werkzeugoptionen" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -8964,46 +9255,54 @@ msgstr "" "Ein Werkzeug, das beim Erstellen eines doppelseitigen Dokuments hilft\n" "PCB mit Ausrichtungslöchern." -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" -msgstr "Bohrdurchmesser:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" +msgstr "Bohrdurchmesser" -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Durchmesser des Bohrers für die Ausrichtungslöcher." -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Spiegelachse:" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Vertikal spiegeln (X) oder horizontal (Y)." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Punkt" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" -msgstr "Achsenreferenz:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" +msgstr "Box" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "Achsenreferenz" + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" -"Die Achse sollte einen Punkt durchlaufen oder schneiden\n" -"ein angegebenes Feld (in einem Geometrieobjekt) in\n" -"die Mitte." +"Die Achse sollte einen Punkt durchlaufen oder schneiden\n" +"eine angegebene Box (in einem FlatCAM-Objekt) durch\n" +"das Zentrum." -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "Paint werkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "Parameter:" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -9015,31 +9314,41 @@ msgstr "" "alles Kupfer). Du wirst gefragt\n" "Klicken Sie auf das gewünschte Polygon." -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "Auswahl" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Wie viel (Bruchteil) des Werkzeugs\n" -"Breite, um jeden Werkzeugdurchgang zu überlappen." +"So wählen Sie zu malende Polygone aus.\n" +"\n" +"- 'Bereichsauswahl' - Klicken Sie mit der linken Maustaste, um den Bereich " +"auszuwählen, der gemalt werden soll.\n" +"Wenn Sie eine Änderungstaste gedrückt halten (STRG oder UMSCHALTTASTE), " +"können Sie mehrere Bereiche hinzufügen.\n" +"- 'Alle Polygone' - Der Malvorgang wird nach dem Klicken gestartet.\n" +"- 'Referenzobjekt' - löscht nicht kupferne Objekte innerhalb des Bereichs\n" +"von einem anderen Objekt angegeben." -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" -msgstr "Auswahl:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." +msgstr "Ref." -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "So wählen Sie die Polygone zum Malen aus." - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "Bereich" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "Filmwerkzeugoptionen" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -9049,11 +9358,11 @@ msgstr "" "FlatCAM-Objekt\n" "Die Datei wird im SVG-Format gespeichert." -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "Filmtyp:" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -9069,11 +9378,11 @@ msgstr "" "mit weiß auf einer schwarzen leinwand.\n" "Das Filmformat ist SVG." -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" -msgstr "Rand:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" +msgstr "Rand" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -9093,11 +9402,11 @@ msgstr "" "weiße Farbe wie der Rest und die mit der verwechseln kann\n" "Umgebung, wenn nicht für diese Grenze." -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" -msgstr "Skalierungshub:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" +msgstr "Skalierungshub" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -9109,11 +9418,11 @@ msgstr "" "dünner ist.\n" "Daher können die Feinheiten von diesem Parameter stärker beeinflusst werden." -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "Panelize Werkzeugoptionen" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -9123,11 +9432,11 @@ msgstr "" "Jedes Element ist eine Kopie des Quellobjekts\n" "in einem X-Abstand, Y-Abstand voneinander." -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" -msgstr "Abstandspalten:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" +msgstr "Abstandspalten" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -9135,11 +9444,11 @@ msgstr "" "Abstand zwischen den Spalten des gewünschten Bereichs.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" -msgstr "Abstand Reihen:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" +msgstr "Abstand Reihen" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -9147,35 +9456,35 @@ msgstr "" "Abstand zwischen den Reihen des gewünschten Feldes.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" -msgstr "Säulen:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" +msgstr "Säulen" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Anzahl der Spalten des gewünschten Bereichs" -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" -msgstr "Reihen:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" +msgstr "Reihen" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Anzahl der Zeilen des gewünschten Panels" -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Geo" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" -msgstr "Panel-Typ:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" +msgstr "Panel-Typ" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -9185,11 +9494,11 @@ msgstr "" "- Gerber\n" "- Geometrie" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" -msgstr "Beschränkung innerhalb:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" +msgstr "Beschränkung innerhalb" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -9203,11 +9512,11 @@ msgstr "" "Das letzte Panel enthält so viele Spalten und Zeilen wie\n" "Sie passen vollständig in den ausgewählten Bereich." -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" -msgstr "Breite (DX):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" +msgstr "Breite (DX)" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -9215,11 +9524,11 @@ msgstr "" "Die Breite (DX), in die das Panel passen muss.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" -msgstr "Höhe (DY):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" +msgstr "Höhe (DY)" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -9227,15 +9536,15 @@ msgstr "" "Die Höhe (DY), in die die Platte passen muss.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "Rechner-Tool-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" -msgstr " V-Shape-Werkzeug Rechner: " +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" +msgstr "V-Shape-Werkzeugrechner" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -9246,11 +9555,11 @@ msgstr "" "mit dem Spitzendurchmesser, Spitzenwinkel und\n" "Schnitttiefe als Parameter." -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" msgstr "Spitzendurchmesser" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -9258,11 +9567,11 @@ msgstr "" "Dies ist der Werkzeugspitzendurchmesser.\n" "Es wird vom Hersteller angegeben." -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" -msgstr "Spitzenwinkel:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" +msgstr "Spitzenwinkel" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -9270,7 +9579,7 @@ msgstr "" "Dies ist der Winkel an der Spitze des Werkzeugs.\n" "Es wird vom Hersteller angegeben." -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -9278,11 +9587,11 @@ msgstr "" "Dies ist die Tiefe zum Schneiden in Material.\n" "Im CNCJob-Objekt ist dies der Parameter CutZ." -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" -msgstr " Galvano-Rechner: " +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" +msgstr "Galvanikrechner" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -9293,27 +9602,27 @@ msgstr "" "unter Verwendung einer Methode wie Grahit-Tinte oder Calcium-Hypophosphit-" "Tinte oder Palladiumchlorid." -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" -msgstr "PCB Länge:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" +msgstr "PCB Länge" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "Dies ist die Boardlänge. In Zentimeter" -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" -msgstr "PCB Breite:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" +msgstr "PCB Breite" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "Dies ist die Breite der Platte in Zentimetern." -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" -msgstr "Stromdichte:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" +msgstr "Stromdichte" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -9321,11 +9630,11 @@ msgstr "" "Stromdichte durch die Platine.\n" "In Ampere pro Quadratfuß ASF." -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" -msgstr "Kupferwachstum:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" +msgstr "Kupferwachstum" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -9333,11 +9642,11 @@ msgstr "" "Wie dick soll das Kupferwachstum sein.\n" "In Mikrometern" -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "Umwandlungswerkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -9345,47 +9654,35 @@ msgstr "" "Verschiedene Transformationen, die angewendet werden können\n" "auf einem FlatCAM-Objekt." -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" -msgstr "Winkel drehen:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" +msgstr "Winkel drehen" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." -msgstr "Drehwinkel. In grad." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" +msgstr "Neigungswinkel X" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" -msgstr "Neigungswinkel X:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" +msgstr "Neigungswinkel Y" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." -msgstr "Winkel für Neigung / Scherung auf der X-Achse. In grad." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" +msgstr "Skalierung des X-Faktors" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "Neigungswinkel Y:" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "Winkel für Neigung / Scherung auf der Y-Achse. In grad." - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "Skalierung des X-Faktors:" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Faktor für die Skalierung auf der X-Achse." -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" -msgstr "Skalierung des Y-Faktors:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" +msgstr "Skalierung des Y-Faktors" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Faktor für die Skalierung auf der Y-Achse." -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -9393,7 +9690,7 @@ msgstr "" "Skalieren Sie die ausgewählten Objekte\n" "Verwenden des Skalierungsfaktors X für beide Achsen." -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -9405,27 +9702,27 @@ msgstr "" "und die Mitte der größten Begrenzungsbox\n" "der ausgewählten Objekte, wenn sie nicht markiert sind." -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" -msgstr "Offset X Wert:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" +msgstr "Offset X Wert" -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Abstand zum Offset auf der X-Achse. In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" -msgstr "Offset Y-Wert:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" +msgstr "Offset Y-Wert" -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Abstand zum Offset auf der Y-Achse. In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Spiegelreferenz" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9448,11 +9745,11 @@ msgstr "" "Oder geben Sie die Koordinaten im Format (x, y) in ein\n" "Punkt-Eingabefeld und klicken Sie auf X (Y) drehen" -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" -msgstr "Spiegelref. Punkt:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" +msgstr "Spiegelref. Punkt" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -9463,11 +9760,11 @@ msgstr "" "Das 'x' in (x, y) wird verwendet, wenn Sie bei X und\n" "Das 'y' in (x, y) wird verwendet, wenn Flip auf Y und verwendet wird" -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "Lötpaste-Werkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -9475,49 +9772,49 @@ msgstr "" "Ein Werkzeug zum Erstellen von GCode für die Ausgabe\n" "Lotpaste auf eine Leiterplatte." -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "Durchmesser der Düsenwerkzeuge, getrennt durch ','" -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" -msgstr " Neuer Düsendurchmesser: " +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" +msgstr "Neuer Düsendurchmesser:" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Durchmesser für das neue Düsenwerkzeug, das in die Werkzeugtabelle eingefügt " "werden soll" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" -msgstr "Z Dosierbeginn:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" +msgstr "Z Dosierbeginn" -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "Die Höhe (Z) bei der Lotpastendosierung." -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" -msgstr "Z-Abgabe:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" +msgstr "Z-Abgabe" -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "Die Höhe (Z) bei der Lotpastendosierung." -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" -msgstr "Z Abgabestopp:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" +msgstr "Z Abgabestopp" -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "Die Höhe (Z) bei der Lotpastendosierung stoppt." -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" -msgstr "Z Reise:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" +msgstr "Z Reise" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -9525,19 +9822,19 @@ msgstr "" "Die Höhe (Z) für den Weg zwischen Pads\n" "(ohne Lotpaste zu dosieren)." -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" -msgstr "Z Werkzeugwechsel:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" +msgstr "Z Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "Die Höhe (Z) für Werkzeug (Düse) ändert sich." -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" -msgstr "XY-Werkzeugwechsel:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" +msgstr "Werkzeugwechsel X, Y" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -9545,19 +9842,19 @@ msgstr "" "Die X, Y-Position für Werkzeug (Düse) ändert sich.\n" "Das Format ist (x, y), wobei x und y reelle Zahlen sind." -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" -msgstr "Vorschub X-Y:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" +msgstr "Vorschub X-Y" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Vorschub (Geschwindigkeit) während der Bewegung auf der X-Y-Ebene." -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" -msgstr "Vorschub Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" +msgstr "Vorschub Z" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -9565,11 +9862,11 @@ msgstr "" "Vorschub (Geschwindigkeit) bei vertikaler Bewegung\n" "(auf der Z-Ebene)." -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" -msgstr "Vorschub Z Dosierung:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" +msgstr "Vorschub Z Dosierung" -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -9577,11 +9874,11 @@ msgstr "" "Vorschub (Geschwindigkeit) bei vertikaler Aufwärtsbewegung\n" "in Ausgabeposition (in der Z-Ebene)." -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" -msgstr "Spindeldrehzahl FWD:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" +msgstr "Spindeldrehzahl FWD" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -9589,19 +9886,19 @@ msgstr "" "Die Spendergeschwindigkeit beim Schieben der Lötpaste\n" "durch die Spenderdüse." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" -msgstr "Verweilzeit FWD:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" +msgstr "Verweilzeit FWD" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Pause nach dem Löten." -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" -msgstr "Spindeldrehzahl REV:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" +msgstr "Spindeldrehzahl REV" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -9609,11 +9906,11 @@ msgstr "" "Die Spendergeschwindigkeit beim Einfahren der Lötpaste\n" "durch die Spenderdüse." -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" -msgstr "Verweilen REV:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" +msgstr "Verweilen REV" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -9621,19 +9918,20 @@ msgstr "" "Pause nachdem Lotpastendispenser eingefahren wurde,\n" "das Druckgleichgewicht zu ermöglichen." -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" -msgstr "Postprozessoren:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" +msgstr "Postprozessor" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Dateien, die die GCode-Generierung steuern." -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "Substractor-Werkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -9641,26 +9939,26 @@ msgstr "" "Ein Werkzeug zum Subtrahieren eines Gerber- oder Geometrieobjekts\n" "von einem anderen des gleichen Typs." -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Wege schließen" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Wenn Sie dies aktivieren, werden die vom Geometry-Substractor-Objekt " "geschnittenen Pfade geschlossen." -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "Untätig" -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "Bewerbung gestartet ..." -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "Hello!" @@ -9686,17 +9984,13 @@ msgstr "" "Bearbeiten -> Einstellungen -> Allgemein und überprüfen Sie:\n" "Optionsfeld \"Anwendungsebene\"." -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr " Skalierung: " - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "Ändern Sie die Größe des Objekts." #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" -msgstr "Faktor:" +msgid "Factor" +msgstr "Faktor" #: flatcamGUI/ObjectUI.py:91 msgid "" @@ -9710,17 +10004,13 @@ msgstr "" msgid "Perform scaling operation." msgstr "Führen Sie die Skalierung durch." -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "Versatz:" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "Ändern Sie die Position dieses Objekts." #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" -msgstr "Vektor:" +msgid "Vector" +msgstr "Vektor" #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -9739,9 +10029,9 @@ msgid "Gerber Object" msgstr "Gerber-Objekt" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" -msgstr "Name:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" +msgstr "Name" #: flatcamGUI/ObjectUI.py:203 msgid "" @@ -9787,17 +10077,9 @@ msgstr "" "verwenden Sie einen negativen Wert für\n" "dieser Parameter." -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "Durchgang:" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "Kombinieren" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" -msgstr " Isolationsgeometrie erzeugen: " +msgid "Generate Isolation Geometry" +msgstr "Isolationsgeometrie erzeugen" #: flatcamGUI/ObjectUI.py:325 msgid "" @@ -9864,10 +10146,10 @@ msgstr "" "nur die Innengeometrie." #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" -msgstr " N-Kupfer löschen: " +msgid "Clear N-copper" +msgstr "N-Kupfer löschen" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -9876,10 +10158,10 @@ msgstr "" "für kupferfreies Routing." #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" -msgstr " Kartenausschnitt: " +msgid "Board cutout" +msgstr "Kartenausschnitt" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "Ausschnittwerkzeug" @@ -9891,35 +10173,9 @@ msgstr "" "Generieren Sie die Geometrie für\n" "der Brettausschnitt." -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr " Regionen ohne Kupfer: " - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" -"Erstellen Sie Polygone für die\n" -"Bereiche ohne Kupfer auf der Leiterplatte.\n" -"Entspricht der Umkehrung davon\n" -"Objekt. Kann verwendet werden, um alle zu entfernen\n" -"Kupfer aus einer bestimmten Region." - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "Abgerundete Geo" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "Die resultierende Geometrie hat abgerundete Ecken." - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Geo erzeugen" @@ -9943,22 +10199,10 @@ msgstr "Excellon-Objekt" msgid "Solid circles." msgstr "Feste Kreise" -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr " Werkzeugtabelle " - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "Bohrer" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "Schlüssel" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "Versatz Z" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -9971,7 +10215,7 @@ msgstr "" "wird als T1, T2 ... Tn im Maschinencode angezeigt." #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -10008,61 +10252,11 @@ msgstr "" "Erstellen Sie ein CNC-Auftragsobjekt\n" "für dieses Bohrobjekt." -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" -msgstr "Werkzeugwechsel" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" +msgstr "Werkzeugwechsel Z" -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" -msgstr "Werkzeugwechsel Z:" - -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "" -"Z-Achsenposition (Höhe) für\n" -"Werkzeugwechsel." - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Werkzeughöhe kurz vor Arbeitsbeginn.\n" -"Löschen Sie den Wert, wenn Sie diese Funktion nicht benötigen." - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "" -"Z-Achsenposition (Höhe) für\n" -"der letzte Zug" - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "Vorschub (Tauchgang):" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" -"Werkzeuggeschwindigkeit beim Bohren\n" -"(in Einheiten pro Minute).\n" -"Dies ist für die lineare Bewegung G01." - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" -"Die Json-Datei, die diktiert\n" -"gcode ausgabe." - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." @@ -10070,11 +10264,7 @@ msgstr "" "Wählen Sie aus der Tools-Tabelle oben\n" "die Werkzeuge, die Sie einschließen möchten." -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr " Typ: " - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -10086,15 +10276,15 @@ msgstr "" "Wenn Sie \"Slots\" oder \"Both\" wählen, werden die Slots angezeigt\n" "in eine Reihe von Bohrern umgewandelt." -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "GCode erstellen" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "Generieren Sie den CNC-Job." -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." @@ -10102,15 +10292,11 @@ msgstr "" "Wählen Sie aus der Werkzeugtabelle oben\n" " das Loch, das gefräst werden soll." -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "Bohrer Werkzeugdurchmesser:" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "Mühle bohrt Geo" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -10118,10 +10304,6 @@ msgstr "" "Erstellen Sie das Geometrieobjekt\n" "zum Fräsen von BOHRER-Werkzeugwegen." -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "Schlitzwerkzeugdurchmesser:" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "Fräsen der Schlitze" @@ -10167,12 +10349,12 @@ msgstr "" "ausgegraut und Cut Z wird automatisch aus dem neuen berechnet\n" "Zeigt UI-Formulareinträge mit den Namen V-Tip Dia und V-Tip Angle an." -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "Durchm" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TT" @@ -10276,8 +10458,8 @@ msgstr "" "für das entsprechende Werkzeug." #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" -msgstr "Werkzeugversatz:" +msgid "Tool Offset" +msgstr "Werkzeugversatz" #: flatcamGUI/ObjectUI.py:951 msgid "" @@ -10291,12 +10473,13 @@ msgstr "" "Der Wert kann für \"außerhalb\" positiv sein\n" "Cut und Negativ für \"Inside\" Cut." -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" -msgstr " Werkzeugdurchmesser: " +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" +msgstr "Werkzeugdurchm" -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -10321,8 +10504,8 @@ msgstr "" "indem Sie zuerst eine Zeile in der Werkzeugtabelle auswählen." #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" -msgstr " Werkzeugdaten " +msgid "Tool Data" +msgstr "Werkzeugdaten" #: flatcamGUI/ObjectUI.py:1028 msgid "" @@ -10333,16 +10516,16 @@ msgstr "" "Jedes Werkzeug speichert seinen eigenen Satz solcher Daten." #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" -msgstr "V-Tip-Durchm:" +msgid "V-Tip Dia" +msgstr "V-Tip-Durchm" #: flatcamGUI/ObjectUI.py:1049 msgid "The tip diameter for V-Shape Tool" msgstr "Der Spitzendurchmesser für das V-Shape-Werkzeug" #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" -msgstr "V-Tip-Winkel:" +msgid "V-Tip Angle" +msgstr "V-Tip-Winkel" #: flatcamGUI/ObjectUI.py:1060 msgid "" @@ -10352,105 +10535,11 @@ msgstr "" "Der Spitzenwinkel für das V-Shape-Werkzeug.\n" "In grad." -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "Mehrfache Tiefe:" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" -"Verwenden Sie zum Begrenzen mehrere Durchläufe\n" -"die Schnitttiefe in jedem Durchgang. Wille\n" -"mehrmals schneiden, bis Cut Z ist\n" -"erreicht.\n" -"Geben Sie rechts die Tiefe von ein\n" -"jeder Durchlauf (positiver Wert)." - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "Tiefe jedes Durchgangs (positiv)." -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Werkzeugwechselfolge einbeziehen\n" -"im Maschinencode (Pause für Werkzeugwechsel)." - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" -"Dies ist die Höhe (Z), auf der die CNC steht\n" -"wird als letzter Zug gehen." - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "Vorschubrate Z (Eintauchen):" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" -"Schnittgeschwindigkeit in der Z\n" -"Flugzeug in Einheiten pro Minute" - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "Vorschubgeschwindigkeit:" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Schnittgeschwindigkeit im XY\n" -"Flugzeug in Einheiten pro Minute\n" -"(in Einheiten pro Minute).\n" -"Dies ist für die schnelle Bewegung G00.\n" -"Es ist nur für Marlin nützlich,\n" -"für andere Fälle ignorieren." - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "1. Punkt schneiden" - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" -"Drehzahl der Spindel in U / min (optional).\n" -"Wenn LASER-Postprozessor verwendet wird,\n" -"Dieser Wert ist die Leistung des Lasers." - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "Postprozessor:" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" -"Die Postprozessor-Datei, die diktiert\n" -"den Maschinencode (wie GCode, RML, HPGL)." - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -10462,39 +10551,35 @@ msgstr "" "oder drücken Sie Strg + LMB\n" "zur benutzerdefinierten Auswahl von Werkzeugen." -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "Generieren" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "Generieren Sie das CNC-Job-Objekt." -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" -msgstr " Paint Bereich: " +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" +msgstr "Paint Bereich" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "Starten Sie das Paint Werkzeug in der Registerkarte \"Tools\"." -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "CNC-Auftragsobjekt" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" -msgstr " Plotart: " +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" +msgstr "Darstellungsart" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" -msgstr " Anmerkung anzeigen: " +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." +msgstr "Zurückgelegte Distanz:" -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr " Zurückgelegte Distanz: " - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -10502,11 +10587,11 @@ msgstr "" "Dies ist die Gesamtstrecke auf der X-Y-Ebene.\n" "In aktuellen Einheiten." -#: flatcamGUI/ObjectUI.py:1406 -msgid "Estimated time:" -msgstr "Geschätzte Zeit:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" +msgstr "Geschätzte Zeit" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -10514,11 +10599,11 @@ msgstr "" "Dies ist die geschätzte Zeit für das Fräsen / Bohren.\n" "ohne die Zeit, die in Werkzeugwechselereignissen verbracht wird." -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" -msgstr " CNC-Werkzeugtabelle " +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" +msgstr "CNC Werkzeugtabelle" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -10540,73 +10625,39 @@ msgstr "" "Der 'Werkzeugtyp' (TT) kann kreisförmig mit 1 bis 4 Zähnen (C1..C4) sein.\n" "Kugel (B) oder V-Form (V)." -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "Plot aktualisieren" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "Aktualisieren Sie die Darstellung." -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" -msgstr " CNC-Code exportieren: " +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" +msgstr "CNC-Code voranstellen" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" -msgstr "CNC-Code voranstellen:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" +msgstr "An CNC Code anhängen" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" -"Geben Sie hier alle G-Code-Befehle ein\n" -"gerne an den Anfang der generierten Datei hinzufügen." - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "An CNC Code anhängen:" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" -"Geben Sie hier alle G-Code-Befehle ein\n" -"Wird ausgeführt, wenn ein Werkzeugwechselereignis auftritt.\n" -"Dies stellt einen benutzerdefinierten Werkzeugwechsel-GCode dar.\n" -"oder ein Werkzeugwechsel-Makro.\n" -"Die FlatCAM-Variablen sind vom '%'-Symbol umgeben.\n" -"\n" -"WARNUNG: Es kann nur mit einer Postprozessor-Datei verwendet werden\n" -"das hat \"toolchange_custom\" im Namen und das ist gebaut\n" -"mit der \"Toolchange Custom\" -Prozessordatei als Vorlage." - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "z_cut = Tiefe, wo geschnitten werden soll" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "z_move = Höhe wo zu reisen" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "CNC-Code anzeigen" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." @@ -10614,11 +10665,11 @@ msgstr "" "Öffnet die Registerkarte zum Anzeigen / Ändern / Drucken von G-Code\n" "Datei." -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "CNC-Code speichern" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -10630,18 +10681,10 @@ msgstr "" msgid "Calculators" msgstr "Rechner" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "V-Shape-Werkzeugrechner" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "Einheitenrechner" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "Galvanikrechner" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "" @@ -10652,19 +10695,7 @@ msgid "Here you enter the value to be converted from MM to INCH" msgstr "" "Hier geben Sie den Wert ein, der von Metrik in Zoll konvertiert werden soll" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" -"Dies ist der Durchmesser der Werkzeugspitze.\n" -"Der Hersteller gibt es an." - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "Spitzenwinkel:" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -10672,7 +10703,7 @@ msgstr "" "Dies ist der Winkel der Werkzeugspitze.\n" "Es wird vom Hersteller angegeben." -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -10680,11 +10711,11 @@ msgstr "" "Dies ist die Tiefe, in die das Material geschnitten werden soll.\n" "Im CNCJob befindet sich der Parameter CutZ." -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" -msgstr "Werkzeugdurchm:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" +msgstr "Werkzeugdurchm" -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -10694,11 +10725,11 @@ msgstr "" "FlatCAM-Gerber-Bereich.\n" "Im CNCJob-Bereich heißt es >Werkzeugdurchmesser<." -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "Berechnung" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -10707,11 +10738,11 @@ msgstr "" "Werkzeugdurchmesser.\n" " je nachdem, was gewünscht und bekannt ist." -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" -msgstr "Aktueller Wert:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" +msgstr "Aktueller Wert" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -10719,11 +10750,11 @@ msgstr "" "Dies ist der aktuelle Intensitätswert\n" "am Netzteil eingestellt werden. In Ampere" -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" -msgstr "Zeit:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" +msgstr "Zeit" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." @@ -10731,7 +10762,7 @@ msgstr "" "Dies ist die berechnete Zeit, die für das Verfahren benötigt wird.\n" "In Minuten." -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -10739,7 +10770,7 @@ msgstr "" "Berechnen Sie den aktuellen Intensitätswert und die Eingriffszeit,\n" "abhängig von den obigen Parametern" -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "Rechner-Tool" @@ -10747,9 +10778,10 @@ msgstr "Rechner-Tool" msgid "Cutout PCB" msgstr "Ausschnitt PCB" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" -msgstr "Obj-Typ:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" +msgstr "Obj-Typ" #: flatcamTools/ToolCutOut.py:56 msgid "" @@ -10763,51 +10795,19 @@ msgstr "" "Was hier ausgewählt wird, bestimmt die Art\n" "von Objekten, die die Combobox 'Object' füllen." -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" -msgstr "Objekt:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" +msgstr "Objekt" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "Objekt, das ausgeschnitten werden soll." -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "" -"Durchmesser des zum Ausschneiden verwendeten Werkzeugs\n" -"die PCB-Form aus dem umgebenden Material." - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" -"Marge über Grenzen. Ein positiver Wert hier\n" -"macht den Ausschnitt der Leiterplatte weiter aus\n" -"die tatsächliche PCB-Grenze" - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" -"Die Größe der Brückenlücken im Ausschnitt\n" -"verwendet, um die Platine verbunden zu halten\n" -"das umgebende Material (das eine\n" -"von denen die Leiterplatte ausgeschnitten ist)." - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." -msgstr "" -"Erstellen Sie eine konvexe Form, die die gesamte Leiterplatte umgibt.\n" -"Wird nur verwendet, wenn der Quellobjekttyp Gerber ist." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" +msgstr "Spaltgröße:" #: flatcamTools/ToolCutOut.py:138 msgid "A. Automatic Bridge Gaps" @@ -10822,6 +10822,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10832,6 +10833,7 @@ msgstr "" "Anzahl der Lücken, die für den automatischen Ausschnitt verwendet werden.\n" "Es können maximal 8 Brücken / Lücken vorhanden sein.\n" "Die Wahlmöglichkeiten sind:\n" +"- Keine - keine Lücken\n" "- lr \t- links + rechts\n" "- tb \t- oben + unten\n" "- 4 \t- links + rechts + oben + unten\n" @@ -10839,11 +10841,11 @@ msgstr "" "- 2 tb \t- 2 * oben + 2 * unten\n" "- 8 \t- 2 * links + 2 * rechts + 2 * oben + 2 * unten" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" -msgstr "Freie Form:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" +msgstr "Freie Form" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." @@ -10851,7 +10853,7 @@ msgstr "" "Die Ausschnittsform kann jede Form haben.\n" "Nützlich, wenn die Leiterplatte eine nicht rechteckige Form hat." -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -10861,11 +10863,11 @@ msgstr "" "Die Ausschnittform kann eine beliebige Form haben.\n" "Nützlich, wenn die Leiterplatte eine nicht rechteckige Form hat." -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" -msgstr "Rechteckig:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" +msgstr "Rechteckig" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -10875,7 +10877,7 @@ msgstr "" "immer eine rechteckige Form und es wird sein\n" "der Begrenzungsrahmen des Objekts." -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -10887,11 +10889,11 @@ msgstr "" "immer eine rechteckige Form und es wird sein\n" "der Begrenzungsrahmen des Objekts." -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "B. Manuelle Brückenlücken" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -10901,19 +10903,19 @@ msgstr "" "Dies erfolgt durch einen Mausklick auf den Umfang des\n" "Geometrieobjekt, das als Ausschnittsobjekt verwendet wird." -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" -msgstr "Geo-Objekt:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" +msgstr "Geo-Objekt" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "Geometrieobjekt zum Erstellen des manuellen Ausschnitts." -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" -msgstr "Manuelle Geo:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" +msgstr "Manuelle Geo" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -10925,11 +10927,11 @@ msgstr "" "als Ausschnitt verwendet werden, falls noch nicht vorhanden.\n" "Wählen Sie in der oberen Objekt-Combobox die Quell-Gerber-Datei aus." -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" -msgstr "Manuelles Hinzufügen von Brückenlücken:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" +msgstr "Manuelles Hinzufügen von Brückenlücken" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10939,11 +10941,11 @@ msgstr "" "Erstellen einer Brückenlücke, um die Leiterplatte von zu trennen\n" "das umgebende Material." -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "Lücke erzeugen" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10957,18 +10959,19 @@ msgstr "" "Der LMB-Klick muss am Umfang von erfolgen\n" "das Geometrieobjekt, das als Ausschnittsgeometrie verwendet wird." -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "[ERROR_NOTCL] Objekt konnte nicht abgerufen werden:%s" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." @@ -10976,7 +10979,7 @@ msgstr "" "[ERROR_NOTCL] Es ist kein Objekt für den Ausschnitt ausgewählt.\n" "Wählen Sie eine aus und versuchen Sie es erneut." -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10984,38 +10987,38 @@ msgstr "" "[WARNING_NOTCL] Werkzeugdurchmesser ist Nullwert. Ändern Sie es in eine " "positive reelle Zahl." -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Margin-Wert fehlt oder falsches Format. Fügen Sie es hinzu " "und versuchen Sie es erneut." -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Lückengrößenwert fehlt oder falsches Format. Fügen Sie es " "hinzu und versuchen Sie es erneut." -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "" "[WARNING_NOTCL] Anzahl der Lücken fehlt. Fügen Sie es hinzu und versuchen " "Sie es erneut." -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" "[WARNING_NOTCL] Der Lückenwert kann nur einer der folgenden Werte sein: " -"'lr', 'tb', '2lr', '2tb', 4 oder 8. Geben Sie einen korrekten Wert ein und " -"versuchen Sie es erneut." +"\"Keine\", \"lr\", \"tb\", \"2lr\", \"2tb\", 4 oder 8. Geben Sie einen " +"korrekten Wert ein und wiederholen Sie den Vorgang." -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -11028,18 +11031,18 @@ msgstr "" "werden.\n" "und danach Cutout durchführen." -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "[success] Jede Form CutOut-Operation ist abgeschlossen." -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "[ERROR_NOTCL] Objekt nicht gefunden:%s" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -11047,38 +11050,38 @@ msgstr "" "[ERROR_NOTCL] Werkzeugdurchmesser ist Nullwert. Ändern Sie es in eine " "positive reelle Zahl." -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Klicken Sie auf den ausgewählten Umfang des Geometrieobjekts, um eine " "Brückenlücke zu erstellen ..." -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "Manuelle Brückenlücke herstellen ..." - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "[ERROR_NOTCL] Das Geometrieobjekt konnte nicht abgerufen werden:%s" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "Manuelle Brückenlücke herstellen ..." + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "" "[ERROR_NOTCL] Geometrieobjekt für manuellen Ausschnitt nicht gefunden:%s" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "[success] Manuelle Brückenlücke hinzugefügt." -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "[ERROR_NOTCL] Gerber-Objekt konnte nicht abgerufen werden:%s" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -11086,7 +11089,7 @@ msgstr "" "[ERROR_NOTCL] Es ist kein Gerber-Objekt für den Ausschnitt ausgewählt.\n" "Wählen Sie eine aus und versuchen Sie es erneut." -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -11094,14 +11097,15 @@ msgstr "" "[ERROR_NOTCL] Das ausgewählte Objekt muss vom Typ Gerber sein.\n" "Wählen Sie eine Gerber-Datei aus und versuchen Sie es erneut." +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" +msgstr "[ERROR_NOTCL] Geometrie für Ausschnitt nicht unterstützt: %s" + #: flatcamTools/ToolDblSided.py:18 msgid "2-Sided PCB" msgstr "2-seitige PCB" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" -msgstr "GERBER:" - #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 #: flatcamTools/ToolDblSided.py:100 msgid "Mirror" @@ -11118,35 +11122,21 @@ msgstr "" "die angegebene Achse. Erstellt kein neues\n" "Objekt, ändert es aber." -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "EXCELLON:" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "Zu spiegelndes Excellon-Objekt." -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "GEOMETRY:" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "Geometrie-Objekt, das gespiegelt werden soll." -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." -msgstr "" -"Die Achse sollte einen Punkt durchlaufen oder schneiden\n" -"eine angegebene Box (in einem FlatCAM-Objekt) durch\n" -"das Zentrum." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" +msgstr "Achsenreferenz:" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" -msgstr "Punkt / Box-Referenz:" +msgid "Point/Box Reference" +msgstr "Punkt / Box-Referenz" #: flatcamTools/ToolDblSided.py:154 msgid "" @@ -11178,21 +11168,24 @@ msgstr "" "Klicken Sie mit der linken Maustaste auf die Leinwand oder geben Sie die " "Koordinaten manuell ein." -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "Gerber Referenzfeldobjekt" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "Excellon Reference Referenzfeldobjekt" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "Geometrie-Referenzfeldobjekt" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" -msgstr "Ausrichtungsbohrkoordinaten:" +msgid "Alignment Drill Coordinates" +msgstr "Ausrichtungsbohrkoordinaten" #: flatcamTools/ToolDblSided.py:194 msgid "" @@ -11264,11 +11257,11 @@ msgstr "Zurücksetzen" msgid "Resets all the fields." msgstr "Setzt alle Felder zurück." -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "2-seitiges Werkzeug" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." @@ -11276,14 +11269,14 @@ msgstr "" "[WARNING_NOTCL] 'Point'-Referenz ist ausgewählt und' Point'-Koordinaten " "fehlen. Fügen Sie sie hinzu und versuchen Sie es erneut." -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" "[WARNING_NOTCL] Es ist kein Box-Referenzobjekt geladen. Laden Sie einen und " "versuchen Sie es erneut." -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." @@ -11291,7 +11284,7 @@ msgstr "" "[WARNING_NOTCL] Kein Wert oder falsches Format im Eintrag Bohrdurchmesser. " "Fügen Sie es hinzu und versuchen Sie es erneut." -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." @@ -11299,23 +11292,23 @@ msgstr "" "[WARNING_NOTCL] Es sind keine Ausrichtungsbohrkoordinaten vorhanden. Fügen " "Sie sie hinzu und versuchen Sie es erneut." -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "[success] Excellon-Objekt mit Ausrichtungsbohrern erstellt ..." -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "[WARNING_NOTCL] Es ist kein Gerber-Objekt geladen ..." -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "[ERROR_NOTCL] Nur Gerber-, Excellon- und Geometrie-Objekte können gespiegelt " "werden." -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." @@ -11323,21 +11316,21 @@ msgstr "" "[WARNING_NOTCL] 'Point'-Koordinaten fehlen. Verwenden von Origin (0, 0) als " "Spiegelreferenz." -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "[WARNING_NOTCL] Es ist kein Box-Objekt geladen ..." -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "[success] Gerber %s wurde gespiegelt ..." -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "[WARNING_NOTCL] Es ist kein Excellon-Objekt geladen ..." -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." @@ -11345,16 +11338,16 @@ msgstr "" "[WARNING_NOTCL] Das Punktfeld enthält keine Punktkoordinaten. Fügen Sie " "Coords hinzu und versuchen Sie es erneut ..." -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "[success] Excellon %s wurde gespiegelt ..." -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "[WARNING_NOTCL] Es wurde kein Geometrieobjekt geladen ..." -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "[success] Geometrie %s wurde gespiegelt ..." @@ -11364,9 +11357,9 @@ msgid "Film PCB" msgstr "Film PCB" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" -msgstr "Objekttyp:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" +msgstr "Objekttyp" #: flatcamTools/ToolFilm.py:58 msgid "" @@ -11381,14 +11374,14 @@ msgstr "" "im Filmobjekt-Kombinationsfeld." #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" -msgstr "Filmobjekt:" +msgid "Film Object" +msgstr "Filmobjekt" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "Objekt, für das der Film erstellt werden soll." -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "Box-Typ:" @@ -11405,8 +11398,8 @@ msgstr "" "im Kombinationsfeld Box-Objekt." #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" -msgstr "Box-Objekt:" +msgid "Box Object" +msgstr "Box-Objekt" #: flatcamTools/ToolFilm.py:106 msgid "" @@ -11444,37 +11437,37 @@ msgstr "" "  FlatCAM-Objekt, speichern Sie es jedoch direkt im SVG-Format\n" "die mit Inkscape geöffnet werden kann." -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" "[ERROR_NOTCL] Kein FlatCAM-Objekt ausgewählt. Laden Sie ein Objekt für Film " "und versuchen Sie es erneut." -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" "[ERROR_NOTCL] Kein FlatCAM-Objekt ausgewählt. Laden Sie ein Objekt für Box " "und versuchen Sie es erneut." -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "Film wird erstellt ..." -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "SVG positiv exportieren" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "[WARNING_NOTCL] Export des SVG-Positivs wurde abgebrochen." -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "Exportieren Sie SVG negativ" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "[WARNING_NOTCL] Export des SVG-Negativs wurde abgebrochen." @@ -11495,8 +11488,8 @@ msgstr "" "Es kann vom Typ sein: Gerber oder Geometrie." #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" -msgstr "DPI-Wert:" +msgid "DPI value" +msgstr "DPI-Wert" #: flatcamTools/ToolImage.py:65 msgid "Specify a DPI value for the image." @@ -11583,11 +11576,11 @@ msgstr "Bild importieren" msgid "Open a image of raster type and then import it in FlatCAM." msgstr "Öffnen Sie ein Bild vom Raster-Typ und importieren Sie es in FlatCAM." -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "Bildwerkzeug" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "BILD importieren" @@ -11595,10 +11588,6 @@ msgstr "BILD importieren" msgid "Measurement" msgstr "Messung" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "Einheiten:" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "Dies sind die Einheiten, in denen die Entfernung gemessen wird." @@ -11632,16 +11621,16 @@ msgid "This is the measuring Stop point coordinates." msgstr "Dies ist die Messpunkt-Koordinate." #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" -msgstr "Dx:" +msgid "Dx" +msgstr "Dx" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 msgid "This is the distance measured over the X axis." msgstr "Dies ist der Abstand, der über die X-Achse gemessen wird." #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" -msgstr "Dy:" +msgid "Dy" +msgstr "Dy" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 msgid "This is the distance measured over the Y axis." @@ -11725,11 +11714,24 @@ msgstr "[WARNING_NOTCL] Objekt (e) nicht ausgewählt" msgid "Non-Copper Clearing" msgstr "Nicht-Kupfer-Clearing" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " -msgstr "Gerber-Objekt, das von überschüssigem Kupfer befreit werden soll." +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Geben Sie den Objekttyp an, der von überschüssigem Kupfer befreit werden " +"soll.\n" +"Es kann vom Typ Gerber oder Geometrie sein.\n" +"Was hier ausgewählt wird, bestimmt die Art\n" +"von Objekten, die das Kombinationsfeld \"Objekt\" füllen." -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "Objekt, das von überschüssigem Kupfer befreit werden soll." + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -11737,7 +11739,7 @@ msgstr "" "Toolspool aus dem der Algorithmus\n" "wählt die für die Kupferreinigung verwendeten aus." -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -11754,7 +11756,7 @@ msgstr "" "in der resultierenden Geometrie. Dies liegt daran, dass mit einigen Tools\n" "Diese Funktion kann keine Malgeometrie erstellen." -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -11780,17 +11782,13 @@ msgstr "" "Werkzeugtyps wählt automatisch den Operationstyp in der resultierenden " "Geometrie als Isolation aus." -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "Werkzeugdurchm" - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Diameter for the new tool to add in the Tool Table" msgstr "" "Durchmesser für das neue Werkzeug, das in der Werkzeugtabelle hinzugefügt " "werden soll" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -11799,41 +11797,23 @@ msgstr "" "Löschen Sie eine Auswahl von Werkzeugen in der Werkzeugtabelle\n" "indem Sie zuerst eine oder mehrere Zeilen in der Werkzeugtabelle auswählen." -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." -msgstr "" -"Wenn aktiviert, verwenden Sie \"Restbearbeitung\".\n" -"Grundsätzlich wird Kupfer außerhalb der PCB-Merkmale gelöscht.\n" -"das größte Werkzeug verwenden und mit den nächsten Werkzeugen fortfahren,\n" -"von größeren zu kleineren, um Kupferbereiche zu reinigen\n" -"konnte nicht durch vorheriges Werkzeug gelöscht werden, bis es gibt\n" -"kein kupfer mehr zum löschen oder es gibt keine werkzeuge mehr.\n" -"Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" +msgstr "Bereichsauswahl" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." -msgstr "" -"- \"Selbst\": der nicht kupferhaltige Clearing-Umfang\n" -"basiert auf dem Objekt, das kupferfrei ist.\n" -" - 'Box': Löscht nicht kupferhaltige Daten innerhalb der Box\n" -"angegeben durch das Objekt in der Ref. ausgewählt. Objektkombinationsfeld." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" +msgstr "Ref. Objekt" -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" -msgstr "Ref. Typ:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" +msgstr "Referenz:" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "Ref. Typ" + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -11842,43 +11822,43 @@ msgstr "" "Referenz verwendet werden soll.\n" "Es kann Gerber, Excellon oder Geometry sein." -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" -msgstr "Ref. Objekt:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" +msgstr "Ref. Objekt" -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "Das FlatCAM-Objekt, das als Nicht-Kupfer-Clearing-Referenz verwendet werden " "soll." -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "Geometrie erzeugen" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "" "[WARNING_NOTCL] Bitte geben Sie einen hinzuzufügenden Werkzeugdurchmesser im " "Float-Format an." -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Das Hinzufügen des Tools wurde abgebrochen. Werkzeug bereits " "in der Werkzeugtabelle." -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "[success] Neues Werkzeug zur Werkzeugtabelle hinzugefügt." -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "[success] Werkzeug aus Werkzeugtabelle wurde bearbeitet." -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." @@ -11886,63 +11866,83 @@ msgstr "" "[WARNING_NOTCL] Bearbeitung abgebrochen. Neuer Durchmesserwert befindet sich " "bereits in der Werkzeugtabelle." -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "" "[WARNING_NOTCL] Löschen fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen " "aus." -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "[success] Werkzeug(e) aus der Werkzeugtabelle gelöscht." -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "[WARNING_NOTCL] Klicken Sie auf den Startpunkt des Bereichs." + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "[WARNING_NOTCL] Klicken Sie auf den Endpunkt des Malbereichs." + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "Zone hinzugefügt. Rechtsklick zum Beenden." + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "[ERROR_NOTCL] Der Überlappungswert muss zwischen 0 (einschließlich) und 1 " "(exklusiv) liegen." -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "[ERROR_NOTCL] Kein Objekt vorhanden." -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "[WARNING_NOTCL] Pufferung ..." -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "[success] Pufferung beendet ..." -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "" +"[ERROR_NOTCL] Das ausgewählte Objekt ist nicht zum Löschen von Kupfer " +"geeignet." + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" "[ERROR_NOTCL] Die Ausdehnung des nicht kupferhaltigen Bereichs konnte nicht " "gelöscht werden." -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "Nicht kupferne Bereiche entfernen." -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "" "[success] Nicht-Kupfer-Clearing mit Werkzeugdurchmesser = %s gestartet." -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "[success] NCC-Tool fertiggestellt." -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." @@ -11950,18 +11950,18 @@ msgstr "" "[WARNING_NOTCL] NCC-Tool fertiggestellt, einige PCB-Funktionen konnten " "jedoch nicht gelöscht werden. Überprüfen Sie das Ergebnis." -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "" "[success] Nicht-Kupfer-Restklärung mit Werkzeugdurchmesser =%s gestartet." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -11999,19 +11999,23 @@ msgstr "[ERROR_NOTCL] Fehler beim Öffnen der PDF-Datei." msgid "[success] Rendered: %s" msgstr "[success] Gerendert: %s" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" -msgstr "Paint Bereich" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Geben Sie den Objekttyp an, der gemalt werden soll.\n" +"Es kann vom Typ Gerber oder Geometrie sein.\n" +"Was hier ausgewählt wird, bestimmt die Art\n" +"von Objekten, die das Kombinationsfeld \"Objekt\" füllen." -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" -msgstr "Geometrie:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." +msgstr "Gegenstand gemalt werden." -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "Geometrieobjekt, das gemalt werden soll." - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -12019,7 +12023,7 @@ msgstr "" "Toolspool aus dem der Algorithmus\n" "wählt die zum Malen verwendeten aus." -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -12035,11 +12039,11 @@ msgstr "" "in der resultierenden Geometrie. Dies liegt daran, dass mit einigen Tools\n" "Diese Funktion kann keine Malgeometrie erstellen." -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "Durchmesser für das neue Werkzeug." -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -12059,74 +12063,93 @@ msgstr "" "\n" "Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -"So wählen Sie die zu lackierenden Polygone aus.
Optionen:
- " -"Single : Klicken Sie mit der linken Maustaste auf das zu lackierende " -"Polygon.
- Alles: Paint alle Polygone." +"Auswahl der zu malenden Polygone.
Optionen:
- Einzelne Polygone " +": Klicken Sie mit der linken Maustaste auf das zu malende Polygon.
-" +" Bereichsauswahl : Klicken Sie mit der linken Maustaste, um die " +"Auswahl des zu zeichnenden Bereichs zu starten.
- Alle Polygone : " +"Zeichnen Sie alle Polygone.
- Referenzobjekt : Zeichnen Sie einen " +"beschriebenen Bereich durch ein externes Referenzobjekt." -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "Einzelnes Polygon" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "Alle Polygone" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"Der Typ des FlatCAM-Objekts, das als Malreferenz verwendet werden soll.\n" +"Es kann Gerber, Excellon oder Geometry sein." + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "Farbgeometrie erstellen" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Wenn Sie hier klicken, klicken Sie in
das Polygon, das Sie zeichnen " -"möchten, wenn Single ausgewählt ist.
Wenn Alles " -"ausgewählt ist, wird der Paint nach dem Klicken gestartet.
Ein neues " -"Geometrieobjekt mit den Werkzeugpfaden wird erstellt." +"- 'Bereichsauswahl' - Klicken Sie mit der linken Maustaste, um den Bereich " +"auszuwählen, der gemalt werden soll.\n" +"Wenn Sie eine Änderungstaste gedrückt halten (STRG oder UMSCHALTTASTE), " +"können Sie mehrere Bereiche hinzufügen.\n" +"- 'Alle Polygone' - Der Malvorgang wird nach dem Klicken gestartet.\n" +"- 'Referenzobjekt' - löscht nicht kupferne Objekte innerhalb des Bereichs\n" +"von einem anderen Objekt angegeben." -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "geometry_on_paint_button" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "[WARNING_NOTCL] Klicken Sie in das gewünschte Polygon." -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "[ERROR_NOTCL] \"Paint\" für MultiGeo-Geometrien nicht möglich ..." -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "Polygon malen ..." -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "[WARNING_NOTCL] Klicken Sie auf den Startpunkt des Malbereichs." -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "[WARNING_NOTCL] Klicken Sie auf den Endpunkt des Malbereichs." - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "Gemacht." - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "[WARNING] Kein Polygon gefunden." -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "Polygon malen." -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "[ERROR_NOTCL] Geometrie konnte nicht vollständig gezeichnet werden" -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -12137,18 +12160,18 @@ msgstr "" "Kombination von Parametern. Oder eine andere Farbstrategie\n" "%s" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "Polygonfarbe gestartet ..." -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -12159,7 +12182,7 @@ msgstr "" "Parametern. Oder eine andere Farbmethode\n" "%s" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12171,11 +12194,11 @@ msgstr "" "Geometrie zu groß ist.\n" "Ändern Sie die Malparameter und versuchen Sie es erneut." -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "[success] 'Paint' Sie alles fertig." -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12187,7 +12210,7 @@ msgstr "" "Geometrie zu groß ist.\n" "Ändern Sie die Malparameter und versuchen Sie es erneut." -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "[success] Paint All with Rest-Machining erledigt." @@ -12215,17 +12238,9 @@ msgstr "" "Objekt, das in Panels gesetzt werden soll. Dies bedeutet, dass es wird\n" "in einem Array von Zeilen und Spalten dupliziert werden." -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "Objekt" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "Begrenzungsrahmen" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" -msgstr " Penelisierungshinweis:" +msgid "Penelization Reference" +msgstr "Penelisierungshinweis" #: flatcamTools/ToolPanelize.py:88 msgid "" @@ -12247,6 +12262,10 @@ msgstr "" "Zu diesem Referenzobjekt gehört daher die Beibehaltung der getäfelten\n" "Objekte synchronisieren." +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "Box-Typ" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -12268,8 +12287,8 @@ msgstr "" "ausgewähltes Objekt, das in Panelisiert werden soll." #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" -msgstr " Paneldaten:" +msgid "Panel Data" +msgstr "Paneldaten" #: flatcamTools/ToolPanelize.py:136 msgid "" @@ -12287,10 +12306,6 @@ msgstr "" "Die Abstände bestimmen den Abstand zwischen zwei Elementen\n" "Elemente des Panel-Arrays." -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "Panel-Typ:" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -12302,8 +12317,8 @@ msgstr "" "- Gerber" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" -msgstr "Panel einschränken innerhalb:" +msgid "Constrain panel within" +msgstr "Panel einschränken innerhalb" #: flatcamTools/ToolPanelize.py:227 msgid "Panelize Object" @@ -12319,16 +12334,16 @@ msgstr "" "Mit anderen Worten, es erstellt mehrere Kopien des Quellobjekts,\n" "in einem 2D-Array von Zeilen und Spalten angeordnet." -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "Platte Werkzeug" -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Keine Objektbox. Verwenden Sie stattdessen%s" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." @@ -12336,15 +12351,15 @@ msgstr "" "[ERROR_NOTCL] Spalten oder Zeilen haben den Wert Null. Ändern Sie sie in " "eine positive ganze Zahl." -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "Panel wird generiert ... Bitte warten Sie." -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "[success] Panel fertig ..." -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " @@ -12353,7 +12368,7 @@ msgstr "" "[WARNING] Für den Constrain-Bereich zu groß. Das letzte Panel enthält {col} " "Spalten und {row} Zeilen" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "[success] Panel erfolgreich erstellt" @@ -12366,12 +12381,12 @@ msgid "Import 2-file Excellon" msgstr "Importieren Sie 2-Datei-Excellon" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" -msgstr "Dateien laden::" +msgid "Load files" +msgstr "Dateien laden" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" -msgstr "Excellon-Datei:" +msgid "Excellon file" +msgstr "Excellon-Datei" #: flatcamTools/ToolPcbWizard.py:59 msgid "" @@ -12382,8 +12397,8 @@ msgstr "" "Normalerweise hat es die Erweiterung .DRL" #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" -msgstr "INF-Datei:" +msgid "INF file" +msgstr "INF-Datei" #: flatcamTools/ToolPcbWizard.py:67 msgid "Load the INF file." @@ -12398,20 +12413,20 @@ msgid "Tool diameter in file units." msgstr "Werkzeugdurchmesser in Feileneinheiten." #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" -msgstr "Excellon-Format:" +msgid "Excellon format" +msgstr "Excellon format" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" -msgstr "Ganzzahlige Ziffern:" +msgid "Int. digits" +msgstr "Ganzzahlige Ziffern" #: flatcamTools/ToolPcbWizard.py:97 msgid "The number of digits for the integral part of the coordinates." msgstr "Die Anzahl der Ziffern für den integralen Teil der Koordinaten." #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" -msgstr "Nachkommastellen:" +msgid "Frac. digits" +msgstr "Nachkommastellen" #: flatcamTools/ToolPcbWizard.py:106 msgid "The number of digits for the fractional part of the coordinates." @@ -12422,8 +12437,8 @@ msgid "No Suppression" msgstr "Keine Unterdrück." #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" -msgstr "Unterdrückung von Nullen .:" +msgid "Zeros supp." +msgstr "Unterdrückung von Nullen" #: flatcamTools/ToolPcbWizard.py:116 msgid "" @@ -12439,10 +12454,6 @@ msgstr "" "- TZ = nachfolgende Nullen bleiben erhalten\n" "- Keine Unterdrückung = keine Nullunterdrückung" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "Einheiten" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -12467,19 +12478,19 @@ msgstr "" "Normalerweise hat man eine .DRL-Erweiterung\n" "der andere hat die Erweiterung .INF." -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "PCBWizard Werkzeug" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "PcbWizard Excellon-Datei laden" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "Laden Sie die PcbWizard INF-Datei" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" @@ -12490,56 +12501,115 @@ msgstr "" "öffnen\n" "und bearbeiten Sie die Bohrerdurchmesser manuell." -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "[success] PcbWizard-INF-Datei wurde geladen." -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "[success] Haupt-PcbWizard Excellon-Datei geladen." -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "[ERROR_NOTCL] Datei kann nicht analysiert werden: %s" -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "Excellon importieren." -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "[ERROR_NOTCL] Import der Excellon-Datei ist fehlgeschlagen." -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "[success] Importiert: %s" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "" "[WARNING_NOTCL] Das Zusammenführen von Excellon wird ausgeführt. Warten Sie " "mal..." -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "[ERROR_NOTCL] Die importierte Excellon-Datei ist Keine." -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "" "[ERROR_NOTCL] Eigenschaftenwerkzeug wurde nicht angezeigt. Kein Objekt " "ausgewählt" -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "[success] Objekteigenschaften werden angezeigt." -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "Eigenschaftenwerkzeug" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "TYP" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "NAME" + +#: flatcamTools/ToolProperties.py:127 +#| msgid "Aperture Dimensions" +msgid "Dimensions" +msgstr "Dimensionen" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "Optionen" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "Geo-Typ" + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "Einzehln Geo" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "Mehrfache Geo" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "Breite" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "Feld Bereich" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "Konvexer Rumpfbereich" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "Zoll" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "Metrisch" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "Vorhanden" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "Keiner" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "...wird bearbeitet..." @@ -12605,8 +12675,8 @@ msgid "Generate solder paste dispensing geometry." msgstr "Generieren Sie Lotpastendispensiergeometrie." #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" -msgstr "SCHRITT 1:" +msgid "STEP 1" +msgstr "SCHRITT 1" #: flatcamTools/ToolSolderPaste.py:144 msgid "" @@ -12645,8 +12715,8 @@ msgstr "" "auf PCB-Pads." #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" -msgstr "SCHRITT 2:" +msgid "STEP 2" +msgstr "SCHRITT 2" #: flatcamTools/ToolSolderPaste.py:308 msgid "" @@ -12657,8 +12727,8 @@ msgstr "" "Geometrie aus einer Lotpastenmaske-Gerber-Datei." #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" -msgstr "Geo-Ergebnis:" +msgid "Geo Result" +msgstr "Geo-Ergebnis" #: flatcamTools/ToolSolderPaste.py:326 msgid "" @@ -12671,8 +12741,8 @@ msgstr "" "'_solderpaste' als Schutz." #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" -msgstr "SCHRITT 3:" +msgid "STEP 3" +msgstr "SCHRITT 3" #: flatcamTools/ToolSolderPaste.py:337 msgid "" @@ -12691,8 +12761,8 @@ msgstr "" "und erst danach können Sie einen aktualisierten CNCJob erstellen." #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" -msgstr "CNC-Ergebnis:" +msgid "CNC Result" +msgstr "CNC-Ergebnis" #: flatcamTools/ToolSolderPaste.py:359 msgid "" @@ -12731,8 +12801,8 @@ msgstr "" "auf PCB-Pads zu einer Datei." #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" -msgstr "SCHRITT 4:" +msgid "STEP 4" +msgstr "SCHRITT 4" #: flatcamTools/ToolSolderPaste.py:383 msgid "" @@ -12746,48 +12816,48 @@ msgstr "" msgid "Delete Object" msgstr "Objekt löschen" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Hinzufügen des Düsenwerkzeugs abgebrochen. Werkzeug bereits " "in der Werkzeugtabelle." -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "[success] Neues Düsenwerkzeug zur Werkzeugtabelle hinzugefügt." -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "[success] Das Düsenwerkzeug aus der Werkzeugtabelle wurde bearbeitet." -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "" "[WARNING_NOTCL] Löschen fehlgeschlagen. Wählen Sie ein Düsenwerkzeug zum " "Löschen aus." -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "[success] Düsenwerkzeug (e) aus der Werkzeugtabelle gelöscht." -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "[WARNING_NOTCL] Keine Lötpastenmaske Gerber-Objekt geladen." -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "Erstellen einer Lotpastenspendergeometrie." -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "[WARNING_NOTCL] Nein Düsenwerkzeuge in der Werkzeugtabelle." -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "[success] Lotpastengeometrie erfolgreich generiert ..." -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." @@ -12795,15 +12865,15 @@ msgstr "" "[WARNING_NOTCL] Einige oder alle Pads haben wegen unzureichender " "Düsendurchmesser keine Lötstellen ..." -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "Lötpasten-Dosiergeometrie erzeugen ..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "[WARNING_NOTCL] Es ist kein Geometrieobjekt verfügbar." -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." @@ -12811,13 +12881,13 @@ msgstr "" "[WARNING_NOTCL] Diese Geometrie kann nicht verarbeitet werden. KEINE " "Geometrie \"Lötpaste_Tool\"." -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "[success] ToolSolderPaste CNCjob erstellt: %s" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." @@ -12825,33 +12895,33 @@ msgstr "" "[WARNING_NOTCL] Dieses CNCJob-Objekt kann nicht verarbeitet werden. KEIN " "lot_paste_tool CNCJob Objekt." -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "[ERROR_NOTCL] Kein Gcode im Objekt ..." -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "GCode exportieren ..." -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "[success] GCode-Datei für Lötpastendispenser in gespeichert: %s" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" -msgstr "Gerber Objekte" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" +msgstr "Gerber-Objekte" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" -msgstr "Zielscheibe:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" +msgstr "Zielscheibe" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." @@ -12859,11 +12929,11 @@ msgstr "" "Gerber-Objekt, von dem abgezogen werden soll\n" "das Subtrahierer-Gerber-Objekt." -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" -msgstr "Subtraktor:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" +msgstr "Subtraktor" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." @@ -12871,11 +12941,11 @@ msgstr "" "Gerber-Objekt, das abgezogen wird\n" "vom Zielobjekt Gerber." -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "Gerber abziehen" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -12887,11 +12957,11 @@ msgstr "" "Kann zum Entfernen des überlappenden Siebdrucks verwendet werden\n" "über der Soldmaske." -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" -msgstr "Geometrieobjekte" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" +msgstr "Geometrieobjekte" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." @@ -12899,7 +12969,7 @@ msgstr "" "Geometrieobjekt, von dem abgezogen werden soll\n" "das Subtrahierer-Geometrieobjekt." -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." @@ -12907,11 +12977,11 @@ msgstr "" "Geometrieobjekt, das abgezogen wird\n" "vom Zielobjekt Geometrie." -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "Geometrie abziehen" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." @@ -12919,48 +12989,49 @@ msgstr "" "Entfernt den vom Subtraktor belegten Bereich\n" "Geometrie aus der Zielgeometrie." -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "Sub. Werkzeug" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "[ERROR_NOTCL]Kein Zielobjekt geladen." -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "[ERROR_NOTCL] Kein Substractor-Objekt geladen." -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "Analyse der Geometrie der Blende%s ..." -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "Neues Objekt erzeugen ..." -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "[ERROR_NOTCL] Das Generieren eines neuen Objekts ist fehlgeschlagen." -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "[success] Erstellt: %s" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" "[ERROR_NOTCL] Derzeit kann die Substractor-Geometrie nicht vom Typ Multigeo " "sein." -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "Analyse von solid_geometry ..." -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "Analyse-Tool %s-Geometrie ..." @@ -12999,15 +13070,7 @@ msgstr "" "Der Bezugspunkt hängt von ab\n" "das Kontrollkästchen Skalenreferenz." -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" -"Skalieren Sie die ausgewählten Objekte\n" -"Verwenden des Skalierungsfaktors X für beide Achsen." - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -13017,7 +13080,7 @@ msgstr "" "Der Bezugspunkt ist die Mitte von\n" "der Begrenzungsrahmen für alle ausgewählten Objekte.\n" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" @@ -13026,61 +13089,460 @@ msgstr "" "Kippen Sie die ausgewählten Objekte über die X-Achse.\n" "Erstellt kein neues Objekt. " -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Objekt zum " "Drehen aus!" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "CNCJob-Objekte können nicht gedreht werden." -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "[success] Drehen fertig ..." -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Objekt zum " "Umdrehen!" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "CNCJob-Objekte können nicht gespiegelt / gespiegelt werden." -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Objekt zum " "Scheren / Schrägstellen!" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "CNCJob-Objekte können nicht verzerrt werden." -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein zu skalierendes " "Objekt!" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "CNCJob-Objekte können nicht skaliert werden." -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Objekt zum " "Offset aus!" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "CNCJob-Objekte können nicht versetzt werden." +#~ msgid "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." +#~ msgstr "" +#~ "Bei Auswahl der Option \"Selbst\" wird der nicht kupferhaltige Clearing-" +#~ "Bereich festgelegt\n" +#~ "basiert auf dem Objekt, das kupferfrei ist.\n" +#~ "  Wenn Sie die Option \"Box\" auswählen, wird kein Kupfer in der Box " +#~ "gelöscht\n" +#~ "angegeben durch ein anderes Objekt als das kupfergelöschte." + +#~ msgid "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." +#~ msgstr "" +#~ "So wählen Sie die zu malenden Polygone aus:
Optionen:
- " +#~ "Einfach : Klicken Sie mit der linken Maustaste auf das zu malende " +#~ "Polygon.
- Bereich : Links Klicken Sie mit der Maus, um die " +#~ "Auswahl des zu malenden Bereichs zu starten.
- Alle : Malen " +#~ "Sie alle Polygone.
- Ref : Malen Sie einen Bereich, der durch " +#~ "eine externe Referenz beschrieben wird Objekt." + +#~ msgid "Geometry object to be painted. " +#~ msgstr "Geometrieobjekt, das gemalt werden soll." + +#~ msgid "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." +#~ msgstr "" +#~ "Nachdem Sie hier geklickt haben, klicken Sie in das Polygon, das Sie " +#~ "malen möchten, wenn Einzeln ausgewählt ist.
Wenn Bereich " +#~ " ausgewählt ist, wird die Auswahl des Bereichs auf be painted " +#~ "
wird durch einen ersten Klick gestartet und durch einen zweiten " +#~ "Mausklick beendet.
Wenn All ausgewählt ist, wird der Paint " +#~ "nach dem Klick gestartet.
Wenn Ref Wenn ausgewählt ist, wird " +#~ "der Malvorgang nach dem Klicken gestartet.
Der gemalte Bereich wird " +#~ "durch ein ausgewähltes Objekt beschrieben.
Ein neues Geometrieobjekt " +#~ "mit den Werkzeugpfaden wird erstellt." + +#~ msgid "Done." +#~ msgstr "Gemacht." + +#~ msgid "Apertures:" +#~ msgstr " Blenden: " + +#~ msgid "Aperture Code:" +#~ msgstr "Öffnungscode:" + +#~ msgid "Languages:" +#~ msgstr "Sprachen:" + +#~ msgid "Width (# passes):" +#~ msgstr "Breite (# passt):" + +#~ msgid "Clear non-copper" +#~ msgstr "Nicht-Kupfer löschen" + +#~ msgid "Rounded corners" +#~ msgstr "Abgerundete Ecken" + +#~ msgid "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." +#~ msgstr "" +#~ "Erzeugt ein Geometrieobjekt mit Polygonen\n" +#~ "bedeckt die kupferfreien Bereiche der Leiterplatte." + +#~ msgid "Bounding Box:" +#~ msgstr " Begrenzungsbox: " + +#~ msgid "Units:" +#~ msgstr "Einheiten:" + +#~ msgid "Zeros:" +#~ msgstr "Nullen:" + +#~ msgid "INCH:" +#~ msgstr "ZOLL:" + +#~ msgid "Tool change:" +#~ msgstr "Werkzeugwechsel:" + +#~ msgid "Toolchange Z position." +#~ msgstr "Toolchange Z position." + +#~ msgid "Feedrate:" +#~ msgstr "Vorschubgeschwindigkeit:" + +#~ msgid "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." +#~ msgstr "" +#~ "Werkzeuggeschwindigkeit beim Bohren\n" +#~ "(in Einheiten pro Minute)." + +#~ msgid "Gcode: " +#~ msgstr "Gcode:" + +#~ msgid "Offset Z:" +#~ msgstr "Versatz Z:" + +#~ msgid "Slots:" +#~ msgstr "Schlitze:" + +#~ msgid "Create CNC Job:" +#~ msgstr "CNC-Auftrag erstellen:" + +#~ msgid "Multidepth" +#~ msgstr "Mehrere tiefe" + +#~ msgid "Multidepth usage: True or False." +#~ msgstr "Mehrere Tiefe-Nutzung: Richtig oder Falsch." + +#~ msgid "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." +#~ msgstr "" +#~ "Die Postprozessor-Datei, die diktiert\n" +#~ "Maschinencode-Ausgabe." + +#~ msgid "Display Annotation:" +#~ msgstr "Anmerkung anzeigen:" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." +#~ msgstr "" +#~ "Geben Sie hier alle G-Code-Befehle ein\n" +#~ "Wird ausgeführt, wenn ein Werkzeugwechselereignis auftritt.\n" +#~ "Dies stellt einen benutzerdefinierten Werkzeugwechsel-GCode dar.\n" +#~ "oder ein Werkzeugwechsel-Makro." + +#~ msgid "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." +#~ msgstr "" +#~ "Wenn aktiviert, verwenden Sie \"Restbearbeitung\".\n" +#~ "Grundsätzlich wird Kupfer außerhalb der PCB-Merkmale gelöscht.\n" +#~ "das größte Werkzeug verwenden und mit den nächsten Werkzeugen " +#~ "fortfahren,\n" +#~ "von größeren zu kleineren, um Kupferbereiche zu reinigen\n" +#~ "konnte nicht mit dem vorherigen Tool gelöscht werden.\n" +#~ "Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." + +#~ msgid "Offset:" +#~ msgstr "Offset:" + +#~ msgid "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." +#~ msgstr "" +#~ "Entfernung von Objekten bei denen\n" +#~ "den Ausschnitt zeichnen." + +#~ msgid "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." +#~ msgstr "" +#~ "Größe der Lücken im Werkzeugweg\n" +#~ "das wird bleiben, um das zu halten\n" +#~ "Board an Ort und Stelle." + +#~ msgid "Create a convex shape surrounding the entire PCB." +#~ msgstr "" +#~ "Erstellen Sie eine konvexe Form, die die gesamte Leiterplatte umgibt." + +#~ msgid "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." +#~ msgstr "" +#~ "Die Achse sollte einen Punkt durchlaufen oder schneiden\n" +#~ "ein angegebenes Feld (in einem Geometrieobjekt) in\n" +#~ "die Mitte." + +#~ msgid "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." +#~ msgstr "" +#~ "Wie viel (Bruchteil) des Werkzeugs\n" +#~ "Breite, um jeden Werkzeugdurchgang zu überlappen." + +#~ msgid "Panel Type:" +#~ msgstr "Panel-Typ:" + +#~ msgid "Tip angle:" +#~ msgstr "Spitzenwinkel:" + +#~ msgid "Angle for rotation. In degrees." +#~ msgstr "Drehwinkel. In grad." + +#~ msgid "Angle for Skew/Shear on X axis. In degrees." +#~ msgstr "Winkel für Neigung / Scherung auf der X-Achse. In grad." + +#~ msgid "Angle for Skew/Shear on Y axis. In degrees." +#~ msgstr "Winkel für Neigung / Scherung auf der Y-Achse. In grad." + +#~ msgid "XY Toolchange:" +#~ msgstr "XY-Werkzeugwechsel:" + +#~ msgid "PostProcessors:" +#~ msgstr "Postprozessoren:" + +#~ msgid "Scale:" +#~ msgstr " Skalierung: " + +#~ msgid "Offset:" +#~ msgstr "Versatz:" + +#~ msgid "Combine" +#~ msgstr "Kombinieren" + +#~ msgid "Tools Table" +#~ msgstr " Werkzeugtabelle " + +#~ msgid "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." +#~ msgstr "" +#~ "Werkzeughöhe kurz vor Arbeitsbeginn.\n" +#~ "Löschen Sie den Wert, wenn Sie diese Funktion nicht benötigen." + +#~ msgid "" +#~ "Z-axis position (height) for\n" +#~ "the last move." +#~ msgstr "" +#~ "Z-Achsenposition (Höhe) für\n" +#~ "der letzte Zug" + +#~ msgid "" +#~ "The json file that dictates\n" +#~ "gcode output." +#~ msgstr "" +#~ "Die Json-Datei, die diktiert\n" +#~ "gcode ausgabe." + +#~ msgid "Type: " +#~ msgstr " Typ: " + +#~ msgid "Drills Tool dia:" +#~ msgstr "Bohrer Werkzeugdurchmesser:" + +#~ msgid "Slots Tool dia:" +#~ msgstr "Schlitzwerkzeugdurchmesser:" + +#~ msgid "Tool Dia:" +#~ msgstr " Werkzeugdurchmesser: " + +#~ msgid "Tool Data" +#~ msgstr " Werkzeugdaten " + +#~ msgid "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." +#~ msgstr "" +#~ "Dies ist die Höhe (Z), auf der die CNC steht\n" +#~ "wird als letzter Zug gehen." + +#~ msgid "Feed Rate Z (Plunge):" +#~ msgstr "Vorschubrate Z (Eintauchen):" + +#~ msgid "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" +#~ msgstr "" +#~ "Schnittgeschwindigkeit in der Z\n" +#~ "Flugzeug in Einheiten pro Minute" + +#~ msgid "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." +#~ msgstr "" +#~ "Schnittgeschwindigkeit im XY\n" +#~ "Flugzeug in Einheiten pro Minute\n" +#~ "(in Einheiten pro Minute).\n" +#~ "Dies ist für die schnelle Bewegung G00.\n" +#~ "Es ist nur für Marlin nützlich,\n" +#~ "für andere Fälle ignorieren." + +#~ msgid "Cut over 1st pt" +#~ msgstr "1. Punkt schneiden" + +#~ msgid "Paint Area:" +#~ msgstr " Paint Bereich: " + +#~ msgid "CNC Tools Table" +#~ msgstr " CNC-Werkzeugtabelle " + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." +#~ msgstr "" +#~ "Geben Sie hier alle G-Code-Befehle ein\n" +#~ "gerne an den Anfang der generierten Datei hinzufügen." + +#~ msgid "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." +#~ msgstr "" +#~ "Dies ist der Durchmesser der Werkzeugspitze.\n" +#~ "Der Hersteller gibt es an." + +#~ msgid "Object:" +#~ msgstr "Objekt:" + +#~ msgid "Units:" +#~ msgstr "Einheiten:" + +#~ msgid "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." +#~ msgstr "" +#~ "- \"Selbst\": der nicht kupferhaltige Clearing-Umfang\n" +#~ "basiert auf dem Objekt, das kupferfrei ist.\n" +#~ " - 'Box': Löscht nicht kupferhaltige Daten innerhalb der Box\n" +#~ "angegeben durch das Objekt in der Ref. ausgewählt. Objektkombinationsfeld." + +#~ msgid "Geometry:" +#~ msgstr "Geometrie:" + +#~ msgid "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." +#~ msgstr "" +#~ "Skalieren Sie die ausgewählten Objekte\n" +#~ "Verwenden des Skalierungsfaktors X für beide Achsen." + +#~ msgid "Excellon Format:" +#~ msgstr "Excellon-Format:" + +#~ msgid "Tools:" +#~ msgstr "Werkzeuge:" + +#~ msgid "Export G-Code:" +#~ msgstr "G-Code exportieren:" + +#~ msgid "How to select the polygons to paint." +#~ msgstr "So wählen Sie die Polygone zum Malen aus." + +#~ msgid "V-Shape Tool Calculator:" +#~ msgstr " V-Shape-Werkzeug Rechner: " + +#~ msgid "ElectroPlating Calculator:" +#~ msgstr " Galvano-Rechner: " + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Plot kind:" +#~ msgstr " Plotart: " + +#~ msgid "Display Annotation:" +#~ msgstr " Anmerkung anzeigen: " + +#~ msgid "GERBER:" +#~ msgstr "GERBER:" + +#~ msgid "EXCELLON:" +#~ msgstr "EXCELLON:" + +#~ msgid "GEOMETRY:" +#~ msgstr "GEOMETRY:" + +#~ msgid "Panel Type:" +#~ msgstr "Panel-Typ:" + +#~ msgid "Excellon format:" +#~ msgstr "Excellon-Format:" + +#~ msgid "Gerber Objects" +#~ msgstr "Gerber Objekte" + +#~ msgid "Geometry Objects" +#~ msgstr "Geometrieobjekte" + #~ msgid "Save &Defaults" #~ msgstr "Standardeinstellungen speichern" @@ -13197,10 +13659,6 @@ msgstr "CNCJob-Objekte können nicht versetzt werden." #~ "[ERROR_NOTCL] Skalierungsfaktorwert für Öffnung fehlt oder falsches " #~ "Format." -#~ msgid "[ERROR_NOTCL] The aperture buffer value is missing or wrong format." -#~ msgstr "" -#~ "[ERROR_NOTCL] Der Aperturepufferwert fehlt oder hat ein falsches Format." - #, fuzzy #~ msgid "" #~ "Editor Shortcut list
\n" diff --git a/locale/en/LC_MESSAGES/strings.mo b/locale/en/LC_MESSAGES/strings.mo index 3bb6da02..f996dcff 100644 Binary files a/locale/en/LC_MESSAGES/strings.mo and b/locale/en/LC_MESSAGES/strings.mo differ diff --git a/locale/en/LC_MESSAGES/strings.po b/locale/en/LC_MESSAGES/strings.po index 38de7b7c..734b6bbb 100644 --- a/locale/en/LC_MESSAGES/strings.po +++ b/locale/en/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-08-17 15:14+0300\n" -"PO-Revision-Date: 2019-08-17 15:14+0300\n" +"POT-Creation-Date: 2019-08-23 22:46+0300\n" +"PO-Revision-Date: 2019-08-23 22:47+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: en\n" @@ -22,16 +22,16 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "New Project - Not saved" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Could not find the Language files. The App strings are missing." -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "Detachable Tabs" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" @@ -39,24 +39,28 @@ msgstr "" "(Type help to get started)\n" "\n" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "New Project - Not saved" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Open cancelled." -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "Open Config file failed." -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "Open Script file failed." -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -66,89 +70,91 @@ msgstr "" "Geometry is not possible.\n" "Edit only one geometry at a time." -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editor is activated ..." -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "Do you want to save the edited object?" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "Close Editor" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "Yes" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "No" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "Cancel" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Object empty after edit." -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s is updated, returning to App..." -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Could not load defaults file." -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Failed to parse defaults file." -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "Import FlatCAM Preferences" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] FlatCAM preferences import cancelled." -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "[ERROR_NOTCL] Could not load defaults file." -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Failed to parse defaults file." -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Imported Defaults from %s" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "Export FlatCAM Preferences" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] FlatCAM preferences export cancelled." -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -156,23 +162,23 @@ msgstr "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Failed to write defaults to file." -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "[ERROR_NOTCL] Failed to open recent files file for writing." -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "[ERROR_NOTCL] Failed to open recent projects file for writing." -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -181,11 +187,11 @@ msgstr "" "Object ({kind}) failed because: {error} \n" "\n" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "Converting units to " -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -217,35 +223,35 @@ msgstr "" "a>
DOWNLOAD area here.
" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "Close" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "[success] Defaults saved." -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "[ERROR_NOTCL] Could not load factory defaults file." -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "[ERROR_NOTCL] Failed to parse factory defaults file." -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "[ERROR_NOTCL] Failed to write factory defaults to file." -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "Factory defaults saved." -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Application is saving the project. Please wait ..." -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -253,11 +259,11 @@ msgstr "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Save changes" -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -273,40 +279,40 @@ msgstr "" "be lost and the result may not be what was expected. \n" "Check the generated GCODE." -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] A Geometry object was converted to MultiGeo type." -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] A Geometry object was converted to SingleGeo type." -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "Toggle Units" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." -msgstr "Change project units ..." +#: FlatCAMApp.py:4172 +msgid "Change project units ..." +msgstr "Change project units ..." -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -316,43 +322,43 @@ msgstr "" "objects to be scaled accordingly.\n" "Continue?" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Converted units to %s" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Units conversion cancelled." -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "Open file" -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "Export G-Code ..." -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Export Code cancelled." -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "[WARNING] No such file or directory" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "Saved to: %s" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." @@ -360,12 +366,12 @@ msgstr "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Adding Tool cancelled ..." -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -373,11 +379,11 @@ msgstr "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "Delete objects" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -385,65 +391,65 @@ msgstr "" "Are you sure you want to permanently delete\n" "the selected objects?" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "Object(s) deleted ..." -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "Failed. No object(s) selected..." -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "Save the work in Editor and try again ..." -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "Click to set the origin ..." -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "Jump to ..." -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "Enter the coordinates in format X,Y:" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Wrong coordinates. Enter coordinates in format: X,Y" -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "[success] Done." -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "[WARNING_NOTCL] No object is selected. Select an object and try again." -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "[success] Origin set ..." -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "Preferences" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "[WARNING_NOTCL] Preferences edited but not saved." -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -451,107 +457,107 @@ msgstr "" "One or more values are changed.\n" "Do you want to save the Preferences?" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "Save Preferences" -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "[success] Preferences saved." -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "[WARNING_NOTCL] No object selected to Flip on Y axis." -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "[success] Flip on Y axis done." -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Flip action was not executed." -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "[WARNING_NOTCL] No object selected to Flip on X axis." -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "[success] Flip on X axis done." -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] No object selected to Rotate." -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "Transform" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "Enter the Angle value:" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "[success] Rotation done." -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Due of %s, rotation movement was not executed." -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "[success] Skew on X axis done." -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "[success] Skew on Y axis done." -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "Grid On/Off" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "Add" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Delete" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "New Grid ..." -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "Enter a Grid Value:" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -559,56 +565,56 @@ msgstr "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "[success] New Grid added ..." -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Grid already exists ..." -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Adding New Grid cancelled ..." -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Grid Value does not exist ..." -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "[success] Grid Value deleted ..." -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Delete Grid value cancelled ..." -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "Key Shortcut List" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] No object selected to copy it's name" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "Name copied on clipboard ..." -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "[success] Coordinates copied to clipboard." -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} selected" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -618,106 +624,106 @@ msgstr "" "Creating a New project will delete them.\n" "Do you want to Save the project?" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "[success] New Project created..." -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "Open Gerber" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Open Gerber cancelled." -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "Open Excellon" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Open Excellon cancelled." -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "Open G-Code" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Open G-Code cancelled." -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "Open Project" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Open Project cancelled." -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "Open Configuration File" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Open Config cancelled." -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] No object selected." -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "Please Select a Geometry object to export" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "Export SVG" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Export SVG cancelled." -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "Export PNG Image" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "Export PNG cancelled." -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "Save Gerber source file" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Save Gerber source file cancelled." -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -725,21 +731,21 @@ msgstr "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "Save Excellon source file" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Saving Excellon source file cancelled." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -747,68 +753,68 @@ msgstr "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "Export Excellon" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Export Excellon cancelled." -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "Export Gerber" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Export Gerber cancelled." -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Only Geometry objects can be used." -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "Export DXF" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Export DXF cancelled." -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "Import SVG" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Open SVG cancelled." -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "Import DXF" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Open DXF cancelled." -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -816,25 +822,25 @@ msgstr "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "Source Editor" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "Code Editor" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -878,98 +884,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "Open TCL script" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Open TCL script cancelled." -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "Run TCL script" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Run TCL script cancelled." -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "Save Project As ..." -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Project_{date}" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Save Project cancelled." -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "Exporting SVG" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] SVG file exported to %s" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] No object Box. Using instead %s" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "Generating Film ... Please wait." -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excellon file exported to %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "Exporting Excellon" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Could not export Excellon file." -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Gerber file exported to %s" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "Exporting Gerber" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Could not export Gerber file." -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] DXF file exported to %s" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "Exporting DXF" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Could not export DXF file." -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -977,95 +983,95 @@ msgstr "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "Importing SVG" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Opened: %s" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "Importing DXF" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "Importing Image" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Failed to open file: %s" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Failed to parse file: {name}. {error}" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "[ERROR] An internal error has occurred. See shell.\n" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "Opening Gerber" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] This is not Excellon file." -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Cannot open file: %s" -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "[ERROR_NOTCL] An internal error has occurred. See shell.\n" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] No geometry found in file: %s" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "Opening Excellon." -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Failed to open %s" -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] This is not GCODE" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "Opening G-Code." -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1075,26 +1081,34 @@ msgstr "" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Failed to open config file: %s" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "Loading Project ... Please Wait ..." + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Failed to open project file: %s" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "Loading Project ... restoring" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Project loaded from: %s" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "Available commands:\n" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1106,35 +1120,35 @@ msgstr "" "Type help for usage.\n" " Example: help open_gerber" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "Shows list of commands." -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Failed to load recent item list." -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Failed to parse recent item list." -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "[ERROR_NOTCL] Failed to load recent projects item list." -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "[ERROR_NOTCL] Failed to parse recent project item list." -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "Clear Recent files" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr "Shortcut Key List" -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1231,23 +1245,23 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "[WARNING_NOTCL] Failed checking for latest version. Could not connect." -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "[ERROR_NOTCL] Could not parse information about latest version." -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM is up to date!" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "Newer Version Available" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1255,81 +1269,81 @@ msgstr "" "There is a newer version of FlatCAM available for download:\n" "\n" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "info" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "[success] All plots disabled." -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "[success] All non selected plots disabled." -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "[success] All plots enabled." -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "[success] Selected plots enabled..." -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "[success] Selected plots disabled..." -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "Working ..." -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "Saving FlatCAM Project" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Project saved to: %s" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name changed from {old} to {new}" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "Advanced" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "[ERROR_NOTCL] Isolation geometry could not be generated." -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "Rough" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Isolation geometry created: %s" @@ -1338,34 +1352,34 @@ msgstr "[success] Isolation geometry created: %s" msgid "Plotting Apertures" msgstr "Plotting Apertures" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "Total Drills" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "Total Slots" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered, use a number." @@ -1386,9 +1400,9 @@ msgid "Tool_nr" msgstr "Tool_nr" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Diameter" @@ -1427,8 +1441,8 @@ msgstr "" msgid "Generating CNC Code" msgstr "Generating CNC Code" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1438,16 +1452,16 @@ msgstr "" "format (x, y) \n" "but now there is only one value, not two. " -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "Finish" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "Copy" @@ -1512,20 +1526,20 @@ msgstr "" "[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "[ERROR_NOTCL] Scale factor has to be a number: integer or float." -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "[success] Geometry Scale done." -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1533,29 +1547,29 @@ msgstr "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "[success] Geometry Offset done." -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "Export Machine Code ..." -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Machine Code file saved to: %s" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1564,11 +1578,11 @@ msgstr "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " "CNCJob object." -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1576,15 +1590,15 @@ msgstr "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "[success] Toolchange G-code was replaced by a custom code." -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] No such file or directory" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1592,7 +1606,7 @@ msgstr "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] There is no postprocessor file." @@ -1623,40 +1637,40 @@ msgstr "[ERROR] Cause of error: %s" msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "[success] Object was mirrored ..." -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Failed to mirror. No object selected" -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "[success] Object was rotated ..." -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Failed to rotate. No object selected" -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "[success] Object was skewed ..." -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Failed to skew. No object selected" -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordinates missing, line ignored: %s" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1665,7 +1679,7 @@ msgstr "" "[ERROR] Region does not have enough points. File will be processed but there " "are parser errors. Line number: %s" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1674,32 +1688,32 @@ msgstr "" "[ERROR]Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "[success] Gerber Scale done." -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset done." -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "[success] Gerber Mirror done." -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "[success] Gerber Skew done." -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber Rotate done." -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] This is GCODE mark: %s" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1716,7 +1730,7 @@ msgstr "" "The user needs to edit the resulting Excellon object and change the " "diameters to reflect the real diameters." -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1725,7 +1739,7 @@ msgstr "" "[ERROR] Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1735,12 +1749,12 @@ msgstr "" "not having a tool associated.\n" "Check the resulting GCode." -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] There is no such parameter: %s" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1754,22 +1768,22 @@ msgstr "" "therefore the app will convert the value to negative. Check the resulting " "CNC code (Gcode etc)." -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" msgstr "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] The loaded Excellon file has no drills ..." -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Wrong optimization type selected." -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1777,7 +1791,7 @@ msgstr "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1791,11 +1805,11 @@ msgstr "" "therefore the app will convert the value to negative.Check the resulting CNC " "code (Gcode etc)." -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Travel Z parameter is None or zero." -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1809,19 +1823,19 @@ msgstr "" "therefore the app will convert the value to positive.Check the resulting CNC " "code (Gcode etc)." -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" msgstr "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR]Expected a Geometry, got %s" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1829,7 +1843,7 @@ msgstr "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1839,50 +1853,50 @@ msgstr "" "current_geometry.\n" "Raise the value (in module) and try again." -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "Click to place ..." -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "[WARNING_NOTCL] To add a drill first select a tool" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "[success] Done. Drill added." -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "Click on target location ..." -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "Click on the Drill Circular Array Start position" -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." @@ -1890,107 +1904,107 @@ msgstr "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "[ERROR_NOTCL] The value is mistyped. Check the value. %s" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "[WARNING_NOTCL] Too many drills for the selected spacing angle." -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "[success] Done. Drill Array added." -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "[WARNING_NOTCL] To add a slot first select a tool" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "[success] Done. Adding Slot completed." -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "Click on the Slot Circular Array Start position" -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "[ERROR_NOTCL] The value is mistyped. Check the value." -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "[WARNING_NOTCL] Too many Slots for the selected spacing angle." -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "[success] Done. Slot Array added." -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "Click on the Drill(s) to resize ..." -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "[ERROR_NOTCL] Cancelled." -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "[success] Done. Drill/Slot Resize completed." -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "Click on reference location ..." -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "[success] Done. Drill(s) Move completed." -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "[success] Done. Drill(s) copied." -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "Excellon Editor" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "Name:" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Tools Table" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -1998,11 +2012,11 @@ msgstr "" "Tools in this Excellon object\n" "when are used for drilling." -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "Add/Delete Tool" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2010,20 +2024,20 @@ msgstr "" "Add/Delete a tool to the tool list\n" "for this Excellon object." -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "Tool Dia:" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "Diameter for the new tool" -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "Add Tool" -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2031,11 +2045,11 @@ msgstr "" "Add a new tool to the tool list\n" "with the diameter specified above." -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "Delete Tool" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2043,39 +2057,39 @@ msgstr "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "Resize Drill(s)" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "Resize a drill or a selection of drills." -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "Resize Dia:" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "Diameter to resize to." -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "Resize" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "Resize drill(s)" -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "Add Drill Array" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "Add an array of drills (linear or circular array)" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2083,40 +2097,38 @@ msgstr "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "Linear" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "Nr of drills:" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "Specify how many drills to be in the array." -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "Direction:" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2128,61 +2140,62 @@ msgstr "" "- 'Y' - vertical axis or \n" "- 'Angle' - a custom angle for the array inclination" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Angle" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 +#: flatcamEditors/FlatCAMExcEditor.py:1642 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "Pitch:" msgstr "Pitch:" -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 msgid "Pitch = Distance between elements of the array." msgstr "Pitch = Distance between elements of the array." -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Angle:" msgstr "Angle:" -#: flatcamEditors/FlatCAMExcEditor.py:1642 -#: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2194,45 +2207,46 @@ msgstr "" "Min value is: -359.99 degrees.\n" "Max value is: 360.00 degrees." -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 -msgid "" -"Direction for circular array.Can be CW = clockwise or CCW = counter " -"clockwise." -msgstr "" -"Direction for circular array.Can be CW = clockwise or CCW = counter " -"clockwise." - -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 -msgid "CW" -msgstr "CW" - -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 -msgid "CCW" -msgstr "CCW" - #: flatcamEditors/FlatCAMExcEditor.py:1675 #: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 +msgid "" +"Direction for circular array.Can be CW = clockwise or CCW = counter " +"clockwise." +msgstr "" +"Direction for circular array.Can be CW = clockwise or CCW = counter " +"clockwise." + +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 +msgid "CW" +msgstr "CW" + +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 +msgid "CCW" +msgstr "CCW" + +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "Angle at which each element in circular array is placed." -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "Slot Parameters" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2240,15 +2254,15 @@ msgstr "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "Length:" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "Length = The length of the slot." -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2260,7 +2274,7 @@ msgstr "" "- 'Y' - vertical axis or \n" "- 'Angle' - a custom angle for the slot inclination" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2272,15 +2286,15 @@ msgstr "" "Min value is: -359.99 degrees.\n" "Max value is: 360.00 degrees." -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "Slot Array Parameters" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Parameters for the array of slots (linear or circular array)" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2288,15 +2302,15 @@ msgstr "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "Nr of slots:" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "Specify how many slots to be in the array." -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2304,25 +2318,25 @@ msgstr "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "[success] Added new tool with dia: {dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "[WARNING_NOTCL] Select a tool in Tool Table" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "[success] Deleted tool with dia: {del_dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "[success] Done. Tool edit completed." -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." @@ -2330,43 +2344,41 @@ msgstr "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] An internal error has ocurred. See shell.\n" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "Creating Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "[success] Excellon editing finished." -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Done. Drill(s) deleted." -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "Click on the circular array Center position" -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "Buffer distance:" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "Buffer corner:" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2380,45 +2392,45 @@ msgstr "" " - 'Beveled:' the corner is a line that directly connects the features " "meeting in the corner" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "Round" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "Square" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "Beveled" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "Buffer Interior" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "Buffer Exterior" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "Full Buffer" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "Buffer Tool" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2426,22 +2438,19 @@ msgstr "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "Text Tool" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "Tool" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "Tool dia:" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2449,13 +2458,13 @@ msgstr "" "Diameter of the tool to\n" "be used in the operation." -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "Overlap Rate:" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2480,15 +2489,12 @@ msgstr "" "Higher values = slow processing and slow execution on CNC\n" "due of too many paths." -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "Margin:" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" @@ -2498,13 +2504,11 @@ msgstr "" "the edges of the polygon to\n" "be painted." -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "Method:" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." @@ -2512,33 +2516,31 @@ msgstr "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Standard" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "Seed-based" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Straight lines" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "Connect:" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -2546,15 +2548,13 @@ msgstr "" "Draw lines between resulting\n" "segments to minimize tool lifts." -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "Contour:" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -2562,23 +2562,23 @@ msgstr "" "Cut around the perimeter of the polygon\n" "to trim rough edges." -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "Paint" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Paint Tool" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "[WARNING_NOTCL] Paint cancelled. No shape selected." -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." @@ -2586,13 +2586,13 @@ msgstr "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." @@ -2600,63 +2600,66 @@ msgstr "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "Tools" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "Transform Tool" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Rotate" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Skew/Shear" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Scale" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Mirror (Flip)" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Offset" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "Editor %s" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2668,8 +2671,8 @@ msgstr "" "Positive numbers for CW motion.\n" "Negative numbers for CCW motion." -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2679,15 +2682,16 @@ msgstr "" "The point of reference is the middle of\n" "the bounding box for all selected shapes." -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "Angle X:" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2696,15 +2700,15 @@ msgstr "" "Angle for Skew action, in degrees.\n" "Float number between -360 and 359." -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Skew X" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2714,35 +2718,35 @@ msgstr "" "The point of reference is the middle of\n" "the bounding box for all selected shapes." -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "Angle Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Skew Y" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "Factor X:" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "Factor for Scale action over X axis." -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Scale X" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2752,29 +2756,29 @@ msgstr "" "The point of reference depends on \n" "the Scale reference checkbox state." -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "Factor Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "Factor for Scale action over Y axis." -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Scale Y" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Link" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2782,14 +2786,14 @@ msgstr "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Scale Reference" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2801,25 +2805,25 @@ msgstr "" "and the center of the biggest bounding box\n" "of the selected shapes when unchecked." -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "Value X:" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "Value for Offset action on X axis." -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "Offset X" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2829,30 +2833,30 @@ msgstr "" "The point of reference is the middle of\n" "the bounding box for all selected shapes.\n" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "Value Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "Value for Offset action on Y axis." -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "Offset Y" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "Flip on X" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2860,18 +2864,18 @@ msgstr "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "Flip on Y" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "Ref Pt" -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2893,13 +2897,13 @@ msgstr "" "Or enter the coords in format (x, y) in the\n" "Point Entry field and click Flip on X(Y)" -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "Point:" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2909,8 +2913,8 @@ msgstr "" "The 'x' in (x, y) will be used when using Flip on X and\n" "the 'y' in (x, y) will be used when using Flip on Y." -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2920,366 +2924,366 @@ msgstr "" "left click on canvas together with pressing\n" "SHIFT key. Then click Add button to insert." -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformation cancelled. No shape selected." -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "Appying Rotate" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "[success] Done. Rotate completed." -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "Applying Flip" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Flip on the Y axis done ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "[success] Flip on the X axis done ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "Applying Skew" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Skew on the %s axis done ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Skew action was not executed." -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "Applying Scale" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Scale on the %s axis done ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Scale action was not executed." -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "Applying Offset" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Offset on the %s axis done ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Offset action was not executed." -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "Rotate ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "Enter an Angle Value (degrees):" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "[success] Geometry shape rotate done..." -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Geometry shape rotate cancelled..." -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "Offset on X axis ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "Enter a distance Value (%s):" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Geometry shape offset on X axis done..." -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Geometry shape offset X cancelled..." -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "Offset on Y axis ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Geometry shape offset on Y axis done..." -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Geometry shape offset Y cancelled..." -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "Skew on X axis ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Geometry shape skew on X axis done..." -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Geometry shape skew X cancelled..." -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "Skew on Y axis ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Geometry shape skew on Y axis done..." -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Geometry shape skew Y cancelled..." -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "Click on Center point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "Click on Perimeter point to complete ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "[success] Done. Adding Circle completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "Click on Start point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "Click on Point3 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "Click on Stop point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "Click on Stop point to complete ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "Click on Point2 to complete ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "Click on Center point to complete ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "Direction: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Mode: Start -> Stop -> Center. Click on Start point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Mode: Center -> Start -> Stop. Click on Center point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "[success] Done. Arc completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "Click on 1st corner ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "Click on opposite corner to complete ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "[success] Done. Rectangle completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "Click on next Point or click right mouse button to complete ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "[success] Done. Polygon completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "Backtracked one point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "[success] Done. Path completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr " MOVE: Click on reference point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr " Click on destination point ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "[success] Done. Geometry(s) Move completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "[success] Done. Geometry(s) Copy completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " @@ -3288,88 +3292,88 @@ msgstr "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " "supported. Error: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "[WARNING_NOTCL] No text to add." -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "[success] Done. Adding Text completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "Create buffer geometry ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Buffer cancelled. No shape selected." -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Done. Buffer Tool completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "[success] Done. Buffer Int Tool completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "[success] Done. Buffer Ext Tool completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "Select a shape to act as deletion area ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "Click to pick-up the erase shape..." -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "Click to erase ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "[success] Done. Eraser tool action completed." -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "Create Paint geometry ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "Shape transformations ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" msgstr "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "[WARNING_NOTCL] Copy cancelled. No shape selected." -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "Click on target point." -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." @@ -3377,9 +3381,8 @@ msgstr "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" @@ -3387,52 +3390,56 @@ msgstr "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "[WARNING_NOTCL] Nothing selected for buffering." -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "[WARNING_NOTCL] Invalid distance for buffering." -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "[success] Full buffer geometry created." -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "[ERROR_NOTCL] Negative buffer value is not accepted." + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "[success] Interior buffer geometry created." -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "[success] Exterior buffer geometry created." -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "[WARNING_NOTCL] Nothing selected for painting." -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "[WARNING] Invalid value for {}" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." @@ -3440,7 +3447,7 @@ msgstr "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3451,60 +3458,60 @@ msgstr "" "different method of Paint\n" "%s" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "[success] Paint done." -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "[success] Done. Adding Pad completed." -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "Click on the Pad Circular Array Start position" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "[WARNING_NOTCL] Too many Pads for the selected spacing angle." -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "[success] Done. Pad Array added." -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "Select shape(s) and then click ..." -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "[ERROR_NOTCL] Failed. Nothing selected." -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." @@ -3512,147 +3519,148 @@ msgstr "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "[success] Done. Poligonize completed." -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "Corner Mode 1: 45 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "Click on 1st point ..." -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "Click on next Point or click Right mouse button to complete ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Corner Mode 2: Reverse 45 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "Corner Mode 3: 90 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Corner Mode 4: Reverse 90 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "Corner Mode 5: Free angle ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "Track Mode 1: 45 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Track Mode 2: Reverse 45 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "Track Mode 3: 90 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Track Mode 4: Reverse 90 degrees ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "Track Mode 5: Free angle ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "Scale the selected Gerber apertures ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "Buffer the selected apertures ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Mark polygon areas in the edited Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "[WARNING_NOTCL] Nothing selected to move ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "[success] Done. Apertures Move completed." -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "[success] Done. Apertures copied." -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "Gerber Editor" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" -msgstr "Apertures:" +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" +msgstr "Apertures" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "Apertures Table for the Gerber Object." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "Code" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "Type" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "Size" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "Index" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "Aperture Code" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "Type of aperture: circular, rectangle, macros etc" -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "Aperture Size:" -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -3662,15 +3670,15 @@ msgstr "" " - (width, height) for R, O type.\n" " - (dia, nVertices) for P type" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "Aperture Code:" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "Code for the new aperture" -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "Aperture Size" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3684,11 +3692,11 @@ msgstr "" "calculated as:\n" "sqrt(width**2 + height**2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" -msgstr "Aperture Type:" +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" +msgstr "Aperture Type" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3700,11 +3708,11 @@ msgstr "" "R = rectangular\n" "O = oblong" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" -msgstr "Aperture Dim:" +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" +msgstr "Aperture Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -3714,31 +3722,39 @@ msgstr "" "Active only for rectangular apertures (type R).\n" "The format is (width, height)" -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "Add/Delete Aperture:" -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "Add/Delete an aperture in the aperture table" -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "Add a new aperture to the aperture list." -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "Delete a aperture in the aperture list" -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "Buffer Aperture:" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "Buffer a aperture in the aperture list" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "Buffer distance" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "Buffer corner" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3752,25 +3768,25 @@ msgstr "" " - 'Beveled:' the corner is a line that directly connects the features " "meeting in the corner" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "Buffer" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" -msgstr "Scale Aperture:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" +msgstr "Scale Aperture" -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "Scale a aperture in the aperture list" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" -msgstr "Scale factor:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" +msgstr "Scale factor" -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -3778,19 +3794,19 @@ msgstr "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" -msgstr "Mark polygon areas:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" +msgstr "Mark polygon areas" -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "Mark the polygon areas." -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" -msgstr "Area UPPER threshold:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" +msgstr "Area UPPER threshold" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3798,11 +3814,11 @@ msgstr "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" -msgstr "Area LOWER threshold:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" +msgstr "Area LOWER threshold" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3810,20 +3826,20 @@ msgstr "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "Go" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "Add Pad Array" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "Add an array of pads (linear or circular array)" -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -3831,32 +3847,42 @@ msgstr "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" -msgstr "Nr of pads:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" +msgstr "Nr of pads" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "Specify how many pads to be in the array." -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 -msgid "" -"[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " -"retry." -msgstr "" -"[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " -"retry." +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "Direction" +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "Pitch" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 #: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" +"[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " +"retry." +msgstr "" +"[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " +"retry." + +#: flatcamEditors/FlatCAMGrbEditor.py:3172 +msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." msgstr "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." @@ -3864,35 +3890,35 @@ msgstr "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "[WARNING_NOTCL] Aperture already in the aperture table." -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "[success] Added new aperture with code: {apid}" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "[WARNING_NOTCL] Select an aperture in Aperture Table" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "[success] Deleted aperture with code: {del_dia}" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "Adding aperture: %s geo ..." -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." @@ -3900,27 +3926,27 @@ msgstr "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "Creating Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "[success] Gerber editing finished." -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Cancelled. No aperture is selected" -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "[ERROR_NOTCL] Failed. No aperture geometry is selected." -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Done. Apertures geometry deleted." -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -3928,7 +3954,7 @@ msgstr "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" @@ -3937,7 +3963,7 @@ msgstr "" "[ERROR_NOTCL] Failed.\n" "%s" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -3945,7 +3971,7 @@ msgstr "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -3953,108 +3979,108 @@ msgstr "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "[success] Done. Scale Tool completed." -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "[success] Polygon areas marked." -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "[WARNING_NOTCL] There are no polygons to mark area." -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "&File" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "&New Project ...\tCTRL+N" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "Will create a new, blank project" -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "&New" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "Geometry\tN" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "Will create a new, empty Geometry Object." -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "Will create a new, empty Gerber Object." -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "Will create a new, empty Excellon Object." -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Open" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "Open &Project ..." -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "Open &Gerber ...\tCTRL+G" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "Open &Excellon ...\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "Open G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "Open Config ..." -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "Recent projects" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "Recent files" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "Scripting" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "New Script ..." -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "Open Script ..." -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "Run Script ...\tSHIFT+S" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4064,43 +4090,43 @@ msgstr "" "enabling the automation of certain\n" "functions of FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "Import" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "&SVG as Geometry Object ..." -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "&SVG as Gerber Object ..." -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "&DXF as Geometry Object ..." -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "&DXF as Gerber Object ..." -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "Export" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "Export &SVG ..." -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "Export DXF ..." -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "Export &PNG ..." -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -4110,11 +4136,11 @@ msgstr "" "the saved image will contain the visual \n" "information currently in FlatCAM Plot Area." -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "Export &Excellon ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -4124,11 +4150,11 @@ msgstr "" "the coordinates format, the file units and zeros\n" "are set in Preferences -> Excellon Export." -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "Export &Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -4138,59 +4164,59 @@ msgstr "" "the coordinates format, the file units and zeros\n" "are set in Preferences -> Gerber Export." -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "Backup" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "Import Preferences from file ..." -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "Export Preferences to file ..." -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "Save" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "&Save Project ..." -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "Save Project &As ...\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "Save Project C&opy ..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "E&xit" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "&Edit" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "Edit Object\tE" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "Close Editor\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "Conversion" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "&Join Geo/Gerber/Exc -> Geo" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -4204,28 +4230,28 @@ msgstr "" "- Geometry\n" "into a new combo Geometry object." -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "Join Excellon(s) -> Excellon" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" "Merge a selection of Excellon objects into a new combo Excellon object." -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "Join Gerber(s) -> Gerber" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "Merge a selection of Gerber objects into a new combo Gerber object." -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "Convert Single to MultiGeo" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -4233,11 +4259,11 @@ msgstr "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "Convert Multi to SingleGeo" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -4245,632 +4271,632 @@ msgstr "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "Convert Any to Geo" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "Convert Any to Gerber" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "&Copy\tCTRL+C" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "&Delete\tDEL" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "Se&t Origin\tO" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "Jump to Location\tJ" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "Toggle Units\tQ" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "&Select All\tCTRL+A" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "&Preferences\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "&Options" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "&Rotate Selection\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "&Skew on X axis\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "S&kew on Y axis\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "Flip on &X axis\tX" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "Flip on &Y axis\tY" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "View source\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "&View" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "Enable all plots\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "Disable all plots\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "Disable non-selected\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "&Zoom Fit\tV" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "&Zoom In\t=" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "&Zoom Out\t-" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "Toggle Code Editor\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "&Toggle FullScreen\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "&Toggle Plot Area\tCTRL+F10" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "&Toggle Project/Sel/Tool\t`" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "&Toggle Grid Snap\tG" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "&Toggle Axis\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "Toggle Workspace\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "&Tool" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "&Command Line\tS" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "&Help" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "Help\tF1" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "FlatCAM.org" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "Shortcuts List\tF3" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "YouTube Channel\tF4" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "About" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "Add Circle\tO" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "Add Arc\tA" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "Add Rectangle\tR" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "Add Polygon\tN" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "Add Path\tP" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "Add Text\tT" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "Polygon Union\tU" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "Polygon Intersection\tE" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "Polygon Subtraction\tS" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "Cut Path\tX" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "Copy Geom\tC" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "Delete Shape\tDEL" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "Move\tM" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "Buffer Tool\tB" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "Paint Tool\tI" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "Transform Tool\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "Toggle Corner Snap\tK" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr ">Excellon Editor<" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "Add Drill Array\tA" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "Add Drill\tD" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "Add Slot Array\tQ" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "Add Slot\tW" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "Resize Drill(S)\tR" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "Copy\tC" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "Delete\tDEL" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "Move Drill(s)\tM" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr ">Gerber Editor<" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "Add Pad\tP" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "Add Pad Array\tA" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "Add Track\tT" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "Add Region\tN" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "Poligonize\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "Add SemiDisc\tE" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "Add Disc\tD" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "Buffer\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "Scale\tS" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "Mark Area\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "Eraser\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "Transform\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "Enable Plot" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "Disable Plot" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "Generate CNC" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "View Source" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "Edit" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "Properties" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "File Toolbar" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "Edit Toolbar" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "View Toolbar" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "Shell Toolbar" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "Tools Toolbar" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "Excellon Editor Toolbar" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "Geometry Editor Toolbar" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "Gerber Editor Toolbar" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "Grid Toolbar" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "Open project" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "Save project" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "New Blank Geometry" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "New Blank Gerber" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "New Blank Excellon" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "Editor" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "Save Object and close the Editor" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "&Delete" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "&Replot" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "&Clear plot" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "Zoom In" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "Zoom Out" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "Zoom Fit" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "&Command Line" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "2Sided Tool" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "&Cutout Tool" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "NCC Tool" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "Panel Tool" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "Film Tool" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "SolderPaste Tool" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "Substract Tool" -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "Calculators Tool" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "Select" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "Add Drill Hole" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "Add Drill Hole Array" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "Add Slot" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "Add Slot Array" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "Resize Drill" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "Copy Drill" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "Delete Drill" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "Move Drill" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "Add Circle" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "Add Arc" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "Add Rectangle" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "Add Path" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "Add Polygon" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "Add Text" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "Add Buffer" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "Paint Shape" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "Eraser" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "Polygon Union" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "Polygon Intersection" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "Polygon Subtraction" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "Cut Path" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "Copy Shape(s)" -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "Delete Shape '-'" -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "Transformations" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "Move Objects " -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "Add Pad" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "Add Track" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "Add Region" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "Poligonize" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "SemiDisc" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "Disc" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "Mark Area" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "Move" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "Snap to grid" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "Grid X snapping distance" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "Grid Y snapping distance" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -4878,64 +4904,64 @@ msgstr "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "Snap to corner" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "Max. magnet distance" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "Project" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "Selected" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "Plot Area" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "General" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "APP. DEFAULTS" -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "PROJ. OPTIONS " -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "GEOMETRY" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "CNC-JOB" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "TOOLS" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "Import Preferences" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -4949,11 +4975,11 @@ msgstr "" "FlatCAM automatically save a 'factory_defaults' file\n" "on the first start. Do not delete that file." -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "Export Preferences" -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -4961,15 +4987,15 @@ msgstr "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "Open Pref Folder" -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Open the folder where FlatCAM save the preferences files." -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -4977,7 +5003,7 @@ msgstr "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" " Editor Shortcut list
\n" "
\n" @@ -6213,134 +6239,133 @@ msgstr "" "
\n" " " -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "Toggle Visibility" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "Toggle Panel" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "New" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "Geometry" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "Grids" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "View" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "Clear Plot" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "Replot" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "Geo Editor" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "Path" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "Rectangle" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "Circle" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "Polygon" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "Arc" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "Text" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "Union" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "Intersection" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "Substraction" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "Cut" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "Pad" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "Pad Array" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "Track" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "Region" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "Exc Editor" -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "Add Drill" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "Print Preview" -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "Print Code" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "Find in Code" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "Replace With" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "All" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -6348,15 +6373,15 @@ msgstr "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "Open Code" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "Save Code" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -6364,7 +6389,7 @@ msgstr "" "Relative neasurement.\n" "Reference is last click position" -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -6372,23 +6397,27 @@ msgstr "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" -#: flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" +msgstr "Lock Toolbars" + +#: flatcamGUI/FlatCAMGUI.py:2013 msgid "Select 'Esc'" msgstr "Select 'Esc'" -#: flatcamGUI/FlatCAMGUI.py:2011 +#: flatcamGUI/FlatCAMGUI.py:2038 msgid "Copy Objects" msgstr "Copy Objects" -#: flatcamGUI/FlatCAMGUI.py:2013 +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "Delete Shape" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" msgstr "Move Objects" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -6400,17 +6429,17 @@ msgstr "" "out of the first item. In the end press ~X~ key or\n" "the toolbar button." -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "Warning" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "[WARNING_NOTCL] Cancelled." -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -6418,7 +6447,7 @@ msgstr "" "Please select geometry items \n" "on which to perform Intersection Tool." -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -6426,7 +6455,7 @@ msgstr "" "Please select geometry items \n" "on which to perform Substraction Tool." -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." @@ -6434,59 +6463,59 @@ msgstr "" "Please select geometry items \n" "on which to perform union." -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "[WARNING_NOTCL] Cancelled. Nothing selected to delete." -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "[WARNING_NOTCL] Cancelled. Nothing selected to copy." -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "[WARNING_NOTCL] Cancelled. Nothing selected to move." -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "New Tool ..." -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" msgstr "Enter a Tool Diameter:" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "Measurement Tool exit..." -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "GUI Preferences" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "Grid X value:" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "This is the Grid snap value on X axis." -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "Grid Y value:" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "This is the Grid snap value on Y axis." -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "Snap Max:" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "Workspace:" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -6494,11 +6523,11 @@ msgstr "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "Wk. format:" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -6506,11 +6535,11 @@ msgstr "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "Plot Fill:" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -6520,28 +6549,28 @@ msgstr "" "First 6 digits are the color and the last 2\n" "digits are for alpha (transparency) level." -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "Alpha Level:" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." msgstr "Set the fill transparency for plotted objects." -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "Plot Line:" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "Set the line color for plotted objects." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "Sel. Fill:" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6553,23 +6582,23 @@ msgstr "" "First 6 digits are the color and the last 2\n" "digits are for alpha (transparency) level." -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "Set the fill transparency for the 'left to right' selection box." -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "Sel. Line:" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "Set the line color for the 'left to right' selection box." -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "Sel2. Fill:" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6581,47 +6610,47 @@ msgstr "" "First 6 digits are the color and the last 2\n" "digits are for alpha (transparency) level." -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "Set the fill transparency for selection 'right to left' box." -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "Sel2. Line:" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "Set the line color for the 'right to left' selection box." -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "Editor Draw:" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "Set the color for the shape." -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "Editor Draw Sel.:" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "Set the color of the shape when selected." -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "Project Items:" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "Set the color of the items in Project Tab Tree." -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "Proj. Dis. Items:" -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -6629,15 +6658,15 @@ msgstr "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "GUI Settings" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "Layout:" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -6645,11 +6674,11 @@ msgstr "" "Select an layout for FlatCAM.\n" "It is applied immediately." -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "Style:" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -6657,11 +6686,11 @@ msgstr "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "HDPI Support:" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -6669,11 +6698,11 @@ msgstr "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "Clear GUI Settings:" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6681,15 +6710,15 @@ msgstr "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "Clear" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "Hover Shape:" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -6699,11 +6728,11 @@ msgstr "" "It is displayed whenever the mouse cursor is hovering\n" "over any kind of not-selected object." -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "Sel. Shape:" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -6715,11 +6744,11 @@ msgstr "" "either by clicking or dragging mouse from left to right or\n" "right to left." -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "NB Font Size:" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" @@ -6729,31 +6758,33 @@ msgstr "" "The notebook is the collapsible area in the left side of the GUI,\n" "and include the Project, Selected and Tool tabs." -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "Axis Font Size:" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "This sets the font size for canvas axis." -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Are you sure you want to delete the GUI Settings? \n" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "Clear GUI Settings" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "App Preferences" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" -msgstr "Units:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" +msgstr "Units" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -6763,21 +6794,21 @@ msgstr "" "Whatever is selected here is set every time\n" "FLatCAM is started." -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "IN" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" -msgstr "APP. LEVEL:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" +msgstr "APP. LEVEL" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -6793,27 +6824,46 @@ msgstr "" "The choice here will influence the parameters in\n" "the Selected Tab for all kinds of FlatCAM objects." -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "Basic" -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "Advanced" -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" -msgstr "Languages:" +#: flatcamGUI/FlatCAMGUI.py:3988 +#| msgid "Portability" +msgid "Portable app" +msgstr "Portable app" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "Languages" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "Set the language used throughout FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "Apply Language" -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -6831,11 +6881,11 @@ msgstr "" "security features. In this case the language will be\n" "applied at the next app start." -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" -msgstr "Shell at StartUp:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" +msgstr "Shell at StartUp" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -6843,11 +6893,11 @@ msgstr "" "Check this box if you want the shell to\n" "start automatically at startup." -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" -msgstr "Version Check:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" +msgstr "Version Check" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -6855,11 +6905,11 @@ msgstr "" "Check this box if you want to check\n" "for a new version automatically at startup." -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" -msgstr "Send Stats:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" +msgstr "Send Stats" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -6867,11 +6917,11 @@ msgstr "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" -msgstr "Pan Button:" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" +msgstr "Pan Button" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -6881,35 +6931,35 @@ msgstr "" "- MMB --> Middle Mouse Button\n" "- RMB --> Right Mouse Button" -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "MMB" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "RMB" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" -msgstr "Multiple Sel:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" +msgstr "Multiple Sel:" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "Select the key used for multiple selection." -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" -msgstr "Project at StartUp:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" +msgstr "Project at StartUp" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -6917,11 +6967,11 @@ msgstr "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" -msgstr "Project AutoHide:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" +msgstr "Project AutoHide" -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -6931,11 +6981,11 @@ msgstr "" "hide automatically when there are no objects loaded and\n" "to show whenever a new object is created." -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" -msgstr "Enable ToolTips:" +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" +msgstr "Enable ToolTips" -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -6943,11 +6993,11 @@ msgstr "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" -msgstr "Workers number:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" +msgstr "Workers number" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -6963,11 +7013,11 @@ msgstr "" "Default value is 2.\n" "After change, it will be applied at next App start." -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" -msgstr "Geo Tolerance:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" +msgstr "Geo Tolerance" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -6983,11 +7033,11 @@ msgstr "" "performance. Higher value will provide more\n" "performance at the expense of level of detail." -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "\"Open\" behavior" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -7001,11 +7051,11 @@ msgstr "" "When unchecked the path for opening files is the one used last: either the\n" "path for saving files or the path for opening files." -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "Delete object confirmation" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -7015,11 +7065,11 @@ msgstr "" "whenever the Delete object(s) event is triggered, either by\n" "menu shortcut or key shortcut." -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "Save Compressed Project" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -7027,11 +7077,11 @@ msgstr "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" -msgstr "Compression Level:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" +msgstr "Compression Level" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -7041,51 +7091,53 @@ msgstr "" "a FlatCAM project. Higher value means better compression\n" "but require more RAM usage and more processing time." -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "Gerber General" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" -msgstr "Plot Options:" +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" +msgstr "Plot Options" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "Solid" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "Solid color polygons." -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "M-Color" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "Draw polygons in different colors." -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "Plot" -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "Plot (show) this object." -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" -msgstr "Circle Steps:" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" +msgstr "Circle Steps" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -7093,15 +7145,15 @@ msgstr "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "Gerber Options" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" -msgstr "Isolation Routing:" +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" +msgstr "Isolation Routing" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7109,17 +7161,23 @@ msgstr "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "Tool dia" + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "Diameter of the cutting tool." -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" -msgstr "Width (# passes):" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" +msgstr "# Passes" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7127,11 +7185,11 @@ msgstr "" "Width of the isolation gap in\n" "number (integer) of tool widths." -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" -msgstr "Pass overlap:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" +msgstr "Pass overlap" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7144,11 +7202,11 @@ msgstr "" "A value here of 0.25 means an overlap of 25% from the tool diameter found " "above." -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" -msgstr "Milling Type:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" +msgstr "Milling Type" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7158,41 +7216,46 @@ msgstr "" "- climb / best for precision milling and to reduce tool usage\n" "- conventional / useful when there is no backlash compensation" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "Climb" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "Conv." -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "Combine Passes" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "Combine all passes into one object" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" -msgstr "Clear non-copper:" +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" +msgstr "Non-copper regions" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" -msgstr "Boundary Margin:" +msgid "Boundary Margin" +msgstr "Boundary Margin" -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7204,23 +7267,21 @@ msgstr "" "objects with this minimum\n" "distance." -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" -msgstr "Rounded corners" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" +msgstr "Rounded Geo" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." -msgstr "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." +msgstr "Resulting geometry will have rounded corners." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" -msgstr "Bounding Box:" +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" +msgstr "Bounding Box" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7228,7 +7289,7 @@ msgstr "" "Distance of the edges of the box\n" "to the nearest polygon." -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7240,15 +7301,15 @@ msgstr "" "their radius is equal to\n" "the margin." -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "Gerber Adv. Options" -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" -msgstr "Advanced Param.:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." +msgstr "Advanced Param." -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -7258,11 +7319,11 @@ msgstr "" "Those parameters are available only for\n" "Advanced App. Level." -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "\"Follow\"" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7272,11 +7333,11 @@ msgstr "" "This means that it will cut through\n" "the middle of the trace." -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "Table Show/Hide" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -7286,15 +7347,15 @@ msgstr "" "Also, on hide, it will delete all mark shapes\n" "that are drawn on canvas." -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "Gerber Export" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" -msgstr "Export Options:" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" +msgstr "Export Options" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -7302,25 +7363,21 @@ msgstr "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "Units:" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "The units used in the Gerber file." -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "INCH" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" -msgstr "Int/Decimals:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" +msgstr "Int/Decimals" -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -7328,7 +7385,7 @@ msgstr "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -7336,7 +7393,7 @@ msgstr "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -7344,11 +7401,11 @@ msgstr "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" -msgstr "Zeros:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" +msgstr "Zeros" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7362,1190 +7419,1374 @@ msgstr "" "If TZ is checked then Trailing Zeros are removed\n" "and Leading Zeros are kept." -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" -msgstr "Parameters:" - -#: flatcamGUI/FlatCAMGUI.py:4500 -msgid "A list of Gerber Editor parameters." -msgstr "A list of Gerber Editor parameters." - -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" -msgstr "Selection limit:" - -#: flatcamGUI/FlatCAMGUI.py:4510 -msgid "" -"Set the number of selected Gerber geometry\n" -"items above which the utility geometry\n" -"becomes just a selection rectangle.\n" -"Increases the performance when moving a\n" -"large number of geometric elements." -msgstr "" -"Set the number of selected Gerber geometry\n" -"items above which the utility geometry\n" -"becomes just a selection rectangle.\n" -"Increases the performance when moving a\n" -"large number of geometric elements." - -#: flatcamGUI/FlatCAMGUI.py:4530 -msgid "Excellon General" -msgstr "Excellon General" - -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" -msgstr "Excellon Format:" - -#: flatcamGUI/FlatCAMGUI.py:4554 -msgid "" -"The NC drill files, usually named Excellon files\n" -"are files that can be found in different formats.\n" -"Here we set the format used when the provided\n" -"coordinates are not using period.\n" -"\n" -"Possible presets:\n" -"\n" -"PROTEUS 3:3 MM LZ\n" -"DipTrace 5:2 MM TZ\n" -"DipTrace 4:3 MM LZ\n" -"\n" -"EAGLE 3:3 MM TZ\n" -"EAGLE 4:3 MM TZ\n" -"EAGLE 2:5 INCH TZ\n" -"EAGLE 3:5 INCH TZ\n" -"\n" -"ALTIUM 2:4 INCH LZ\n" -"Sprint Layout 2:4 INCH LZ\n" -"KiCAD 3:5 INCH TZ" -msgstr "" -"The NC drill files, usually named Excellon files\n" -"are files that can be found in different formats.\n" -"Here we set the format used when the provided\n" -"coordinates are not using period.\n" -"\n" -"Possible presets:\n" -"\n" -"PROTEUS 3:3 MM LZ\n" -"DipTrace 5:2 MM TZ\n" -"DipTrace 4:3 MM LZ\n" -"\n" -"EAGLE 3:3 MM TZ\n" -"EAGLE 4:3 MM TZ\n" -"EAGLE 2:5 INCH TZ\n" -"EAGLE 3:5 INCH TZ\n" -"\n" -"ALTIUM 2:4 INCH LZ\n" -"Sprint Layout 2:4 INCH LZ\n" -"KiCAD 3:5 INCH TZ" - -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "INCH:" - -#: flatcamGUI/FlatCAMGUI.py:4582 -msgid "Default values for INCH are 2:4" -msgstr "Default values for INCH are 2:4" - -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 -msgid "" -"This numbers signify the number of digits in\n" -"the whole part of Excellon coordinates." -msgstr "" -"This numbers signify the number of digits in\n" -"the whole part of Excellon coordinates." - -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 -msgid "" -"This numbers signify the number of digits in\n" -"the decimal part of Excellon coordinates." -msgstr "" -"This numbers signify the number of digits in\n" -"the decimal part of Excellon coordinates." - -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" -msgstr "METRIC:" - -#: flatcamGUI/FlatCAMGUI.py:4615 -msgid "Default values for METRIC are 3:3" -msgstr "Default values for METRIC are 3:3" - -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" -msgstr "Default Zeros:" - -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 -msgid "" -"This sets the type of Excellon zeros.\n" -"If LZ then Leading Zeros are kept and\n" -"Trailing Zeros are removed.\n" -"If TZ is checked then Trailing Zeros are kept\n" -"and Leading Zeros are removed." -msgstr "" -"This sets the type of Excellon zeros.\n" -"If LZ then Leading Zeros are kept and\n" -"Trailing Zeros are removed.\n" -"If TZ is checked then Trailing Zeros are kept\n" -"and Leading Zeros are removed." - -#: flatcamGUI/FlatCAMGUI.py:4660 -msgid "" -"This sets the default type of Excellon zeros.\n" -"If it is not detected in the parsed file the value here\n" -"will be used.If LZ then Leading Zeros are kept and\n" -"Trailing Zeros are removed.\n" -"If TZ is checked then Trailing Zeros are kept\n" -"and Leading Zeros are removed." -msgstr "" -"This sets the default type of Excellon zeros.\n" -"If it is not detected in the parsed file the value here\n" -"will be used.If LZ then Leading Zeros are kept and\n" -"Trailing Zeros are removed.\n" -"If TZ is checked then Trailing Zeros are kept\n" -"and Leading Zeros are removed." - -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" -msgstr "Default Units:" - -#: flatcamGUI/FlatCAMGUI.py:4673 -msgid "" -"This sets the default units of Excellon files.\n" -"If it is not detected in the parsed file the value here\n" -"will be used.Some Excellon files don't have an header\n" -"therefore this parameter will be used." -msgstr "" -"This sets the default units of Excellon files.\n" -"If it is not detected in the parsed file the value here\n" -"will be used.Some Excellon files don't have an header\n" -"therefore this parameter will be used." - -#: flatcamGUI/FlatCAMGUI.py:4684 -msgid "" -"This sets the units of Excellon files.\n" -"Some Excellon files don't have an header\n" -"therefore this parameter will be used." -msgstr "" -"This sets the units of Excellon files.\n" -"Some Excellon files don't have an header\n" -"therefore this parameter will be used." - -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" -msgstr "Excellon Optimization:" - -#: flatcamGUI/FlatCAMGUI.py:4695 -msgid "Algorithm: " -msgstr "Algorithm: " - -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 -msgid "" -"This sets the optimization type for the Excellon drill path.\n" -"If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" -"Guided Local Path is used. Default search time is 3sec.\n" -"Use set_sys excellon_search_time value Tcl Command to set other values.\n" -"If Basic is checked then Google OR-Tools Basic algorithm is used.\n" -"\n" -"If DISABLED, then FlatCAM works in 32bit mode and it uses \n" -"Travelling Salesman algorithm for path optimization." -msgstr "" -"This sets the optimization type for the Excellon drill path.\n" -"If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" -"Guided Local Path is used. Default search time is 3sec.\n" -"Use set_sys excellon_search_time value Tcl Command to set other values.\n" -"If Basic is checked then Google OR-Tools Basic algorithm is used.\n" -"\n" -"If DISABLED, then FlatCAM works in 32bit mode and it uses \n" -"Travelling Salesman algorithm for path optimization." - -#: flatcamGUI/FlatCAMGUI.py:4708 -msgid "MH" -msgstr "MH" - -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " -msgstr "Optimization Time: " - -#: flatcamGUI/FlatCAMGUI.py:4725 -msgid "" -"When OR-Tools Metaheuristic (MH) is enabled there is a\n" -"maximum threshold for how much time is spent doing the\n" -"path optimization. This max duration is set here.\n" -"In seconds." -msgstr "" -"When OR-Tools Metaheuristic (MH) is enabled there is a\n" -"maximum threshold for how much time is spent doing the\n" -"path optimization. This max duration is set here.\n" -"In seconds." - -#: flatcamGUI/FlatCAMGUI.py:4768 -msgid "Excellon Options" -msgstr "Excellon Options" - -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" -msgstr "Create CNC Job" - -#: flatcamGUI/FlatCAMGUI.py:4773 -msgid "" -"Parameters used to create a CNC Job object\n" -"for this drill object." -msgstr "" -"Parameters used to create a CNC Job object\n" -"for this drill object." - -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" -msgstr "Cut Z:" - -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 -msgid "" -"Drill depth (negative)\n" -"below the copper surface." -msgstr "" -"Drill depth (negative)\n" -"below the copper surface." - -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" -msgstr "Travel Z:" - -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 -msgid "" -"Tool height when travelling\n" -"across the XY plane." -msgstr "" -"Tool height when travelling\n" -"across the XY plane." - -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" -msgstr "Tool change:" - -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 -msgid "" -"Include tool-change sequence\n" -"in G-Code (Pause for tool change)." -msgstr "" -"Include tool-change sequence\n" -"in G-Code (Pause for tool change)." - -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" -msgstr "Toolchange Z:" - -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." -msgstr "Toolchange Z position." - -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" -msgstr "Feedrate:" - -#: flatcamGUI/FlatCAMGUI.py:4819 -msgid "" -"Tool speed while drilling\n" -"(in units per minute)." -msgstr "" -"Tool speed while drilling\n" -"(in units per minute)." - -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" -msgstr "Spindle Speed:" - -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 -msgid "" -"Speed of the spindle\n" -"in RPM (optional)" -msgstr "" -"Speed of the spindle\n" -"in RPM (optional)" - -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" -msgstr "Spindle dir.:" - -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 -msgid "" -"This sets the direction that the spindle is rotating.\n" -"It can be either:\n" -"- CW = clockwise or\n" -"- CCW = counter clockwise" -msgstr "" -"This sets the direction that the spindle is rotating.\n" -"It can be either:\n" -"- CW = clockwise or\n" -"- CCW = counter clockwise" - -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" -msgstr "Dwell:" - -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 -msgid "" -"Pause to allow the spindle to reach its\n" -"speed before cutting." -msgstr "" -"Pause to allow the spindle to reach its\n" -"speed before cutting." - -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 -msgid "Duration:" -msgstr "Duration:" - -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." -msgstr "Number of milliseconds for spindle to dwell." - -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" -msgstr "Postprocessor:" - -#: flatcamGUI/FlatCAMGUI.py:4872 -msgid "" -"The postprocessor file that dictates\n" -"gcode output." -msgstr "" -"The postprocessor file that dictates\n" -"gcode output." - -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " -msgstr "Gcode: " - -#: flatcamGUI/FlatCAMGUI.py:4883 -msgid "" -"Choose what to use for GCode generation:\n" -"'Drills', 'Slots' or 'Both'.\n" -"When choosing 'Slots' or 'Both', slots will be\n" -"converted to drills." -msgstr "" -"Choose what to use for GCode generation:\n" -"'Drills', 'Slots' or 'Both'.\n" -"When choosing 'Slots' or 'Both', slots will be\n" -"converted to drills." - -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" -msgstr "Mill Holes" - -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 -msgid "Create Geometry for milling holes." -msgstr "Create Geometry for milling holes." - -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" -msgstr "Drill Tool dia:" - -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" -msgstr "Slot Tool dia:" - -#: flatcamGUI/FlatCAMGUI.py:4914 -msgid "" -"Diameter of the cutting tool\n" -"when milling slots." -msgstr "" -"Diameter of the cutting tool\n" -"when milling slots." - -#: flatcamGUI/FlatCAMGUI.py:4926 -msgid "Defaults" -msgstr "Defaults" - -#: flatcamGUI/FlatCAMGUI.py:4939 -msgid "Excellon Adv. Options" -msgstr "Excellon Adv. Options" - -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" -msgstr "Advanced Options:" - -#: flatcamGUI/FlatCAMGUI.py:4947 -msgid "" -"Parameters used to create a CNC Job object\n" -"for this drill object that are shown when App Level is Advanced." -msgstr "" -"Parameters used to create a CNC Job object\n" -"for this drill object that are shown when App Level is Advanced." - -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" -msgstr "Offset Z:" - -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 -msgid "" -"Some drill bits (the larger ones) need to drill deeper\n" -"to create the desired exit hole diameter due of the tip shape.\n" -"The value here can compensate the Cut Z parameter." -msgstr "" -"Some drill bits (the larger ones) need to drill deeper\n" -"to create the desired exit hole diameter due of the tip shape.\n" -"The value here can compensate the Cut Z parameter." - -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" -msgstr "Toolchange X,Y:" - -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 -msgid "Toolchange X,Y position." -msgstr "Toolchange X,Y position." - -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 -#: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" -msgstr "Start move Z:" - -#: flatcamGUI/FlatCAMGUI.py:4974 -msgid "" -"Height of the tool just after start.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Height of the tool just after start.\n" -"Delete the value if you don't need this feature." - -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" -msgstr "End move Z:" - -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 -msgid "" -"Height of the tool after\n" -"the last move at the end of the job." -msgstr "" -"Height of the tool after\n" -"the last move at the end of the job." - -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" -msgstr "Feedrate Rapids:" - -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." - -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" -msgstr "Probe Z depth:" - -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 -msgid "" -"The maximum depth that the probe is allowed\n" -"to probe. Negative value, in current units." -msgstr "" -"The maximum depth that the probe is allowed\n" -"to probe. Negative value, in current units." - -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" -msgstr "Feedrate Probe:" - -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 -msgid "The feedrate used while the probe is probing." -msgstr "The feedrate used while the probe is probing." - -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 -msgid "Fast Plunge:" -msgstr "Fast Plunge:" - -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 -msgid "" -"By checking this, the vertical move from\n" -"Z_Toolchange to Z_move is done with G0,\n" -"meaning the fastest speed available.\n" -"WARNING: the move is done at Toolchange X,Y coords." -msgstr "" -"By checking this, the vertical move from\n" -"Z_Toolchange to Z_move is done with G0,\n" -"meaning the fastest speed available.\n" -"WARNING: the move is done at Toolchange X,Y coords." - -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" -msgstr "Fast Retract:" - -#: flatcamGUI/FlatCAMGUI.py:5034 -msgid "" -"Exit hole strategy.\n" -" - When uncheked, while exiting the drilled hole the drill bit\n" -"will travel slow, with set feedrate (G1), up to zero depth and then\n" -"travel as fast as possible (G0) to the Z Move (travel height).\n" -" - When checked the travel from Z cut (cut depth) to Z_move\n" -"(travel height) is done as fast as possible (G0) in one move." -msgstr "" -"Exit hole strategy.\n" -" - When uncheked, while exiting the drilled hole the drill bit\n" -"will travel slow, with set feedrate (G1), up to zero depth and then\n" -"travel as fast as possible (G0) to the Z Move (travel height).\n" -" - When checked the travel from Z cut (cut depth) to Z_move\n" -"(travel height) is done as fast as possible (G0) in one move." - -#: flatcamGUI/FlatCAMGUI.py:5053 -msgid "Excellon Export" -msgstr "Excellon Export" - -#: flatcamGUI/FlatCAMGUI.py:5058 -msgid "" -"The parameters set here are used in the file exported\n" -"when using the File -> Export -> Export Excellon menu entry." -msgstr "" -"The parameters set here are used in the file exported\n" -"when using the File -> Export -> Export Excellon menu entry." - -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 -msgid "The units used in the Excellon file." -msgstr "The units used in the Excellon file." - -#: flatcamGUI/FlatCAMGUI.py:5083 -msgid "" -"The NC drill files, usually named Excellon files\n" -"are files that can be found in different formats.\n" -"Here we set the format used when the provided\n" -"coordinates are not using period." -msgstr "" -"The NC drill files, usually named Excellon files\n" -"are files that can be found in different formats.\n" -"Here we set the format used when the provided\n" -"coordinates are not using period." - -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" -msgstr "Format:" - -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 -msgid "" -"Select the kind of coordinates format used.\n" -"Coordinates can be saved with decimal point or without.\n" -"When there is no decimal point, it is required to specify\n" -"the number of digits for integer part and the number of decimals.\n" -"Also it will have to be specified if LZ = leading zeros are kept\n" -"or TZ = trailing zeros are kept." -msgstr "" -"Select the kind of coordinates format used.\n" -"Coordinates can be saved with decimal point or without.\n" -"When there is no decimal point, it is required to specify\n" -"the number of digits for integer part and the number of decimals.\n" -"Also it will have to be specified if LZ = leading zeros are kept\n" -"or TZ = trailing zeros are kept." - -#: flatcamGUI/FlatCAMGUI.py:5128 -msgid "Decimal" -msgstr "Decimal" - -#: flatcamGUI/FlatCAMGUI.py:5129 -msgid "No-Decimal" -msgstr "No-Decimal" - -#: flatcamGUI/FlatCAMGUI.py:5155 -msgid "" -"This sets the default type of Excellon zeros.\n" -"If LZ then Leading Zeros are kept and\n" -"Trailing Zeros are removed.\n" -"If TZ is checked then Trailing Zeros are kept\n" -"and Leading Zeros are removed." -msgstr "" -"This sets the default type of Excellon zeros.\n" -"If LZ then Leading Zeros are kept and\n" -"Trailing Zeros are removed.\n" -"If TZ is checked then Trailing Zeros are kept\n" -"and Leading Zeros are removed." - -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" -msgstr "Slot type:" - -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 -msgid "" -"This sets how the slots will be exported.\n" -"If ROUTED then the slots will be routed\n" -"using M15/M16 commands.\n" -"If DRILLED(G85) the slots will be exported\n" -"using the Drilled slot command (G85)." -msgstr "" -"This sets how the slots will be exported.\n" -"If ROUTED then the slots will be routed\n" -"using M15/M16 commands.\n" -"If DRILLED(G85) the slots will be exported\n" -"using the Drilled slot command (G85)." - -#: flatcamGUI/FlatCAMGUI.py:5175 -msgid "Routed" -msgstr "Routed" - -#: flatcamGUI/FlatCAMGUI.py:5176 -msgid "Drilled(G85)" -msgstr "Drilled(G85)" - -#: flatcamGUI/FlatCAMGUI.py:5208 -msgid "A list of Excellon Editor parameters." -msgstr "A list of Excellon Editor parameters." - -#: flatcamGUI/FlatCAMGUI.py:5218 -msgid "" -"Set the number of selected Excellon geometry\n" -"items above which the utility geometry\n" -"becomes just a selection rectangle.\n" -"Increases the performance when moving a\n" -"large number of geometric elements." -msgstr "" -"Set the number of selected Excellon geometry\n" -"items above which the utility geometry\n" -"becomes just a selection rectangle.\n" -"Increases the performance when moving a\n" -"large number of geometric elements." - -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" -msgstr "New Tool Dia:" - -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" -msgstr "Linear Drill Array:" - -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 -msgid "Linear Dir.:" -msgstr "Linear Dir.:" - -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" -msgstr "Circular Drill Array:" - -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" -msgstr "Circular Dir.:" - -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." -msgstr "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." - -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" -msgstr "Circ. Angle:" - -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" -msgstr "Slots:" - -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" -msgstr "Linear Slot Array:" - -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" -msgstr "Circular Slot Array:" - -#: flatcamGUI/FlatCAMGUI.py:5458 -msgid "Geometry General" -msgstr "Geometry General" - -#: flatcamGUI/FlatCAMGUI.py:5477 -msgid "" -"The number of circle steps for Geometry \n" -"circle and arc shapes linear approximation." -msgstr "" -"The number of circle steps for Geometry \n" -"circle and arc shapes linear approximation." - -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "Tools:" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Diameters of the cutting tools, separated by ','" - -#: flatcamGUI/FlatCAMGUI.py:5505 -msgid "Geometry Options" -msgstr "Geometry Options" - -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr "Create CNC Job:" - -#: flatcamGUI/FlatCAMGUI.py:5512 -msgid "" -"Create a CNC Job object\n" -"tracing the contours of this\n" -"Geometry object." -msgstr "" -"Create a CNC Job object\n" -"tracing the contours of this\n" -"Geometry object." - -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 -msgid "" -"Cutting depth (negative)\n" -"below the copper surface." -msgstr "" -"Cutting depth (negative)\n" -"below the copper surface." - -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" -msgstr "Multidepth" - -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." -msgstr "Multidepth usage: True or False." - -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" -msgstr "Depth/Pass:" - -#: flatcamGUI/FlatCAMGUI.py:5541 -msgid "" -"The depth to cut on each pass,\n" -"when multidepth is enabled.\n" -"It has positive value although\n" -"it is a fraction from the depth\n" -"which has negative value." -msgstr "" -"The depth to cut on each pass,\n" -"when multidepth is enabled.\n" -"It has positive value although\n" -"it is a fraction from the depth\n" -"which has negative value." - -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 -msgid "" -"Height of the tool when\n" -"moving without cutting." -msgstr "" -"Height of the tool when\n" -"moving without cutting." - -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" -msgstr "Feed Rate X-Y:" - -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute" -msgstr "" -"Cutting speed in the XY\n" -"plane in units per minute" - -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" -msgstr "Feed Rate Z:" - -#: flatcamGUI/FlatCAMGUI.py:5596 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute.\n" -"It is called also Plunge." -msgstr "" -"Cutting speed in the XY\n" -"plane in units per minute.\n" -"It is called also Plunge." - -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" -msgstr "Spindle speed:" - -#: flatcamGUI/FlatCAMGUI.py:5648 -msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." -msgstr "" -"The postprocessor file that dictates\n" -"Machine Code output." - -#: flatcamGUI/FlatCAMGUI.py:5664 -msgid "Geometry Adv. Options" -msgstr "Geometry Adv. Options" - -#: flatcamGUI/FlatCAMGUI.py:5671 -msgid "" -"Parameters to create a CNC Job object\n" -"tracing the contours of a Geometry object." -msgstr "" -"Parameters to create a CNC Job object\n" -"tracing the contours of a Geometry object." - -#: flatcamGUI/FlatCAMGUI.py:5691 -msgid "" -"Height of the tool just after starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Height of the tool just after starting the work.\n" -"Delete the value if you don't need this feature." - -#: flatcamGUI/FlatCAMGUI.py:5711 -msgid "" -"Cutting speed in the XY plane\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Cutting speed in the XY plane\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." - -#: flatcamGUI/FlatCAMGUI.py:5723 -msgid "Re-cut 1st pt." -msgstr "Re-cut 1st pt." - -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 -msgid "" -"In order to remove possible\n" -"copper leftovers where first cut\n" -"meet with last cut, we generate an\n" -"extended cut over the first cut section." -msgstr "" -"In order to remove possible\n" -"copper leftovers where first cut\n" -"meet with last cut, we generate an\n" -"extended cut over the first cut section." - -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" -msgstr "Seg. X size:" - -#: flatcamGUI/FlatCAMGUI.py:5766 -msgid "" -"The size of the trace segment on the X axis.\n" -"Useful for auto-leveling.\n" -"A value of 0 means no segmentation on the X axis." -msgstr "" -"The size of the trace segment on the X axis.\n" -"Useful for auto-leveling.\n" -"A value of 0 means no segmentation on the X axis." - -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" -msgstr "Seg. Y size:" - -#: flatcamGUI/FlatCAMGUI.py:5777 -msgid "" -"The size of the trace segment on the Y axis.\n" -"Useful for auto-leveling.\n" -"A value of 0 means no segmentation on the Y axis." -msgstr "" -"The size of the trace segment on the Y axis.\n" -"Useful for auto-leveling.\n" -"A value of 0 means no segmentation on the Y axis." - -#: flatcamGUI/FlatCAMGUI.py:5793 -msgid "Geometry Editor" -msgstr "Geometry Editor" - -#: flatcamGUI/FlatCAMGUI.py:5798 -msgid "A list of Geometry Editor parameters." -msgstr "A list of Geometry Editor parameters." - -#: flatcamGUI/FlatCAMGUI.py:5808 -msgid "" -"Set the number of selected geometry\n" -"items above which the utility geometry\n" -"becomes just a selection rectangle.\n" -"Increases the performance when moving a\n" -"large number of geometric elements." -msgstr "" -"Set the number of selected geometry\n" -"items above which the utility geometry\n" -"becomes just a selection rectangle.\n" -"Increases the performance when moving a\n" -"large number of geometric elements." - -#: flatcamGUI/FlatCAMGUI.py:5827 -msgid "CNC Job General" -msgstr "CNC Job General" - -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 -msgid "Plot Object" -msgstr "Plot Object" - -#: flatcamGUI/FlatCAMGUI.py:5847 -msgid "Plot kind:" -msgstr "Plot kind:" - -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 -msgid "" -"This selects the kind of geometries on the canvas to plot.\n" -"Those can be either of type 'Travel' which means the moves\n" -"above the work piece or it can be of type 'Cut',\n" -"which means the moves that cut into the material." -msgstr "" -"This selects the kind of geometries on the canvas to plot.\n" -"Those can be either of type 'Travel' which means the moves\n" -"above the work piece or it can be of type 'Cut',\n" -"which means the moves that cut into the material." - -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 -msgid "Travel" -msgstr "Travel" - -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" -msgstr "Display Annotation:" - -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 -msgid "" -"This selects if to display text annotation on the plot.\n" -"When checked it will display numbers in order for each end\n" -"of a travel line." -msgstr "" -"This selects if to display text annotation on the plot.\n" -"When checked it will display numbers in order for each end\n" -"of a travel line." - -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" -msgstr "Annotation Size:" - -#: flatcamGUI/FlatCAMGUI.py:5882 -msgid "The font size of the annotation text. In pixels." -msgstr "The font size of the annotation text. In pixels." - -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" -msgstr "Annotation Color:" - -#: flatcamGUI/FlatCAMGUI.py:5892 -msgid "Set the font color for the annotation texts." -msgstr "Set the font color for the annotation texts." - -#: flatcamGUI/FlatCAMGUI.py:5915 -msgid "" -"The number of circle steps for GCode \n" -"circle and arc shapes linear approximation." -msgstr "" -"The number of circle steps for GCode \n" -"circle and arc shapes linear approximation." - -#: flatcamGUI/FlatCAMGUI.py:5925 -msgid "" -"Diameter of the tool to be\n" -"rendered in the plot." -msgstr "" -"Diameter of the tool to be\n" -"rendered in the plot." - -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" -msgstr "Coords dec.:" - -#: flatcamGUI/FlatCAMGUI.py:5935 -msgid "" -"The number of decimals to be used for \n" -"the X, Y, Z coordinates in CNC code (GCODE, etc.)" -msgstr "" -"The number of decimals to be used for \n" -"the X, Y, Z coordinates in CNC code (GCODE, etc.)" - -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" -msgstr "Feedrate dec.:" - -#: flatcamGUI/FlatCAMGUI.py:5945 -msgid "" -"The number of decimals to be used for \n" -"the Feedrate parameter in CNC code (GCODE, etc.)" -msgstr "" -"The number of decimals to be used for \n" -"the Feedrate parameter in CNC code (GCODE, etc.)" - -#: flatcamGUI/FlatCAMGUI.py:5960 -msgid "CNC Job Options" -msgstr "CNC Job Options" - -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" -msgstr "Export G-Code:" - -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 -msgid "" -"Export and save G-Code to\n" -"make this object to a file." -msgstr "" -"Export and save G-Code to\n" -"make this object to a file." - -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" -msgstr "Prepend to G-Code:" - -#: flatcamGUI/FlatCAMGUI.py:5973 -msgid "" -"Type here any G-Code commands you would\n" -"like to add at the beginning of the G-Code file." -msgstr "" -"Type here any G-Code commands you would\n" -"like to add at the beginning of the G-Code file." - -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" -msgstr "Append to G-Code:" - -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 -msgid "" -"Type here any G-Code commands you would\n" -"like to append to the generated file.\n" -"I.e.: M2 (End of program)" -msgstr "" -"Type here any G-Code commands you would\n" -"like to append to the generated file.\n" -"I.e.: M2 (End of program)" - -#: flatcamGUI/FlatCAMGUI.py:6001 -msgid "CNC Job Adv. Options" -msgstr "CNC Job Adv. Options" - -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" -msgstr "Toolchange G-Code:" - -#: flatcamGUI/FlatCAMGUI.py:6014 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." -msgstr "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." - -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 -msgid "Use Toolchange Macro" -msgstr "Use Toolchange Macro" - -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 -msgid "" -"Check this box if you want to use\n" -"a Custom Toolchange GCode (macro)." -msgstr "" -"Check this box if you want to use\n" -"a Custom Toolchange GCode (macro)." - -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 -msgid "" -"A list of the FlatCAM variables that can be used\n" -"in the Toolchange event.\n" -"They have to be surrounded by the '%' symbol" -msgstr "" -"A list of the FlatCAM variables that can be used\n" -"in the Toolchange event.\n" -"They have to be surrounded by the '%' symbol" - -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 msgid "Parameters" msgstr "Parameters" -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:4569 +msgid "A list of Gerber Editor parameters." +msgstr "A list of Gerber Editor parameters." + +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" +msgstr "Selection limit" + +#: flatcamGUI/FlatCAMGUI.py:4579 +msgid "" +"Set the number of selected Gerber geometry\n" +"items above which the utility geometry\n" +"becomes just a selection rectangle.\n" +"Increases the performance when moving a\n" +"large number of geometric elements." +msgstr "" +"Set the number of selected Gerber geometry\n" +"items above which the utility geometry\n" +"becomes just a selection rectangle.\n" +"Increases the performance when moving a\n" +"large number of geometric elements." + +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "New Aperture code" + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "New Aperture size" + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "Size for the new aperture" + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "New Aperture type" + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "Aperture Dimensions" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "Diameters of the cutting tools, separated by ','" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +msgid "%s:" +msgstr "%s:" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "Linear Dir." + +#: flatcamGUI/FlatCAMGUI.py:4686 +msgid "Circular Pad Array" +msgstr "Circular Pad Array" + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "Circular Dir." + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "Circ. Angle" + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "Distance at which to buffer the Gerber element." + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "Scale Tool" + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "Factor to scale the Gerber element." + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "Mark Area Tool" + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "Threshold low" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "Threshold value under which the apertures are not marked." + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "Threshold value over which the apertures are not marked." + +#: flatcamGUI/FlatCAMGUI.py:4770 +msgid "Excellon General" +msgstr "Excellon General" + +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" +msgstr "Excellon Format" + +#: flatcamGUI/FlatCAMGUI.py:4794 +msgid "" +"The NC drill files, usually named Excellon files\n" +"are files that can be found in different formats.\n" +"Here we set the format used when the provided\n" +"coordinates are not using period.\n" +"\n" +"Possible presets:\n" +"\n" +"PROTEUS 3:3 MM LZ\n" +"DipTrace 5:2 MM TZ\n" +"DipTrace 4:3 MM LZ\n" +"\n" +"EAGLE 3:3 MM TZ\n" +"EAGLE 4:3 MM TZ\n" +"EAGLE 2:5 INCH TZ\n" +"EAGLE 3:5 INCH TZ\n" +"\n" +"ALTIUM 2:4 INCH LZ\n" +"Sprint Layout 2:4 INCH LZ\n" +"KiCAD 3:5 INCH TZ" +msgstr "" +"The NC drill files, usually named Excellon files\n" +"are files that can be found in different formats.\n" +"Here we set the format used when the provided\n" +"coordinates are not using period.\n" +"\n" +"Possible presets:\n" +"\n" +"PROTEUS 3:3 MM LZ\n" +"DipTrace 5:2 MM TZ\n" +"DipTrace 4:3 MM LZ\n" +"\n" +"EAGLE 3:3 MM TZ\n" +"EAGLE 4:3 MM TZ\n" +"EAGLE 2:5 INCH TZ\n" +"EAGLE 3:5 INCH TZ\n" +"\n" +"ALTIUM 2:4 INCH LZ\n" +"Sprint Layout 2:4 INCH LZ\n" +"KiCAD 3:5 INCH TZ" + +#: flatcamGUI/FlatCAMGUI.py:4822 +msgid "Default values for INCH are 2:4" +msgstr "Default values for INCH are 2:4" + +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 +msgid "" +"This numbers signify the number of digits in\n" +"the whole part of Excellon coordinates." +msgstr "" +"This numbers signify the number of digits in\n" +"the whole part of Excellon coordinates." + +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 +msgid "" +"This numbers signify the number of digits in\n" +"the decimal part of Excellon coordinates." +msgstr "" +"This numbers signify the number of digits in\n" +"the decimal part of Excellon coordinates." + +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" +msgstr "METRIC" + +#: flatcamGUI/FlatCAMGUI.py:4855 +msgid "Default values for METRIC are 3:3" +msgstr "Default values for METRIC are 3:3" + +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" +msgstr "Default Zeros" + +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 +msgid "" +"This sets the type of Excellon zeros.\n" +"If LZ then Leading Zeros are kept and\n" +"Trailing Zeros are removed.\n" +"If TZ is checked then Trailing Zeros are kept\n" +"and Leading Zeros are removed." +msgstr "" +"This sets the type of Excellon zeros.\n" +"If LZ then Leading Zeros are kept and\n" +"Trailing Zeros are removed.\n" +"If TZ is checked then Trailing Zeros are kept\n" +"and Leading Zeros are removed." + +#: flatcamGUI/FlatCAMGUI.py:4900 +msgid "" +"This sets the default type of Excellon zeros.\n" +"If it is not detected in the parsed file the value here\n" +"will be used.If LZ then Leading Zeros are kept and\n" +"Trailing Zeros are removed.\n" +"If TZ is checked then Trailing Zeros are kept\n" +"and Leading Zeros are removed." +msgstr "" +"This sets the default type of Excellon zeros.\n" +"If it is not detected in the parsed file the value here\n" +"will be used.If LZ then Leading Zeros are kept and\n" +"Trailing Zeros are removed.\n" +"If TZ is checked then Trailing Zeros are kept\n" +"and Leading Zeros are removed." + +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" +msgstr "Default Units" + +#: flatcamGUI/FlatCAMGUI.py:4913 +msgid "" +"This sets the default units of Excellon files.\n" +"If it is not detected in the parsed file the value here\n" +"will be used.Some Excellon files don't have an header\n" +"therefore this parameter will be used." +msgstr "" +"This sets the default units of Excellon files.\n" +"If it is not detected in the parsed file the value here\n" +"will be used.Some Excellon files don't have an header\n" +"therefore this parameter will be used." + +#: flatcamGUI/FlatCAMGUI.py:4924 +msgid "" +"This sets the units of Excellon files.\n" +"Some Excellon files don't have an header\n" +"therefore this parameter will be used." +msgstr "" +"This sets the units of Excellon files.\n" +"Some Excellon files don't have an header\n" +"therefore this parameter will be used." + +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" +msgstr "Excellon Optimization" + +#: flatcamGUI/FlatCAMGUI.py:4935 +msgid "Algorithm: " +msgstr "Algorithm: " + +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 +msgid "" +"This sets the optimization type for the Excellon drill path.\n" +"If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" +"Guided Local Path is used. Default search time is 3sec.\n" +"Use set_sys excellon_search_time value Tcl Command to set other values.\n" +"If Basic is checked then Google OR-Tools Basic algorithm is used.\n" +"\n" +"If DISABLED, then FlatCAM works in 32bit mode and it uses \n" +"Travelling Salesman algorithm for path optimization." +msgstr "" +"This sets the optimization type for the Excellon drill path.\n" +"If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" +"Guided Local Path is used. Default search time is 3sec.\n" +"Use set_sys excellon_search_time value Tcl Command to set other values.\n" +"If Basic is checked then Google OR-Tools Basic algorithm is used.\n" +"\n" +"If DISABLED, then FlatCAM works in 32bit mode and it uses \n" +"Travelling Salesman algorithm for path optimization." + +#: flatcamGUI/FlatCAMGUI.py:4948 +msgid "MH" +msgstr "MH" + +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" +msgstr "Optimization Time" + +#: flatcamGUI/FlatCAMGUI.py:4965 +msgid "" +"When OR-Tools Metaheuristic (MH) is enabled there is a\n" +"maximum threshold for how much time is spent doing the\n" +"path optimization. This max duration is set here.\n" +"In seconds." +msgstr "" +"When OR-Tools Metaheuristic (MH) is enabled there is a\n" +"maximum threshold for how much time is spent doing the\n" +"path optimization. This max duration is set here.\n" +"In seconds." + +#: flatcamGUI/FlatCAMGUI.py:5008 +msgid "Excellon Options" +msgstr "Excellon Options" + +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" +msgstr "Create CNC Job" + +#: flatcamGUI/FlatCAMGUI.py:5013 +msgid "" +"Parameters used to create a CNC Job object\n" +"for this drill object." +msgstr "" +"Parameters used to create a CNC Job object\n" +"for this drill object." + +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" +msgstr "Cut Z" + +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 +msgid "" +"Drill depth (negative)\n" +"below the copper surface." +msgstr "" +"Drill depth (negative)\n" +"below the copper surface." + +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" +msgstr "Travel Z" + +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 +msgid "" +"Tool height when travelling\n" +"across the XY plane." +msgstr "" +"Tool height when travelling\n" +"across the XY plane." + +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" +msgstr "Tool change" + +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 +msgid "" +"Include tool-change sequence\n" +"in G-Code (Pause for tool change)." +msgstr "" +"Include tool-change sequence\n" +"in G-Code (Pause for tool change)." + +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" +msgstr "Toolchange Z" + +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "" +"Z-axis position (height) for\n" +"tool change." + +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" +msgstr "Feedrate (Plunge):" + +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 +msgid "" +"Tool speed while drilling\n" +"(in units per minute).\n" +"This is for linear move G01." +msgstr "" +"Tool speed while drilling\n" +"(in units per minute).\n" +"This is for linear move G01." + +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" +msgstr "Spindle Speed" + +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 +msgid "" +"Speed of the spindle\n" +"in RPM (optional)" +msgstr "" +"Speed of the spindle\n" +"in RPM (optional)" + +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." +msgstr "Spindle dir." + +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 +msgid "" +"This sets the direction that the spindle is rotating.\n" +"It can be either:\n" +"- CW = clockwise or\n" +"- CCW = counter clockwise" +msgstr "" +"This sets the direction that the spindle is rotating.\n" +"It can be either:\n" +"- CW = clockwise or\n" +"- CCW = counter clockwise" + +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" +msgstr "Dwell" + +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 +msgid "" +"Pause to allow the spindle to reach its\n" +"speed before cutting." +msgstr "" +"Pause to allow the spindle to reach its\n" +"speed before cutting." + +#: flatcamGUI/FlatCAMGUI.py:5098 +msgid "Duration:" +msgstr "Duration:" + +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." +msgstr "Number of time units for spindle to dwell." + +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" +msgstr "Postprocessor" + +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 +msgid "" +"The postprocessor JSON file that dictates\n" +"Gcode output." +msgstr "" +"The postprocessor JSON file that dictates\n" +"Gcode output." + +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" +msgstr "Gcode" + +#: flatcamGUI/FlatCAMGUI.py:5125 +msgid "" +"Choose what to use for GCode generation:\n" +"'Drills', 'Slots' or 'Both'.\n" +"When choosing 'Slots' or 'Both', slots will be\n" +"converted to drills." +msgstr "" +"Choose what to use for GCode generation:\n" +"'Drills', 'Slots' or 'Both'.\n" +"When choosing 'Slots' or 'Both', slots will be\n" +"converted to drills." + +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" +msgstr "Mill Holes" + +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 +msgid "Create Geometry for milling holes." +msgstr "Create Geometry for milling holes." + +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" +msgstr "Drill Tool dia" + +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" +msgstr "Slot Tool dia" + +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 +msgid "" +"Diameter of the cutting tool\n" +"when milling slots." +msgstr "" +"Diameter of the cutting tool\n" +"when milling slots." + +#: flatcamGUI/FlatCAMGUI.py:5168 +msgid "Defaults" +msgstr "Defaults" + +#: flatcamGUI/FlatCAMGUI.py:5181 +msgid "Excellon Adv. Options" +msgstr "Excellon Adv. Options" + +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" +msgstr "Advanced Options" + +#: flatcamGUI/FlatCAMGUI.py:5189 +msgid "" +"Parameters used to create a CNC Job object\n" +"for this drill object that are shown when App Level is Advanced." +msgstr "" +"Parameters used to create a CNC Job object\n" +"for this drill object that are shown when App Level is Advanced." + +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" +msgstr "Offset Z" + +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 +msgid "" +"Some drill bits (the larger ones) need to drill deeper\n" +"to create the desired exit hole diameter due of the tip shape.\n" +"The value here can compensate the Cut Z parameter." +msgstr "" +"Some drill bits (the larger ones) need to drill deeper\n" +"to create the desired exit hole diameter due of the tip shape.\n" +"The value here can compensate the Cut Z parameter." + +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" +msgstr "Toolchange X,Y" + +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 +msgid "Toolchange X,Y position." +msgstr "Toolchange X,Y position." + +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 +#: flatcamGUI/ObjectUI.py:632 +msgid "Start move Z" +msgstr "Start move Z" + +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 +msgid "" +"Height of the tool just after start.\n" +"Delete the value if you don't need this feature." +msgstr "" +"Height of the tool just after start.\n" +"Delete the value if you don't need this feature." + +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" +msgstr "End move Z" + +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 +msgid "" +"Height of the tool after\n" +"the last move at the end of the job." +msgstr "" +"Height of the tool after\n" +"the last move at the end of the job." + +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" +msgstr "Feedrate Rapids" + +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 +msgid "" +"Tool speed while drilling\n" +"(in units per minute).\n" +"This is for the rapid move G00.\n" +"It is useful only for Marlin,\n" +"ignore for any other cases." +msgstr "" +"Tool speed while drilling\n" +"(in units per minute).\n" +"This is for the rapid move G00.\n" +"It is useful only for Marlin,\n" +"ignore for any other cases." + +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" +msgstr "Probe Z depth" + +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 +msgid "" +"The maximum depth that the probe is allowed\n" +"to probe. Negative value, in current units." +msgstr "" +"The maximum depth that the probe is allowed\n" +"to probe. Negative value, in current units." + +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" +msgstr "Feedrate Probe" + +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 +msgid "The feedrate used while the probe is probing." +msgstr "The feedrate used while the probe is probing." + +#: flatcamGUI/FlatCAMGUI.py:5263 +msgid "Fast Plunge:" +msgstr "Fast Plunge:" + +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 +msgid "" +"By checking this, the vertical move from\n" +"Z_Toolchange to Z_move is done with G0,\n" +"meaning the fastest speed available.\n" +"WARNING: the move is done at Toolchange X,Y coords." +msgstr "" +"By checking this, the vertical move from\n" +"Z_Toolchange to Z_move is done with G0,\n" +"meaning the fastest speed available.\n" +"WARNING: the move is done at Toolchange X,Y coords." + +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" +msgstr "Fast Retract" + +#: flatcamGUI/FlatCAMGUI.py:5276 +msgid "" +"Exit hole strategy.\n" +" - When uncheked, while exiting the drilled hole the drill bit\n" +"will travel slow, with set feedrate (G1), up to zero depth and then\n" +"travel as fast as possible (G0) to the Z Move (travel height).\n" +" - When checked the travel from Z cut (cut depth) to Z_move\n" +"(travel height) is done as fast as possible (G0) in one move." +msgstr "" +"Exit hole strategy.\n" +" - When uncheked, while exiting the drilled hole the drill bit\n" +"will travel slow, with set feedrate (G1), up to zero depth and then\n" +"travel as fast as possible (G0) to the Z Move (travel height).\n" +" - When checked the travel from Z cut (cut depth) to Z_move\n" +"(travel height) is done as fast as possible (G0) in one move." + +#: flatcamGUI/FlatCAMGUI.py:5295 +msgid "Excellon Export" +msgstr "Excellon Export" + +#: flatcamGUI/FlatCAMGUI.py:5300 +msgid "" +"The parameters set here are used in the file exported\n" +"when using the File -> Export -> Export Excellon menu entry." +msgstr "" +"The parameters set here are used in the file exported\n" +"when using the File -> Export -> Export Excellon menu entry." + +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 +msgid "The units used in the Excellon file." +msgstr "The units used in the Excellon file." + +#: flatcamGUI/FlatCAMGUI.py:5325 +msgid "" +"The NC drill files, usually named Excellon files\n" +"are files that can be found in different formats.\n" +"Here we set the format used when the provided\n" +"coordinates are not using period." +msgstr "" +"The NC drill files, usually named Excellon files\n" +"are files that can be found in different formats.\n" +"Here we set the format used when the provided\n" +"coordinates are not using period." + +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" +msgstr "Format" + +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 +msgid "" +"Select the kind of coordinates format used.\n" +"Coordinates can be saved with decimal point or without.\n" +"When there is no decimal point, it is required to specify\n" +"the number of digits for integer part and the number of decimals.\n" +"Also it will have to be specified if LZ = leading zeros are kept\n" +"or TZ = trailing zeros are kept." +msgstr "" +"Select the kind of coordinates format used.\n" +"Coordinates can be saved with decimal point or without.\n" +"When there is no decimal point, it is required to specify\n" +"the number of digits for integer part and the number of decimals.\n" +"Also it will have to be specified if LZ = leading zeros are kept\n" +"or TZ = trailing zeros are kept." + +#: flatcamGUI/FlatCAMGUI.py:5370 +msgid "Decimal" +msgstr "Decimal" + +#: flatcamGUI/FlatCAMGUI.py:5371 +msgid "No-Decimal" +msgstr "No-Decimal" + +#: flatcamGUI/FlatCAMGUI.py:5397 +msgid "" +"This sets the default type of Excellon zeros.\n" +"If LZ then Leading Zeros are kept and\n" +"Trailing Zeros are removed.\n" +"If TZ is checked then Trailing Zeros are kept\n" +"and Leading Zeros are removed." +msgstr "" +"This sets the default type of Excellon zeros.\n" +"If LZ then Leading Zeros are kept and\n" +"Trailing Zeros are removed.\n" +"If TZ is checked then Trailing Zeros are kept\n" +"and Leading Zeros are removed." + +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" +msgstr "Slot type" + +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 +msgid "" +"This sets how the slots will be exported.\n" +"If ROUTED then the slots will be routed\n" +"using M15/M16 commands.\n" +"If DRILLED(G85) the slots will be exported\n" +"using the Drilled slot command (G85)." +msgstr "" +"This sets how the slots will be exported.\n" +"If ROUTED then the slots will be routed\n" +"using M15/M16 commands.\n" +"If DRILLED(G85) the slots will be exported\n" +"using the Drilled slot command (G85)." + +#: flatcamGUI/FlatCAMGUI.py:5417 +msgid "Routed" +msgstr "Routed" + +#: flatcamGUI/FlatCAMGUI.py:5418 +msgid "Drilled(G85)" +msgstr "Drilled(G85)" + +#: flatcamGUI/FlatCAMGUI.py:5450 +msgid "A list of Excellon Editor parameters." +msgstr "A list of Excellon Editor parameters." + +#: flatcamGUI/FlatCAMGUI.py:5460 +msgid "" +"Set the number of selected Excellon geometry\n" +"items above which the utility geometry\n" +"becomes just a selection rectangle.\n" +"Increases the performance when moving a\n" +"large number of geometric elements." +msgstr "" +"Set the number of selected Excellon geometry\n" +"items above which the utility geometry\n" +"becomes just a selection rectangle.\n" +"Increases the performance when moving a\n" +"large number of geometric elements." + +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" +msgstr "New Tool Dia" + +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" +msgstr "Nr of drills" + +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "Linear Drill Array" + +#: flatcamGUI/FlatCAMGUI.py:5499 +msgid "Linear Dir.:" +msgstr "Linear Dir.:" + +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +msgid "%s:" +msgstr "%s:" + +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" +msgstr "Circular Drill Array" + +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" +msgstr "Slots" + +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" +msgstr "Length" + +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" +msgstr "Linear Slot Array" + +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" +msgstr "Nr of slots" + +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" +msgstr "Circular Slot Array" + +#: flatcamGUI/FlatCAMGUI.py:5700 +msgid "Geometry General" +msgstr "Geometry General" + +#: flatcamGUI/FlatCAMGUI.py:5719 +msgid "" +"The number of circle steps for Geometry \n" +"circle and arc shapes linear approximation." +msgstr "" +"The number of circle steps for Geometry \n" +"circle and arc shapes linear approximation." + +#: flatcamGUI/FlatCAMGUI.py:5747 +msgid "Geometry Options" +msgstr "Geometry Options" + +#: flatcamGUI/FlatCAMGUI.py:5754 +msgid "" +"Create a CNC Job object\n" +"tracing the contours of this\n" +"Geometry object." +msgstr "" +"Create a CNC Job object\n" +"tracing the contours of this\n" +"Geometry object." + +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 +msgid "" +"Cutting depth (negative)\n" +"below the copper surface." +msgstr "" +"Cutting depth (negative)\n" +"below the copper surface." + +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" +msgstr "Multi-Depth" + +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." +msgstr "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." + +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" +msgstr "Depth/Pass" + +#: flatcamGUI/FlatCAMGUI.py:5788 +msgid "" +"The depth to cut on each pass,\n" +"when multidepth is enabled.\n" +"It has positive value although\n" +"it is a fraction from the depth\n" +"which has negative value." +msgstr "" +"The depth to cut on each pass,\n" +"when multidepth is enabled.\n" +"It has positive value although\n" +"it is a fraction from the depth\n" +"which has negative value." + +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 +msgid "" +"Height of the tool when\n" +"moving without cutting." +msgstr "" +"Height of the tool when\n" +"moving without cutting." + +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." + +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "Feed Rate X-Y" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 +msgid "" +"Cutting speed in the XY\n" +"plane in units per minute" +msgstr "" +"Cutting speed in the XY\n" +"plane in units per minute" + +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" +msgstr "Feed Rate Z" + +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 +msgid "" +"Cutting speed in the XY\n" +"plane in units per minute.\n" +"It is called also Plunge." +msgstr "" +"Cutting speed in the XY\n" +"plane in units per minute.\n" +"It is called also Plunge." + +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" +msgstr "Spindle speed" + +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 +msgid "" +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." +msgstr "" +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." + +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "Duration" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." +msgstr "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." + +#: flatcamGUI/FlatCAMGUI.py:5919 +msgid "Geometry Adv. Options" +msgstr "Geometry Adv. Options" + +#: flatcamGUI/FlatCAMGUI.py:5926 +msgid "" +"Parameters to create a CNC Job object\n" +"tracing the contours of a Geometry object." +msgstr "" +"Parameters to create a CNC Job object\n" +"tracing the contours of a Geometry object." + +#: flatcamGUI/FlatCAMGUI.py:5946 +msgid "" +"Height of the tool just after starting the work.\n" +"Delete the value if you don't need this feature." +msgstr "" +"Height of the tool just after starting the work.\n" +"Delete the value if you don't need this feature." + +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "Feed Rate Rapids" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 +msgid "" +"Cutting speed in the XY plane\n" +"(in units per minute).\n" +"This is for the rapid move G00.\n" +"It is useful only for Marlin,\n" +"ignore for any other cases." +msgstr "" +"Cutting speed in the XY plane\n" +"(in units per minute).\n" +"This is for the rapid move G00.\n" +"It is useful only for Marlin,\n" +"ignore for any other cases." + +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 +msgid "Re-cut 1st pt." +msgstr "Re-cut 1st pt." + +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 +msgid "" +"In order to remove possible\n" +"copper leftovers where first cut\n" +"meet with last cut, we generate an\n" +"extended cut over the first cut section." +msgstr "" +"In order to remove possible\n" +"copper leftovers where first cut\n" +"meet with last cut, we generate an\n" +"extended cut over the first cut section." + +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" +msgstr "Fast Plunge" + +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "Seg. X size" + +#: flatcamGUI/FlatCAMGUI.py:6020 +msgid "" +"The size of the trace segment on the X axis.\n" +"Useful for auto-leveling.\n" +"A value of 0 means no segmentation on the X axis." +msgstr "" +"The size of the trace segment on the X axis.\n" +"Useful for auto-leveling.\n" +"A value of 0 means no segmentation on the X axis." + +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" +msgstr "Seg. Y size" + +#: flatcamGUI/FlatCAMGUI.py:6031 +msgid "" +"The size of the trace segment on the Y axis.\n" +"Useful for auto-leveling.\n" +"A value of 0 means no segmentation on the Y axis." +msgstr "" +"The size of the trace segment on the Y axis.\n" +"Useful for auto-leveling.\n" +"A value of 0 means no segmentation on the Y axis." + +#: flatcamGUI/FlatCAMGUI.py:6047 +msgid "Geometry Editor" +msgstr "Geometry Editor" + +#: flatcamGUI/FlatCAMGUI.py:6052 +msgid "A list of Geometry Editor parameters." +msgstr "A list of Geometry Editor parameters." + +#: flatcamGUI/FlatCAMGUI.py:6062 +msgid "" +"Set the number of selected geometry\n" +"items above which the utility geometry\n" +"becomes just a selection rectangle.\n" +"Increases the performance when moving a\n" +"large number of geometric elements." +msgstr "" +"Set the number of selected geometry\n" +"items above which the utility geometry\n" +"becomes just a selection rectangle.\n" +"Increases the performance when moving a\n" +"large number of geometric elements." + +#: flatcamGUI/FlatCAMGUI.py:6081 +msgid "CNC Job General" +msgstr "CNC Job General" + +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 +msgid "Plot Object" +msgstr "Plot Object" + +#: flatcamGUI/FlatCAMGUI.py:6099 +msgid "Plot kind:" +msgstr "Plot kind:" + +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 +msgid "" +"This selects the kind of geometries on the canvas to plot.\n" +"Those can be either of type 'Travel' which means the moves\n" +"above the work piece or it can be of type 'Cut',\n" +"which means the moves that cut into the material." +msgstr "" +"This selects the kind of geometries on the canvas to plot.\n" +"Those can be either of type 'Travel' which means the moves\n" +"above the work piece or it can be of type 'Cut',\n" +"which means the moves that cut into the material." + +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 +msgid "Travel" +msgstr "Travel" + +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" +msgstr "Display Annotation" + +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 +msgid "" +"This selects if to display text annotation on the plot.\n" +"When checked it will display numbers in order for each end\n" +"of a travel line." +msgstr "" +"This selects if to display text annotation on the plot.\n" +"When checked it will display numbers in order for each end\n" +"of a travel line." + +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" +msgstr "Annotation Size" + +#: flatcamGUI/FlatCAMGUI.py:6134 +msgid "The font size of the annotation text. In pixels." +msgstr "The font size of the annotation text. In pixels." + +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" +msgstr "Annotation Color" + +#: flatcamGUI/FlatCAMGUI.py:6144 +msgid "Set the font color for the annotation texts." +msgstr "Set the font color for the annotation texts." + +#: flatcamGUI/FlatCAMGUI.py:6167 +msgid "" +"The number of circle steps for GCode \n" +"circle and arc shapes linear approximation." +msgstr "" +"The number of circle steps for GCode \n" +"circle and arc shapes linear approximation." + +#: flatcamGUI/FlatCAMGUI.py:6177 +msgid "" +"Diameter of the tool to be\n" +"rendered in the plot." +msgstr "" +"Diameter of the tool to be\n" +"rendered in the plot." + +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." +msgstr "Coords dec." + +#: flatcamGUI/FlatCAMGUI.py:6187 +msgid "" +"The number of decimals to be used for \n" +"the X, Y, Z coordinates in CNC code (GCODE, etc.)" +msgstr "" +"The number of decimals to be used for \n" +"the X, Y, Z coordinates in CNC code (GCODE, etc.)" + +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." +msgstr "Feedrate dec." + +#: flatcamGUI/FlatCAMGUI.py:6197 +msgid "" +"The number of decimals to be used for \n" +"the Feedrate parameter in CNC code (GCODE, etc.)" +msgstr "" +"The number of decimals to be used for \n" +"the Feedrate parameter in CNC code (GCODE, etc.)" + +#: flatcamGUI/FlatCAMGUI.py:6212 +msgid "CNC Job Options" +msgstr "CNC Job Options" + +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" +msgstr "Export G-Code" + +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 +msgid "" +"Export and save G-Code to\n" +"make this object to a file." +msgstr "" +"Export and save G-Code to\n" +"make this object to a file." + +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" +msgstr "Prepend to G-Code" + +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 +msgid "" +"Type here any G-Code commands you would\n" +"like to add at the beginning of the G-Code file." +msgstr "" +"Type here any G-Code commands you would\n" +"like to add at the beginning of the G-Code file." + +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" +msgstr "Append to G-Code" + +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 +msgid "" +"Type here any G-Code commands you would\n" +"like to append to the generated file.\n" +"I.e.: M2 (End of program)" +msgstr "" +"Type here any G-Code commands you would\n" +"like to append to the generated file.\n" +"I.e.: M2 (End of program)" + +#: flatcamGUI/FlatCAMGUI.py:6253 +msgid "CNC Job Adv. Options" +msgstr "CNC Job Adv. Options" + +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" +msgstr "Export CNC Code" + +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "Toolchange G-Code" + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 +msgid "" +"Type here any G-Code commands you would\n" +"like to be executed when Toolchange event is encountered.\n" +"This will constitute a Custom Toolchange GCode,\n" +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." +msgstr "" +"Type here any G-Code commands you would\n" +"like to be executed when Toolchange event is encountered.\n" +"This will constitute a Custom Toolchange GCode,\n" +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." + +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 +msgid "Use Toolchange Macro" +msgstr "Use Toolchange Macro" + +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 +msgid "" +"Check this box if you want to use\n" +"a Custom Toolchange GCode (macro)." +msgstr "" +"Check this box if you want to use\n" +"a Custom Toolchange GCode (macro)." + +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 +msgid "" +"A list of the FlatCAM variables that can be used\n" +"in the Toolchange event.\n" +"They have to be surrounded by the '%' symbol" +msgstr "" +"A list of the FlatCAM variables that can be used\n" +"in the Toolchange event.\n" +"They have to be surrounded by the '%' symbol" + +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "FlatCAM CNC parameters" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "tool = tool number" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "tooldia = tool diameter" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = for Excellon, total number of drills" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = X coord for Toolchange" -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = Y coord for Toolchange" -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "z_toolchange = Z coord for Toolchange" -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "z_cut = Z depth for the cut" -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "z_move = Z height for travel" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut = the step value for multidepth cut" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed = the value for the spindle speed" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "dwelltime = time to dwell to allow the spindle to reach it's set RPM" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "NCC Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" -msgstr "Tools dia:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." +msgstr "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "Tools dia" + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "Tool order" + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "Forward" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "Reverse" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "Overlap Rate" + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8570,12 +8811,23 @@ msgstr "" "Higher values = slow processing and slow execution on CNC\n" "due of too many paths." -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "Margin" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "Bounding box margin." -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "Method" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -8585,34 +8837,42 @@ msgstr "" "
Seed-based: Outwards from seed.
Line-based: Parallel " "lines." -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" -msgstr "Rest M.:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" +msgstr "Connect" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "Contour" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "Rest M." + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "Offset:" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8624,40 +8884,51 @@ msgstr "" "from the copper features.\n" "The value can be between 0 and 10 FlatCAM units." -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" -msgstr "Offset value:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" +msgstr "Offset value" -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "Itself" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" -msgstr "Box" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" +msgstr "Area" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" -msgstr "Reference:" +#: flatcamGUI/FlatCAMGUI.py:6489 +msgid "Ref" +msgstr "Ref" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "Reference" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "Cutout Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -8667,11 +8938,19 @@ msgstr "" "the PCB and separate it from\n" "the original board." -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" -msgstr "Obj kind:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." +msgstr "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "Obj kind" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -8683,46 +8962,51 @@ msgstr "" "Gerber object, which is made\n" "out of many individual PCB outlines." -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "Single" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "Panel" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" -msgstr "Gap size:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" +msgstr "Gap size" -#: flatcamGUI/FlatCAMGUI.py:6276 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." msgstr "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" -msgstr "Gaps:" +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" +msgstr "Gaps" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6571 msgid "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8730,9 +9014,10 @@ msgid "" "- 2tb - 2*top + 2*bottom\n" "- 8 - 2*left + 2*right +2*top + 2*bottom" msgstr "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8740,19 +9025,23 @@ msgstr "" "- 2tb - 2*top + 2*bottom\n" "- 8 - 2*left + 2*right +2*top + 2*bottom" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" -msgstr "Convex Sh.:" +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." +msgstr "Convex Sh." -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." -msgstr "Create a convex shape surrounding the entire PCB." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." +msgstr "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "2Sided Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -8760,46 +9049,54 @@ msgstr "" "A tool to help in creating a double sided\n" "PCB using alignment holes." -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" -msgstr "Drill diam.:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" +msgstr "Drill dia" -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Diameter of the drill for the alignment holes." -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Mirror Axis:" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Mirror vertically (X) or horizontally (Y)." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Point" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" -msgstr "Axis Ref:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" +msgstr "Box" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "Axis Ref" + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "Paint Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "Parameters:" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -8811,31 +9108,41 @@ msgstr "" "all copper). You will be asked\n" "to click on the desired polygon." -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "Selection" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" -msgstr "Selection:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." +msgstr "Ref." -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "How to select the polygons to paint." - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "Area" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "Film Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -8845,11 +9152,11 @@ msgstr "" "FlatCAM object.\n" "The file is saved in SVG format." -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "Film Type:" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -8865,11 +9172,11 @@ msgstr "" "with white on a black canvas.\n" "The Film format is SVG." -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" -msgstr "Border:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" +msgstr "Border" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -8889,11 +9196,11 @@ msgstr "" "white color like the rest and which may confound with the\n" "surroundings if not for this border." -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" -msgstr "Scale Stroke:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" +msgstr "Scale Stroke" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -8905,11 +9212,11 @@ msgstr "" "thinner,\n" "therefore the fine features may be more affected by this parameter." -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "Panelize Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -8919,11 +9226,11 @@ msgstr "" "each element is a copy of the source object spaced\n" "at a X distance, Y distance of each other." -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" -msgstr "Spacing cols:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" +msgstr "Spacing cols" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -8931,11 +9238,11 @@ msgstr "" "Spacing between columns of the desired panel.\n" "In current units." -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" -msgstr "Spacing rows:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" +msgstr "Spacing rows" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -8943,35 +9250,35 @@ msgstr "" "Spacing between rows of the desired panel.\n" "In current units." -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" -msgstr "Columns:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" +msgstr "Columns" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Number of columns of the desired panel" -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" -msgstr "Rows:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" +msgstr "Rows" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Number of rows of the desired panel" -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Geo" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" -msgstr "Panel Type:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" +msgstr "Panel Type" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -8981,11 +9288,11 @@ msgstr "" "- Gerber\n" "- Geometry" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" -msgstr "Constrain within:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" +msgstr "Constrain within" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -8999,11 +9306,11 @@ msgstr "" "the final panel will have as many columns and rows as\n" "they fit completely within selected area." -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" -msgstr "Width (DX):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" +msgstr "Width (DX)" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -9011,11 +9318,11 @@ msgstr "" "The width (DX) within which the panel must fit.\n" "In current units." -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" -msgstr "Height (DY):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" +msgstr "Height (DY)" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -9023,15 +9330,15 @@ msgstr "" "The height (DY)within which the panel must fit.\n" "In current units." -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "Calculators Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" -msgstr "V-Shape Tool Calculator:" +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" +msgstr "V-Shape Tool Calculator" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -9041,11 +9348,11 @@ msgstr "" "having the tip diameter, tip angle and\n" "depth-of-cut as parameters." -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" -msgstr "Tip Diameter:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" +msgstr "Tip Diameter" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -9053,11 +9360,11 @@ msgstr "" "This is the tool tip diameter.\n" "It is specified by manufacturer." -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" -msgstr "Tip angle:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" +msgstr "Tip Angle" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -9065,7 +9372,7 @@ msgstr "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -9073,11 +9380,11 @@ msgstr "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" -msgstr "ElectroPlating Calculator:" +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" +msgstr "ElectroPlating Calculator" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -9087,27 +9394,27 @@ msgstr "" "using a method like grahite ink or calcium hypophosphite ink or palladium " "chloride." -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" -msgstr "Board Length:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" +msgstr "Board Length" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "This is the board length. In centimeters." -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" -msgstr "Board Width:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" +msgstr "Board Width" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "This is the board width.In centimeters." -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" -msgstr "Current Density:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" +msgstr "Current Density" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -9115,11 +9422,11 @@ msgstr "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" -msgstr "Copper Growth:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" +msgstr "Copper Growth" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -9127,11 +9434,11 @@ msgstr "" "How thick the copper growth is intended to be.\n" "In microns." -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "Transform Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -9139,47 +9446,35 @@ msgstr "" "Various transformations that can be applied\n" "on a FlatCAM object." -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" -msgstr "Rotate Angle:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" +msgstr "Rotate Angle" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." -msgstr "Angle for rotation. In degrees." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" +msgstr "Skew_X angle" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" -msgstr "Skew_X angle:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" +msgstr "Skew_Y angle" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." -msgstr "Angle for Skew/Shear on X axis. In degrees." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" +msgstr "Scale_X factor" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "Skew_Y angle:" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "Angle for Skew/Shear on Y axis. In degrees." - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "Scale_X factor:" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Factor for scaling on X axis." -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" -msgstr "Scale_Y factor:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" +msgstr "Scale_Y factor" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Factor for scaling on Y axis." -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -9187,7 +9482,7 @@ msgstr "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -9199,27 +9494,27 @@ msgstr "" "and the center of the biggest bounding box\n" "of the selected objects when unchecked." -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" -msgstr "Offset_X val:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" +msgstr "Offset_X val" -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Distance to offset on X axis. In current units." -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" -msgstr "Offset_Y val:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" +msgstr "Offset_Y val" -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Distance to offset on Y axis. In current units." -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Mirror Reference" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9241,11 +9536,11 @@ msgstr "" "Or enter the coords in format (x, y) in the\n" "Point Entry field and click Flip on X(Y)" -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" -msgstr " Mirror Ref. Point:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" +msgstr " Mirror Ref. Point" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -9255,11 +9550,11 @@ msgstr "" "The 'x' in (x, y) will be used when using Flip on X and\n" "the 'y' in (x, y) will be used when using Flip on Y and" -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "SolderPaste Tool Options" -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -9267,47 +9562,47 @@ msgstr "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "Diameters of nozzle tools, separated by ','" -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" -msgstr "New Nozzle Dia:" +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" +msgstr "New Nozzle Dia" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "Diameter for the new Nozzle tool to add in the Tool Table" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" -msgstr "Z Dispense Start:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" +msgstr "Z Dispense Start" -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "The height (Z) when solder paste dispensing starts." -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" -msgstr "Z Dispense:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" +msgstr "Z Dispense" -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "The height (Z) when doing solder paste dispensing." -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" -msgstr "Z Dispense Stop:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" +msgstr "Z Dispense Stop" -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "The height (Z) when solder paste dispensing stops." -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" -msgstr "Z Travel:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" +msgstr "Z Travel" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -9315,19 +9610,19 @@ msgstr "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" -msgstr "Z Toolchange:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" +msgstr "Z Toolchange" -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "The height (Z) for tool (nozzle) change." -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" -msgstr "XY Toolchange:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" +msgstr "Toolchange X-Y" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -9335,19 +9630,19 @@ msgstr "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" -msgstr "Feedrate X-Y:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" +msgstr "Feedrate X-Y" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Feedrate (speed) while moving on the X-Y plane." -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" -msgstr "Feedrate Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" +msgstr "Feedrate Z" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -9355,11 +9650,11 @@ msgstr "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" -msgstr "Feedrate Z Dispense:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" +msgstr "Feedrate Z Dispense" -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -9367,11 +9662,11 @@ msgstr "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" -msgstr "Spindle Speed FWD:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" +msgstr "Spindle Speed FWD" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -9379,19 +9674,19 @@ msgstr "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" -msgstr "Dwell FWD:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" +msgstr "Dwell FWD" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Pause after solder dispensing." -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" -msgstr "Spindle Speed REV:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" +msgstr "Spindle Speed REV" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -9399,11 +9694,11 @@ msgstr "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" -msgstr "Dwell REV:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" +msgstr "Dwell REV" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -9411,19 +9706,20 @@ msgstr "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" -msgstr "PostProcessors:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" +msgstr "PostProcessor" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Files that control the GCode generation." -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "Substractor Tool Options" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -9431,25 +9727,25 @@ msgstr "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Close paths" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Checking this will close the paths cut by the Geometry substractor object." -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "Idle." -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "Application started ..." -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "Hello!" @@ -9475,17 +9771,13 @@ msgstr "" "Edit -> Preferences -> General and check:\n" "'APP. LEVEL' radio button." -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr "Scale:" - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "Change the size of the object." #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" -msgstr "Factor:" +msgid "Factor" +msgstr "Factor" #: flatcamGUI/ObjectUI.py:91 msgid "" @@ -9499,17 +9791,13 @@ msgstr "" msgid "Perform scaling operation." msgstr "Perform scaling operation." -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "Offset:" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "Change the position of this object." #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" -msgstr "Vector:" +msgid "Vector" +msgstr "Vector" #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -9528,9 +9816,9 @@ msgid "Gerber Object" msgstr "Gerber Object" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" -msgstr "Name:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" +msgstr "Name" #: flatcamGUI/ObjectUI.py:203 msgid "" @@ -9574,17 +9862,9 @@ msgstr "" "feature, use a negative value for\n" "this parameter." -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "Passes:" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "Combine" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" -msgstr "Generate Isolation Geometry:" +msgid "Generate Isolation Geometry" +msgstr "Generate Isolation Geometry" #: flatcamGUI/ObjectUI.py:325 msgid "" @@ -9651,10 +9931,10 @@ msgstr "" "only the interiors geometry." #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" -msgstr "Clear N-copper:" +msgid "Clear N-copper" +msgstr "Clear N-copper" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -9663,10 +9943,10 @@ msgstr "" "for non-copper routing." #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" -msgstr "Board cutout:" +msgid "Board cutout" +msgstr "Board cutout" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "Cutout Tool" @@ -9678,35 +9958,9 @@ msgstr "" "Generate the geometry for\n" "the board cutout." -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr "Non-copper regions:" - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "Rounded Geo" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "Resulting geometry will have rounded corners." - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Generate Geo" @@ -9730,22 +9984,10 @@ msgstr "Excellon Object" msgid "Solid circles." msgstr "Solid circles." -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr "Tools Table" - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "Drills" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "Slots" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "Offset Z" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -9757,7 +9999,7 @@ msgstr "" "will be showed as a T1, T2 ... Tn in the Machine Code." #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -9793,61 +10035,11 @@ msgstr "" "Create a CNC Job object\n" "for this drill object." -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" -msgstr "Tool change" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" +msgstr "Tool change Z" -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" -msgstr "Tool change Z:" - -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "" -"Z-axis position (height) for\n" -"tool change." - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "" -"Z-axis position (height) for\n" -"the last move." - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "Feedrate (Plunge):" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" -"The json file that dictates\n" -"gcode output." - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." @@ -9855,11 +10047,7 @@ msgstr "" "Select from the Tools Table above\n" "the tools you want to include." -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr "Type: " - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -9871,15 +10059,15 @@ msgstr "" "When choosing 'Slots' or 'Both', slots will be\n" "converted to a series of drills." -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "Create GCode" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "Generate the CNC Job." -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." @@ -9887,15 +10075,11 @@ msgstr "" "Select from the Tools Table above\n" " the hole dias that are to be milled." -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "Drills Tool dia:" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "Mill Drills Geo" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -9903,10 +10087,6 @@ msgstr "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "Slots Tool dia:" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "Mill Slots Geo" @@ -9951,12 +10131,12 @@ msgstr "" "grayed out and Cut Z is automatically calculated from the newly \n" "showed UI form entries named V-Tip Dia and V-Tip Angle." -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "Dia" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TT" @@ -10055,8 +10235,8 @@ msgstr "" "for the corresponding tool." #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" -msgstr "Tool Offset:" +msgid "Tool Offset" +msgstr "Tool Offset" #: flatcamGUI/ObjectUI.py:951 msgid "" @@ -10070,12 +10250,13 @@ msgstr "" "The value can be positive for 'outside'\n" "cut and negative for 'inside' cut." -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" -msgstr "Tool Dia:" +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" +msgstr "Tool Dia" -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -10100,8 +10281,8 @@ msgstr "" "by first selecting a row in the Tool Table." #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" -msgstr "Tool Data" +msgid "Tool Data" +msgstr "Tool Data" #: flatcamGUI/ObjectUI.py:1028 msgid "" @@ -10112,16 +10293,16 @@ msgstr "" "Each tool store it's own set of such data." #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" -msgstr "V-Tip Dia:" +msgid "V-Tip Dia" +msgstr "V-Tip Dia" #: flatcamGUI/ObjectUI.py:1049 msgid "The tip diameter for V-Shape Tool" msgstr "The tip diameter for V-Shape Tool" #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" -msgstr "V-Tip Angle:" +msgid "V-Tip Angle" +msgstr "V-Tip Angle" #: flatcamGUI/ObjectUI.py:1060 msgid "" @@ -10131,105 +10312,11 @@ msgstr "" "The tip angle for V-Shape Tool.\n" "In degree." -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "Multi-Depth:" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "Depth of each pass (positive)." -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "Feed Rate Z (Plunge):" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" -"Cutting speed in the Z\n" -"plane in units per minute" - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "Feed Rate Rapids:" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "Cut over 1st pt" - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "PostProcessor:" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -10239,39 +10326,35 @@ msgstr "" "Click the header to select all, or Ctrl + LMB\n" "for custom selection of tools." -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "Generate" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "Generate the CNC Job object." -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" -msgstr "Paint Area:" +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" +msgstr "Paint Area" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "Launch Paint Tool in Tools Tab." -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "CNC Job Object" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" -msgstr "Plot kind:" +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" +msgstr "Plot kind" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" -msgstr "Display Annotation:" +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." +msgstr "Travelled dist." -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr "Travelled dist.:" - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -10279,12 +10362,11 @@ msgstr "" "This is the total travelled distance on X-Y plane.\n" "In current units." -#: flatcamGUI/ObjectUI.py:1406 -#| msgid "Load files:" -msgid "Estimated time:" -msgstr "Estimated time:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" +msgstr "Estimated time" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -10292,11 +10374,11 @@ msgstr "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" -msgstr "CNC Tools Table" +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" +msgstr "CNC Tools Table" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -10318,73 +10400,39 @@ msgstr "" "The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n" "ball(B), or V-Shaped(V)." -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "Update Plot" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "Update the plot." -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" -msgstr "Export CNC Code:" +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" +msgstr "Prepend to CNC Code" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" -msgstr "Prepend to CNC Code:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" +msgstr "Append to CNC Code" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "Append to CNC Code:" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "z_cut = depth where to cut" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "z_move = height where to travel" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "View CNC Code" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." @@ -10392,11 +10440,11 @@ msgstr "" "Opens TAB to view/modify/print G-Code\n" "file." -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "Save CNC Code" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -10408,18 +10456,10 @@ msgstr "" msgid "Calculators" msgstr "Calculators" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "V-Shape Tool Calculator" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "Units Calculator" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "ElectroPlating Calculator" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "Here you enter the value to be converted from INCH to MM" @@ -10428,19 +10468,7 @@ msgstr "Here you enter the value to be converted from INCH to MM" msgid "Here you enter the value to be converted from MM to INCH" msgstr "Here you enter the value to be converted from MM to INCH" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "Tip Angle:" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -10448,7 +10476,7 @@ msgstr "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -10456,11 +10484,11 @@ msgstr "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" -msgstr "Tool Diameter:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" +msgstr "Tool Diameter" -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -10470,11 +10498,11 @@ msgstr "" "FlatCAM Gerber section.\n" "In the CNCJob section it is called >Tool dia<." -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "Calculate" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -10482,11 +10510,11 @@ msgstr "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" -msgstr "Current Value:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" +msgstr "Current Value" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -10494,11 +10522,11 @@ msgstr "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" -msgstr "Time:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" +msgstr "Time" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." @@ -10506,7 +10534,7 @@ msgstr "" "This is the calculated time required for the procedure.\n" "In minutes." -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -10514,7 +10542,7 @@ msgstr "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "Calc. Tool" @@ -10522,9 +10550,10 @@ msgstr "Calc. Tool" msgid "Cutout PCB" msgstr "Cutout PCB" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" -msgstr "Obj Type:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" +msgstr "Obj Type" #: flatcamTools/ToolCutOut.py:56 msgid "" @@ -10538,51 +10567,19 @@ msgstr "" "What is selected here will dictate the kind\n" "of objects that will populate the 'Object' combobox." -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" -msgstr "Object:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" +msgstr "Object" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "Object to be cutout. " -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." -msgstr "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" +msgstr "Gap size:" #: flatcamTools/ToolCutOut.py:138 msgid "A. Automatic Bridge Gaps" @@ -10597,6 +10594,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10607,6 +10605,7 @@ msgstr "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10614,11 +10613,11 @@ msgstr "" "- 2tb - 2*top + 2*bottom\n" "- 8 - 2*left + 2*right +2*top + 2*bottom" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" -msgstr "FreeForm:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" +msgstr "FreeForm" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." @@ -10626,7 +10625,7 @@ msgstr "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -10636,11 +10635,11 @@ msgstr "" "The cutout shape can be of any shape.\n" "Useful when the PCB has a non-rectangular shape." -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" -msgstr "Rectangular:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" +msgstr "Rectangular" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -10650,7 +10649,7 @@ msgstr "" "always a rectangle shape and it will be\n" "the bounding box of the Object." -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -10662,11 +10661,11 @@ msgstr "" "always a rectangle shape and it will be\n" "the bounding box of the Object." -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "B. Manual Bridge Gaps" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -10676,19 +10675,19 @@ msgstr "" "This is done by mouse clicking on the perimeter of the\n" "Geometry object that is used as a cutout object. " -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" -msgstr "Geo Obj:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" +msgstr "Geo Obj" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "Geometry object used to create the manual cutout." -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" -msgstr "Manual Geo:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" +msgstr "Manual Geo" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -10700,11 +10699,11 @@ msgstr "" "to be used as the cutout, if one doesn't exist yet.\n" "Select the source Gerber file in the top object combobox." -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" -msgstr "Manual Add Bridge Gaps:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" +msgstr "Manual Add Bridge Gaps" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10714,11 +10713,11 @@ msgstr "" "to create a bridge gap to separate the PCB from\n" "the surrounding material." -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "Generate Gap" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10732,18 +10731,19 @@ msgstr "" "The LMB click has to be done on the perimeter of\n" "the Geometry object used as a cutout geometry." -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "[ERROR_NOTCL] Could not retrieve object: %s" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." @@ -10751,7 +10751,7 @@ msgstr "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10759,33 +10759,33 @@ msgstr "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -10797,18 +10797,18 @@ msgstr "" "Geometry,\n" "and after that perform Cutout." -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "[success] Any form CutOut operation finished." -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "[ERROR_NOTCL] Object not found: %s" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10816,36 +10816,36 @@ msgstr "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Click on the selected geometry object perimeter to create a bridge gap ..." -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "Making manual bridge gap..." - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "[ERROR_NOTCL] Could not retrieve Geometry object: %s" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "Making manual bridge gap..." + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "[success] Added manual Bridge Gap." -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "[ERROR_NOTCL] Could not retrieve Gerber object: %s" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -10853,7 +10853,7 @@ msgstr "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -10861,14 +10861,15 @@ msgstr "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" +msgstr "[ERROR_NOTCL] Geometry not supported for cutout: %s" + #: flatcamTools/ToolDblSided.py:18 msgid "2-Sided PCB" msgstr "2-Sided PCB" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" -msgstr "GERBER:" - #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 #: flatcamTools/ToolDblSided.py:100 msgid "Mirror" @@ -10885,35 +10886,21 @@ msgstr "" "the specified axis. Does not create a new \n" "object, but modifies it." -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "EXCELLON:" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "Excellon Object to be mirrored." -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "GEOMETRY:" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "Geometry Obj to be mirrored." -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." -msgstr "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" +msgstr "Axis Ref:" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" -msgstr "Point/Box Reference:" +msgid "Point/Box Reference" +msgstr "Point/Box Reference" #: flatcamTools/ToolDblSided.py:154 msgid "" @@ -10943,21 +10930,24 @@ msgstr "" "The (x, y) coordinates are captured by pressing SHIFT key\n" "and left mouse button click on canvas or you can enter the coords manually." -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "Gerber Reference Box Object" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "Excellon Reference Box Object" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "Geometry Reference Box Object" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" -msgstr "Alignment Drill Coordinates:" +msgid "Alignment Drill Coordinates" +msgstr "Alignment Drill Coordinates" #: flatcamTools/ToolDblSided.py:194 msgid "" @@ -11027,11 +11017,11 @@ msgstr "Reset" msgid "Resets all the fields." msgstr "Resets all the fields." -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "2-Sided Tool" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." @@ -11039,13 +11029,13 @@ msgstr "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." @@ -11053,7 +11043,7 @@ msgstr "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." @@ -11061,22 +11051,22 @@ msgstr "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "[success] Excellon object with alignment drills created..." -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "[WARNING_NOTCL] There is no Gerber object loaded ..." -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." @@ -11084,21 +11074,21 @@ msgstr "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "[WARNING_NOTCL] There is no Box object loaded ..." -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "[success] Gerber %s was mirrored..." -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "[WARNING_NOTCL] There is no Excellon object loaded ..." -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." @@ -11106,16 +11096,16 @@ msgstr "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "[success] Excellon %s was mirrored..." -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "[WARNING_NOTCL] There is no Geometry object loaded ..." -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "[success] Geometry %s was mirrored..." @@ -11125,9 +11115,9 @@ msgid "Film PCB" msgstr "Film PCB" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" -msgstr "Object Type:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" +msgstr "Object Type" #: flatcamTools/ToolFilm.py:58 msgid "" @@ -11142,14 +11132,14 @@ msgstr "" "in the Film Object combobox." #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" -msgstr "Film Object:" +msgid "Film Object" +msgstr "Film Object" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "Object for which to create the film." -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "Box Type:" @@ -11166,8 +11156,8 @@ msgstr "" "in the Box Object combobox." #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" -msgstr "Box Object:" +msgid "Box Object" +msgstr "Box Object" #: flatcamTools/ToolFilm.py:106 msgid "" @@ -11205,35 +11195,35 @@ msgstr "" " FlatCAM object, but directly save it in SVG format\n" "which can be opened with Inkscape." -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "Generating Film ..." -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "Export SVG positive" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "[WARNING_NOTCL] Export SVG positive cancelled." -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "Export SVG negative" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "[WARNING_NOTCL] Export SVG negative cancelled." @@ -11254,8 +11244,8 @@ msgstr "" "It can be of type: Gerber or Geometry." #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" -msgstr "DPI value:" +msgid "DPI value" +msgstr "DPI value" #: flatcamTools/ToolImage.py:65 msgid "Specify a DPI value for the image." @@ -11342,11 +11332,11 @@ msgstr "Import image" msgid "Open a image of raster type and then import it in FlatCAM." msgstr "Open a image of raster type and then import it in FlatCAM." -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "Image Tool" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "Import IMAGE" @@ -11354,10 +11344,6 @@ msgstr "Import IMAGE" msgid "Measurement" msgstr "Measurement" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "Units:" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "Those are the units in which the distance is measured." @@ -11391,16 +11377,16 @@ msgid "This is the measuring Stop point coordinates." msgstr "This is the measuring Stop point coordinates." #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" -msgstr "Dx:" +msgid "Dx" +msgstr "Dx" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 msgid "This is the distance measured over the X axis." msgstr "This is the distance measured over the X axis." #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" -msgstr "Dy:" +msgid "Dy" +msgstr "Dy" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 msgid "This is the distance measured over the Y axis." @@ -11482,11 +11468,23 @@ msgstr "[WARNING_NOTCL] Object(s) not selected" msgid "Non-Copper Clearing" msgstr "Non-Copper Clearing" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " -msgstr "Gerber object to be cleared of excess copper. " +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "Object to be cleared of excess copper." + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -11494,7 +11492,7 @@ msgstr "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -11510,7 +11508,7 @@ msgstr "" "in the resulting geometry. This is because with some tools\n" "this function will not be able to create painting geometry." -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -11534,15 +11532,11 @@ msgstr "" "table.
Choosing the V-Shape Tool Type automatically will select " "the Operation Type in the resulting geometry as Isolation." -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "Tool Dia" - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Diameter for the new tool to add in the Tool Table" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -11551,41 +11545,23 @@ msgstr "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row(s) in the Tool Table." -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." -msgstr "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" +msgstr "Area Selection" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." -msgstr "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" +msgstr "Reference Object" -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" -msgstr "Ref. Type:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" +msgstr "Reference:" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "Ref. Type" + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -11593,37 +11569,37 @@ msgstr "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" -msgstr "Ref. Object:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" +msgstr "Ref. Object" -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "The FlatCAM object to be used as non copper clearing reference." -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "Generate Geometry" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "[success] New tool added to Tool Table." -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "[success] Tool from Tool Table was edited." -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." @@ -11631,58 +11607,76 @@ msgstr "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Delete failed. Select a tool to delete." -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "[success] Tool(s) deleted from Tool Table." -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "[WARNING_NOTCL] Click the start point of the area." + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "[WARNING_NOTCL] Click the end point of the paint area." + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "Zone added. Right click to finish." + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "[ERROR_NOTCL] No object available." -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "[WARNING_NOTCL] Buffering ..." -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "[success] Buffering finished ..." -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "[ERROR_NOTCL] The selected object is not suitable for copper clearing." + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "Clearing Non-Copper areas." -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "[success] Non-Copper Clearing with ToolDia = %s started." -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "[success] NCC Tool finished." -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." @@ -11690,17 +11684,17 @@ msgstr "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "[success] Non-Copper Rest Clearing with ToolDia = %s started." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -11738,19 +11732,23 @@ msgstr "[ERROR_NOTCL] Open PDF file failed." msgid "[success] Rendered: %s" msgstr "[success] Rendered: %s" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" -msgstr "Paint Area" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" -msgstr "Geometry:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." +msgstr "Object to be painted." -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "Geometry object to be painted. " - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -11758,7 +11756,7 @@ msgstr "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -11774,11 +11772,11 @@ msgstr "" "in the resulting geometry. This is because with some tools\n" "this function will not be able to create painting geometry." -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "Diameter for the new tool." -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -11798,74 +11796,92 @@ msgstr "" "\n" "If not checked, use the standard algorithm." -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "Single Polygon" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "All Polygons" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "Create Paint Geometry" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "geometry_on_paint_button" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "[WARNING_NOTCL] Click inside the desired polygon." -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "Painting polygon..." -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "[WARNING_NOTCL] Click the start point of the paint area." -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "[WARNING_NOTCL] Click the end point of the paint area." - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "Done." - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "[WARNING] No polygon found." -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "Painting polygon." -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "[ERROR_NOTCL] Geometry could not be painted completely" -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -11876,18 +11892,18 @@ msgstr "" "different strategy of paint\n" "%s" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "Polygon Paint started ..." -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -11898,7 +11914,7 @@ msgstr "" "Or a different Method of paint\n" "%s" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -11910,11 +11926,11 @@ msgstr "" "geometry.\n" "Change the painting parameters and try again." -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "[success] Paint All Done." -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -11926,7 +11942,7 @@ msgstr "" "geometry.\n" "Change the painting parameters and try again." -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "[success] Paint All with Rest-Machining done." @@ -11954,17 +11970,9 @@ msgstr "" "Object to be panelized. This means that it will\n" "be duplicated in an array of rows and columns." -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "Object" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "Bounding Box" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" -msgstr "Penelization Reference:" +msgid "Penelization Reference" +msgstr "Penelization Reference" #: flatcamTools/ToolPanelize.py:88 msgid "" @@ -11986,6 +11994,10 @@ msgstr "" "to this reference object therefore maintaining the panelized\n" "objects in sync." +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "Box Type" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -12007,8 +12019,8 @@ msgstr "" " selected object that is to be panelized." #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" -msgstr "Panel Data:" +msgid "Panel Data" +msgstr "Panel Data" #: flatcamTools/ToolPanelize.py:136 msgid "" @@ -12026,10 +12038,6 @@ msgstr "" "The spacings will set the distance between any two\n" "elements of the panel array." -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "Panel Type:" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -12041,8 +12049,8 @@ msgstr "" "- Gerber" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" -msgstr "Constrain panel within:" +msgid "Constrain panel within" +msgstr "Constrain panel within" #: flatcamTools/ToolPanelize.py:227 msgid "Panelize Object" @@ -12058,16 +12066,16 @@ msgstr "" "In other words it creates multiple copies of the source object,\n" "arranged in a 2D array of rows and columns." -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "Panel. Tool" -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "[WARNING_NOTCL]No object Box. Using instead %s" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." @@ -12075,15 +12083,15 @@ msgstr "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "Generating panel ... Please wait." -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "[success] Panel done..." -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " @@ -12092,7 +12100,7 @@ msgstr "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " "{row} rows" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "[success] Panel created successfully." @@ -12105,12 +12113,12 @@ msgid "Import 2-file Excellon" msgstr "Import 2-file Excellon" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" -msgstr "Load files:" +msgid "Load files" +msgstr "Load files" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" -msgstr "Excellon file:" +msgid "Excellon file" +msgstr "Excellon file" #: flatcamTools/ToolPcbWizard.py:59 msgid "" @@ -12121,8 +12129,8 @@ msgstr "" "Usually it has a .DRL extension" #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" -msgstr "INF file:" +msgid "INF file" +msgstr "INF file" #: flatcamTools/ToolPcbWizard.py:67 msgid "Load the INF file." @@ -12137,20 +12145,20 @@ msgid "Tool diameter in file units." msgstr "Tool diameter in file units." #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" -msgstr "Excellon format:" +msgid "Excellon format" +msgstr "Excellon format" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" -msgstr "Int. digits:" +msgid "Int. digits" +msgstr "Int. digits" #: flatcamTools/ToolPcbWizard.py:97 msgid "The number of digits for the integral part of the coordinates." msgstr "The number of digits for the integral part of the coordinates." #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" -msgstr "Frac. digits:" +msgid "Frac. digits" +msgstr "Frac. digits" #: flatcamTools/ToolPcbWizard.py:106 msgid "The number of digits for the fractional part of the coordinates." @@ -12161,8 +12169,8 @@ msgid "No Suppression" msgstr "No Suppression" #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" -msgstr "Zeros supp.:" +msgid "Zeros supp." +msgstr "Zeros supp." #: flatcamTools/ToolPcbWizard.py:116 msgid "" @@ -12178,10 +12186,6 @@ msgstr "" "- TZ = trailing zeros are kept\n" "- No Suppression = no zero suppression" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "Units" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -12206,19 +12210,19 @@ msgstr "" "One usually has .DRL extension while\n" "the other has .INF extension." -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "PCBWizard Tool" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "Load PcbWizard Excellon file" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "Load PcbWizard INF file" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" @@ -12228,52 +12232,110 @@ msgstr "" "Try to open the Excellon file from File -> Open -> Excellon\n" "and edit the drill diameters manually." -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "[success] PcbWizard .INF file loaded." -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "[success] Main PcbWizard Excellon file loaded." -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "[ERROR_NOTCL] Cannot parse file: %s" -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "Importing Excellon." -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "[ERROR_NOTCL] Import Excellon file failed." -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "[success] Imported: %s" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "[ERROR_NOTCL] The imported Excellon file is None." -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "[success] Object Properties are displayed." -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "Properties Tool" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "TYPE" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "NAME" + +#: flatcamTools/ToolProperties.py:127 +msgid "Dimensions" +msgstr "Dimensions" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "Options" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "Geo Type" + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "Single-Geo" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "Multi-Geo" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "Width" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "Box Area" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "Convex_Hull Area" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "Inch" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "Metric" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "Present" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "None" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "...proccessing..." @@ -12338,8 +12400,8 @@ msgid "Generate solder paste dispensing geometry." msgstr "Generate solder paste dispensing geometry." #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" -msgstr "STEP 1:" +msgid "STEP 1" +msgstr "STEP 1" #: flatcamTools/ToolSolderPaste.py:144 msgid "" @@ -12378,8 +12440,8 @@ msgstr "" "on PCB pads." #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" -msgstr "STEP 2:" +msgid "STEP 2" +msgstr "STEP 2" #: flatcamTools/ToolSolderPaste.py:308 msgid "" @@ -12390,8 +12452,8 @@ msgstr "" "geometry out of an Solder Paste Mask Gerber file." #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" -msgstr "Geo Result:" +msgid "Geo Result" +msgstr "Geo Result" #: flatcamTools/ToolSolderPaste.py:326 msgid "" @@ -12404,8 +12466,8 @@ msgstr "" "'_solderpaste' as a protection." #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" -msgstr "STEP 3:" +msgid "STEP 3" +msgstr "STEP 3" #: flatcamTools/ToolSolderPaste.py:337 msgid "" @@ -12424,8 +12486,8 @@ msgstr "" "and only after that you can generate an updated CNCJob." #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" -msgstr "CNC Result:" +msgid "CNC Result" +msgstr "CNC Result" #: flatcamTools/ToolSolderPaste.py:359 msgid "" @@ -12464,8 +12526,8 @@ msgstr "" "on PCB pads, to a file." #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" -msgstr "STEP 4:" +msgid "STEP 4" +msgstr "STEP 4" #: flatcamTools/ToolSolderPaste.py:383 msgid "" @@ -12479,45 +12541,45 @@ msgstr "" msgid "Delete Object" msgstr "Delete Object" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "[success] New Nozzle tool added to Tool Table." -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "[success] Nozzle tool from Tool Table was edited." -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "[success] Nozzle tool(s) deleted from Tool Table." -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "Creating Solder Paste dispensing geometry." -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "[WARNING_NOTCL] No Nozzle tools in the tool table." -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "[success] Solder Paste geometry generated successfully..." -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." @@ -12525,15 +12587,15 @@ msgstr "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "Generating Solder Paste dispensing geometry..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "[WARNING_NOTCL] There is no Geometry object available." -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." @@ -12541,13 +12603,13 @@ msgstr "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "[success] ToolSolderPaste CNCjob created: %s" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." @@ -12555,33 +12617,33 @@ msgstr "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "[ERROR_NOTCL] No Gcode in the object..." -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "Export GCode ..." -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "[success] Solder paste dispenser GCode file saved to: %s" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" -msgstr "Gerber Objects" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" +msgstr "Gerber Objects" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" -msgstr "Target:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" +msgstr "Target" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." @@ -12589,11 +12651,11 @@ msgstr "" "Gerber object from which to substract\n" "the substractor Gerber object." -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" -msgstr "Substractor:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" +msgstr "Substractor" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." @@ -12601,11 +12663,11 @@ msgstr "" "Gerber object that will be substracted\n" "from the target Gerber object." -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "Substract Gerber" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -12617,11 +12679,11 @@ msgstr "" "Can be used to remove the overlapping silkscreen\n" "over the soldermask." -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" -msgstr "Geometry Objects" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" +msgstr "Geometry Objects" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." @@ -12629,7 +12691,7 @@ msgstr "" "Geometry object from which to substract\n" "the substractor Geometry object." -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." @@ -12637,11 +12699,11 @@ msgstr "" "Geometry object that will be substracted\n" "from the target Geometry object." -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "Substract Geometry" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." @@ -12649,47 +12711,48 @@ msgstr "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "Sub Tool" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "[ERROR_NOTCL] No Target object loaded." -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "[ERROR_NOTCL] No Substractor object loaded." -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "Parsing aperture %s geometry ..." -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "Generating new object ..." -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "[ERROR_NOTCL] Generating new object failed." -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "[success] Created: %s" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "Parsing solid_geometry ..." -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "Parsing tool %s geometry ..." @@ -12728,15 +12791,7 @@ msgstr "" "The point of reference depends on \n" "the Scale reference checkbox state." -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -12746,7 +12801,7 @@ msgstr "" "The point of reference is the middle of\n" "the bounding box for all selected objects.\n" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" @@ -12756,52 +12811,446 @@ msgstr "" "Does not create a new object.\n" " " -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "CNCJob objects can't be rotated." -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "[success] Rotate done ..." -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "[WARNING_NOTCL] No object selected. Please Select an object to flip!" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "CNCJob objects can't be mirrored/flipped." -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "CNCJob objects can't be skewed." -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "[WARNING_NOTCL] No object selected. Please Select an object to scale!" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "CNCJob objects can't be scaled." -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "[WARNING_NOTCL] No object selected. Please Select an object to offset!" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "CNCJob objects can't be offseted." +#~ msgid "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." +#~ msgstr "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." + +#~ msgid "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." +#~ msgstr "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." + +#~ msgid "Geometry object to be painted. " +#~ msgstr "Geometry object to be painted. " + +#~ msgid "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." +#~ msgstr "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." + +#~ msgid "Done." +#~ msgstr "Done." + +#~ msgid "Apertures:" +#~ msgstr "Apertures:" + +#~ msgid "Aperture Code:" +#~ msgstr "Aperture Code:" + +#~ msgid "Languages:" +#~ msgstr "Languages:" + +#~ msgid "Width (# passes):" +#~ msgstr "Width (# passes):" + +#~| msgid "Clear non-copper:" +#~ msgid "Clear non-copper" +#~ msgstr "Clear non-copper" + +#~ msgid "Rounded corners" +#~ msgstr "Rounded corners" + +#~ msgid "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." +#~ msgstr "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." + +#~ msgid "Bounding Box:" +#~ msgstr "Bounding Box:" + +#~ msgid "Units:" +#~ msgstr "Units:" + +#~ msgid "Zeros:" +#~ msgstr "Zeros:" + +#~ msgid "INCH:" +#~ msgstr "INCH:" + +#~ msgid "Tool change:" +#~ msgstr "Tool change:" + +#~ msgid "Toolchange Z position." +#~ msgstr "Toolchange Z position." + +#~ msgid "Feedrate:" +#~ msgstr "Feedrate:" + +#~ msgid "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." +#~ msgstr "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." + +#~ msgid "Gcode: " +#~ msgstr "Gcode: " + +#~ msgid "Offset Z:" +#~ msgstr "Offset Z:" + +#~ msgid "Slots:" +#~ msgstr "Slots:" + +#~ msgid "Create CNC Job:" +#~ msgstr "Create CNC Job:" + +#~ msgid "Multidepth" +#~ msgstr "Multidepth" + +#~ msgid "Multidepth usage: True or False." +#~ msgstr "Multidepth usage: True or False." + +#~ msgid "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." +#~ msgstr "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." + +#~ msgid "Display Annotation:" +#~ msgstr "Display Annotation:" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." +#~ msgstr "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." + +#~ msgid "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." +#~ msgstr "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." + +#~ msgid "Offset:" +#~ msgstr "Offset:" + +#~ msgid "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." +#~ msgstr "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." + +#~ msgid "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." +#~ msgstr "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." + +#~ msgid "Create a convex shape surrounding the entire PCB." +#~ msgstr "Create a convex shape surrounding the entire PCB." + +#~ msgid "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." +#~ msgstr "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." + +#~ msgid "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." +#~ msgstr "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." + +#~ msgid "Panel Type:" +#~ msgstr "Panel Type:" + +#~ msgid "Tip angle:" +#~ msgstr "Tip angle:" + +#~ msgid "Angle for rotation. In degrees." +#~ msgstr "Angle for rotation. In degrees." + +#~ msgid "Angle for Skew/Shear on X axis. In degrees." +#~ msgstr "Angle for Skew/Shear on X axis. In degrees." + +#~ msgid "Angle for Skew/Shear on Y axis. In degrees." +#~ msgstr "Angle for Skew/Shear on Y axis. In degrees." + +#~ msgid "XY Toolchange:" +#~ msgstr "XY Toolchange:" + +#~ msgid "PostProcessors:" +#~ msgstr "PostProcessors:" + +#~ msgid "Scale:" +#~ msgstr "Scale:" + +#~ msgid "Offset:" +#~ msgstr "Offset:" + +#~ msgid "Combine" +#~ msgstr "Combine" + +#~ msgid "Tools Table" +#~ msgstr "Tools Table" + +#~ msgid "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." +#~ msgstr "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." + +#~ msgid "" +#~ "Z-axis position (height) for\n" +#~ "the last move." +#~ msgstr "" +#~ "Z-axis position (height) for\n" +#~ "the last move." + +#~ msgid "" +#~ "The json file that dictates\n" +#~ "gcode output." +#~ msgstr "" +#~ "The json file that dictates\n" +#~ "gcode output." + +#~ msgid "Type: " +#~ msgstr "Type: " + +#~ msgid "Drills Tool dia:" +#~ msgstr "Drills Tool dia:" + +#~ msgid "Slots Tool dia:" +#~ msgstr "Slots Tool dia:" + +#~ msgid "Tool Dia:" +#~ msgstr "Tool Dia:" + +#~ msgid "Tool Data" +#~ msgstr "Tool Data" + +#~ msgid "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." +#~ msgstr "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." + +#~ msgid "Feed Rate Z (Plunge):" +#~ msgstr "Feed Rate Z (Plunge):" + +#~ msgid "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" +#~ msgstr "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" + +#~ msgid "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." +#~ msgstr "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." + +#~ msgid "Cut over 1st pt" +#~ msgstr "Cut over 1st pt" + +#~ msgid "Paint Area:" +#~ msgstr "Paint Area:" + +#~ msgid "CNC Tools Table" +#~ msgstr "CNC Tools Table" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." +#~ msgstr "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." + +#~ msgid "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." +#~ msgstr "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." + +#~ msgid "Object:" +#~ msgstr "Object:" + +#~ msgid "Units:" +#~ msgstr "Units:" + +#~ msgid "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." +#~ msgstr "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." + +#~ msgid "Geometry:" +#~ msgstr "Geometry:" + +#~ msgid "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." +#~ msgstr "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." + +#~ msgid "Excellon Format:" +#~ msgstr "Excellon Format:" + +#~ msgid "Tools:" +#~ msgstr "Tools:" + +#~ msgid "Export G-Code:" +#~ msgstr "Export G-Code:" + +#~ msgid "How to select the polygons to paint." +#~ msgstr "How to select the polygons to paint." + +#~ msgid "V-Shape Tool Calculator:" +#~ msgstr "V-Shape Tool Calculator:" + +#~ msgid "ElectroPlating Calculator:" +#~ msgstr "ElectroPlating Calculator:" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Plot kind:" +#~ msgstr "Plot kind:" + +#~ msgid "Display Annotation:" +#~ msgstr "Display Annotation:" + +#~ msgid "GERBER:" +#~ msgstr "GERBER:" + +#~ msgid "EXCELLON:" +#~ msgstr "EXCELLON:" + +#~ msgid "GEOMETRY:" +#~ msgstr "GEOMETRY:" + +#~ msgid "Panel Type:" +#~ msgstr "Panel Type:" + +#~ msgid "Excellon format:" +#~ msgstr "Excellon format:" + +#~ msgid "Gerber Objects" +#~ msgstr "Gerber Objects" + +#~ msgid "Geometry Objects" +#~ msgstr "Geometry Objects" + #~ msgid "Save &Defaults" #~ msgstr "Save &Defaults" @@ -13335,9 +13784,6 @@ msgstr "CNCJob objects can't be offseted." #~ msgstr "" #~ "[ERROR_NOTCL] The aperture scale factor value is missing or wrong format." -#~ msgid "[ERROR_NOTCL] The aperture buffer value is missing or wrong format." -#~ msgstr "[ERROR_NOTCL] The aperture buffer value is missing or wrong format." - #~ msgid "[ERROR_NOTCL]Cancelled. Empty file, it has no geometry..." #~ msgstr "[ERROR_NOTCL]Cancelled. Empty file, it has no geometry..." diff --git a/locale/es/LC_MESSAGES/strings.mo b/locale/es/LC_MESSAGES/strings.mo index ce82af6c..d87becb2 100644 Binary files a/locale/es/LC_MESSAGES/strings.mo and b/locale/es/LC_MESSAGES/strings.mo differ diff --git a/locale/es/LC_MESSAGES/strings.po b/locale/es/LC_MESSAGES/strings.po index 694c3b8b..3fb5a557 100644 --- a/locale/es/LC_MESSAGES/strings.po +++ b/locale/es/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-08-17 15:14+0300\n" -"PO-Revision-Date: 2019-08-17 15:15+0300\n" +"POT-Creation-Date: 2019-08-23 22:47+0300\n" +"PO-Revision-Date: 2019-08-23 22:56+0300\n" "Last-Translator: Marius Stanciu - Google Translate\n" "Language-Team: \n" "Language: es\n" @@ -22,17 +22,17 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "Proyecto nuevo: no guardado" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] No se pudieron encontrar los archivos de idioma. Las cadenas de " "aplicación faltan." -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "Tabulacion desmontables" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" @@ -40,25 +40,29 @@ msgstr "" "(Para empezar escriba: help)\n" "\n" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "Proyecto nuevo: no guardado" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Abierto cancelado." -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "El archivo de configuración abierto falló." -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "Error al abrir el archivo de script." -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" "[WARNING_NOTCL] Seleccione un objeto Geometry, Gerber o Excellon para editar." -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -68,90 +72,92 @@ msgstr "" "Geometría Geo múltiple no es posible.\n" "Editar solo una geometría a la vez." -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editor está activado ..." -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "Quieres guardar el objeto editado?" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "Cerrar Editor" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "Sí" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "No" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "Cancelar" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Objeto vacío después de editar." -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Seleccione un objeto Gerber, Geometry o Excellon para " "actualizar." -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s Se actualiza, volviendo a la aplicación ..." -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] No se pudo cargar el archivo por defecto." -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Error al analizar el archivo por defecto." -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "Importar preferencias de FlatCAM" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] Preferencia de preferencias de FlatCAM cancelada." -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "[ERROR_NOTCL] No se pudo cargar el archivo por defecto." -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Error al analizar el archivo por defecto." -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Valores predeterminados importados de%s" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "Exportar preferencias de FlatCAM" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] Preferencia de exportación de FlatCAM cancelada." -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -160,37 +166,37 @@ msgstr "" "Lo más probable es que otra aplicación mantenga el archivo abierto y no " "accesible." -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "" "[ERROR_NOTCL] Error al escribir los valores predeterminados en el archivo." -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" "[ERROR_NOTCL] Error al abrir el archivo de archivos recientes para escribir." -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "" "[ERROR_NOTCL] Error al abrir el archivo de proyectos recientes para escribir." -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "[ERROR_NOTCL] Ha ocurrido un error interno. Ver concha\n" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" "\n" msgstr "El objeto ({kind}) falló porque: {error}\n" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "Convertir unidades a " -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name} " "{name} " -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -222,42 +228,42 @@ msgstr "" "org/jpcgt/flatcam/src/Beta/\"> aquí.
Área de DESCARGA aquí.
" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "Cerca" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "[success] Valores predeterminados guardados." -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "" "[ERROR_NOTCL] No se pudo cargar el archivo de valores predeterminados de " "fábrica." -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "" "[ERROR_NOTCL] Error al analizar el archivo de valores predeterminados de " "fábrica." -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" "[ERROR_NOTCL] Error al escribir los valores predeterminados de fábrica en el " "archivo." -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "Valores predeterminados de fábrica guardados." -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "" "[WARNING_NOTCL] La aplicación es guardar el proyecto. Por favor espera ..." -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -265,11 +271,11 @@ msgstr "" "Hay archivos / objetos modificados en FlatCAM.\n" "¿Quieres guardar el proyecto?" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Guardar cambios" -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -285,46 +291,46 @@ msgstr "" "pueden perderse y el resultado puede no ser el esperado.\n" "Compruebe el GCODE generado." -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Ha fallado. La unión de Excellon funciona solo en objetos de " "Excellon." -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Ha fallado. La unión de gerber funciona solo en objetos de " "gerber." -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" "[ERROR_NOTCL] Ha fallado. Seleccione un objeto de geometría y vuelva a " "intentarlo." -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Se esperaba un FlatCAMGeometry, se obtuvo%s" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Un objeto Geometry fue convertido al tipo MultiGeo." -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Un objeto Geometry fue convertido al tipo SingleGeo." -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "(Escriba ayuda para empezar)" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." -msgstr "Cambiar unidades de proyecto ..." +#: FlatCAMApp.py:4172 +msgid "Change project units ..." +msgstr "Cambiar unidades de proyecto ..." -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -334,43 +340,43 @@ msgstr "" "geométricas de todos los objetos se escalen en consecuencia.\n" "¿Continuar?" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "De acuerdo" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Unidades convertidas a%s" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Conversión de unidades cancelada." -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "Abrir documento" -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "Exportar G-Code ..." -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Código de exportación cancelado." -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "[WARNING] El fichero o directorio no existe" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "Guardado en:%s" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." @@ -378,12 +384,12 @@ msgstr "" "[WARNING_NOTCL] Introduzca un diámetro de herramienta con valor distinto de " "cero, en formato Float." -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Añadiendo herramienta cancelada ..." -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -391,11 +397,11 @@ msgstr "" "Agregar herramienta solo funciona cuando se selecciona Avanzado.\n" "Vaya a Preferencias -> General - Mostrar opciones avanzadas." -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "Eliminar objetos" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -403,67 +409,67 @@ msgstr "" "¿Estás seguro de que deseas eliminarlo permanentemente?\n" "los objetos seleccionados?" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "Objeto (s) eliminado (s) ..." -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "Ha fallado. Ningún objeto (s) seleccionado ..." -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "Guarda el trabajo en el Editor y vuelve a intentarlo ..." -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "Haga clic para establecer el origen ..." -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "Salta a ..." -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "Introduzca las coordenadas en formato X, Y:" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Coordenadas erróneas. Introduzca las coordenadas en formato: X, Y" -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "[success] Hecho." -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" "[WARNING_NOTCL] Ningún objeto está seleccionado. Seleccione un objeto y " "vuelva a intentarlo." -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "[success] Origen establecido ..." -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "Preferencias" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "[WARNING_NOTCL] Preferencias editadas pero no guardadas." -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -471,111 +477,111 @@ msgstr "" "Uno o más valores son cambiados.\n" "¿Quieres guardar las preferencias?" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "Guardar Preferencias" -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "[success] Preferencias guardadas." -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "[WARNING_NOTCL] Ningún objeto seleccionado para voltear en el eje Y." -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "[success] Flip en el eje Y hecho." -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Debido a %s, la acción Flip no se ejecutó." -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "[WARNING_NOTCL] Ningún objeto seleccionado para voltear en el eje X." -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "[success] Flip en el eje X hecho." -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Ningún objeto seleccionado para rotar." -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "Transformar" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "Ingrese el valor del ángulo:" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "[success] Rotación realizada." -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Debido a%s, no se ejecutó el movimiento de rotación." -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado para sesgar / esquilar en el eje " "X." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "[success] Sesgo en eje x hecho." -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado para sesgar / esquilar en el eje " "Y." -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "[success] Sesgo en eje Y hecho." -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "Grid On / Off" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "Añadir" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Borrar" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "Nueva rejilla ..." -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "Introduzca un valor de cuadrícula:" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -583,56 +589,56 @@ msgstr "" "[WARNING_NOTCL] Introduzca un valor de cuadrícula con un valor distinto de " "cero, en formato Float." -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "[success] Nueva cuadrícula agregada ..." -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] La rejilla ya existe ..." -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Añadiendo nueva grilla cancelada ..." -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL]El valor de cuadrícula no existe ..." -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "[success] Valor de cuadrícula eliminado ..." -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Eliminar el valor de cuadrícula cancelado ..." -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "Lista de atajos de teclas" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] Ningún objeto seleccionado para copiar su nombre" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "Nombre copiado en el portapapeles ..." -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "[success] Coordenadas copiadas al portapapeles." -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected] {name} seleccionado" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -642,111 +648,111 @@ msgstr "" "Crear un nuevo proyecto los borrará.\n" "¿Quieres guardar el proyecto?" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "[success] Nuevo proyecto creado ..." -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "Abrir gerber" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Gerber abierto cancelado." -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "Abierto Excellon" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Abierto Excellon cancelado." -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "Código G abierto" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Open G-Code cancelado." -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "Proyecto abierto" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Proyecto abierto cancelado." -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "Abrir archivo de configuración" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Abrir configuración cancelada." -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Ningún objeto seleccionado." -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "Seleccione un objeto de geometría para exportar" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" "[ERROR_NOTCL] Solo se pueden utilizar objetos Geometry, Gerber y CNCJob." -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "Exportar SVG" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Exportación SVG cancelada." -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" "[WARNING_NOTCL] Los datos deben ser una matriz 3D con la última dimensión 3 " "o 4" -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "Exportar imagen PNG" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "Exportación PNG cancelada." -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Por favor, seleccione un objeto " "Gerber para exportar." -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Ha fallado. Solo los objetos Gerber se pueden guardar como " "archivos Gerber ..." -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "Guardar el archivo fuente de Gerber" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Guardar el archivo fuente de Gerber cancelado." -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -754,22 +760,22 @@ msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Por favor, seleccione un objeto " "Excellon para exportar." -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Ha fallado. Solo los objetos Excellon se pueden guardar como " "archivos Excellon ..." -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "Guardar el archivo fuente de Excellon" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Guardando el archivo fuente Excellon cancelado." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -777,70 +783,70 @@ msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Seleccione un objeto Excellon " "para exportar." -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "Exportar Excellon" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Exportación excellon cancelada." -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Seleccione un objeto Gerber para " "exportar." -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "Gerber Exportación" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Exportación Gerber cancelada." -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Solo se pueden utilizar objetos de geometría." -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "Exportar DXF" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Exportación DXF cancelada." -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "Importar SVG" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Abierto SVG cancelado." -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "Importar DXF" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Abierto DXF cancelado." -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Seleccione un archivo Gerber o Excellon para ver su archivo " "fuente." -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -848,25 +854,25 @@ msgstr "" "[WARNING_NOTCL] No hay ningún objeto seleccionado para el cual ver su código " "fuente." -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "Editor de fuente" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "Editor de código" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "Editor de guiones" -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -910,98 +916,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "Abrir script TCL" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Abrir el script TCL cancelado." -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "Ejecutar script TCL" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Ejecutar script TCL cancelado." -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "Guardar proyecto como ..." -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Proyecto_{date}" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Guardar proyecto cancelado." -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "Exportando SVG" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] Archivo SVG exportado a %s" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Cuadro sin objeto. Usando en su lugar %s" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "Generando Película ... Por favor espere." -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excelente archivo exportado a %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "Exportando excellon" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] No se pudo exportar el archivo de Excellon." -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Archivo Gerber exportado a %s" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "Gerber exportador" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] No se pudo exportar el archivo Gerber." -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] Archivo DXF exportado a %s" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "Exportando DXF" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[WARNING_NOTCL] No se pudo exportar el archivo DXF." -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -1009,99 +1015,99 @@ msgstr "" "[ERROR_NOTCL] El tipo no soportado se elige como parámetro. Solo Geometría y " "Gerber son compatibles" -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "Importando SVG" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Abrió: %s" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "Importando DXF" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "Importando imagen" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Error al abrir el archivo: %s" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Error al analizar el archivo: {name}. {error}" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "[ERROR] Ha ocurrido un error interno. Ver concha\n" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] El objeto no es un archivo Gerber o está vacío. Anulando la " "creación de objetos." -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "Apertura de gerber" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Gerber abierto fracasó. Probablemente no sea un archivo de " "Gerber." -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Este no es un archivo de Excellon." -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] No se puede abrir el archivo: %s" -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "[ERROR_NOTCL] Ha ocurrido un error interno. Ver concha.\n" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] No se encontró geometría en el archivo: %s" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "Apertura Excellon." -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Error al abrir el archivo Excellon. Probablemente no sea un " "archivo de Excellon." -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Error al abrir %s" -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Esto no es GCODE" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "Apertura del código G." -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1112,26 +1118,34 @@ msgstr "" "  El intento de crear un objeto FlatCAM CNCJob desde un archivo G-Code falló " "durante el procesamiento" -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Error al abrir el archivo de configuración: %s" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "Cargando proyecto ... Espere ..." + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Error al abrir el archivo de proyecto: %s" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "Cargando Proyecto ... restaurando" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Proyecto cargado desde: %s" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "Comandos disponibles:\n" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1143,37 +1157,37 @@ msgstr "" "Escriba help para su uso.\n" "Ejemplo: help open_gerber" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "Muestra la lista de comandos." -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Error al cargar la lista de elementos recientes." -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Error al analizar la lista de elementos recientes." -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "" "[ERROR_NOTCL] Error al cargar la lista de elementos de proyectos recientes." -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "" "[ERROR_NOTCL] Error al analizar la lista de elementos del proyecto reciente." -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "Borrar archivos recientes" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr " Lista de teclas de acceso directo " -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1274,25 +1288,25 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Falló la comprobación de la última versión. No pudo conectar." -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] No se pudo analizar la información sobre la última versión." -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM está al día!" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "Nueva versión disponible" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1300,86 +1314,86 @@ msgstr "" "Hay una versión más nueva de FlatCAM disponible para descargar:\n" "\n" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "info" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "[success] Todas las parcelas con discapacidad." -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "[success] Todas las parcelas no seleccionadas deshabilitadas." -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "[success] Todas las parcelas habilitadas." -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "[success] Parcelas seleccionadas habilitadas ..." -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "[success] Parcelas seleccionadas deshabilitadas ..." -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "Trabajando ..." -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "Proyecto FlatCAM de ahorro" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Proyecto guardado en: %s" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Error al verificar el archivo del proyecto: %s. Vuelva a " "intentarlo para guardarlo." -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Error al analizar el archivo de proyecto guardado: %s. Vuelva " "a intentarlo para guardarlo." -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Error al guardar el archivo de proyecto: %s. Vuelva a " "intentarlo para guardarlo." -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] El nombre cambió de {old} a {new}" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "Avanzado" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "[ERROR_NOTCL] La geometría de aislamiento no se pudo generar." -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "Áspero" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Geometría de aislamiento creada: %s" @@ -1388,34 +1402,34 @@ msgstr "[success] Geometría de aislamiento creada: %s" msgid "Plotting Apertures" msgstr "Aperturas de trazado" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "Taladros totales" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "Ranuras totales" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Formato de valor incorrecto introducido, use un número." @@ -1438,9 +1452,9 @@ msgid "Tool_nr" msgstr "Herramienta_nu" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Diámetro" @@ -1480,8 +1494,8 @@ msgstr "" msgid "Generating CNC Code" msgstr "Generando Código CNC" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1491,16 +1505,16 @@ msgstr "" "en el formato (x, y)\n" "pero ahora solo hay un valor, no dos. " -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "Aisl." -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "Terminar" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "Dupdo" @@ -1575,21 +1589,21 @@ msgstr "" "herramientas pero no se proporciona ningún valor.\n" "Agregue una Herramienta de compensación o cambie el Tipo de compensación." -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Cancelado. Archivo vacío, no tiene geometría ..." -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] El factor de escala tiene que ser un número: entero o Float." -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "[success] Escala de geometría realizada." -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1597,29 +1611,29 @@ msgstr "" "[ERROR_NOTCL] Se necesita un par de valores (x, y). Probablemente haya " "ingresado un solo valor en el campo Desplazamiento." -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "[success] Desplazamiento de geometría realizado." -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "Exportar código de máquina ..." -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Exportar código de máquina cancelado ..." -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Archivo de código de máquina guardado en: %s" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1628,11 +1642,11 @@ msgstr "" "[WARNING_NOTCL] Este objeto CNCJob no se puede procesar porque es un objeto " "%s CNCJob." -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] El código G no tiene un código de unidades: G20 o G21" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1640,17 +1654,17 @@ msgstr "" "[ERROR_NOTCL] Cancelado. El código personalizado de Toolchange está " "habilitado pero está vacío." -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" "[success] El código G de Toolchange fue reemplazado por un código " "personalizado." -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] El fichero o directorio no existe" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1658,7 +1672,7 @@ msgstr "" "[WARNING_NOTCL] El archivo de postprocesador usado debe tener su nombre: " "'toolchange_custom'" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] No hay archivo de postprocesador." @@ -1689,41 +1703,41 @@ msgstr "[ERROR] Causa del error: %s" msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "[ERROR_NOTCL] self.solid_geometry no es ni BaseGeometry ni lista." -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "[success] El objeto fue reflejado ..." -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] No se pudo reflejar. Ningún objeto seleccionado" -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "[success] El objeto fue girado ..." -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] No se pudo rotar. Ningún objeto seleccionado" -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "[success] El objeto fue sesgado ..." -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Error al sesgar. Ningún objeto seleccionado" -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordenadas faltantes, línea ignorada: %s" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" "[WARNING_NOTCL] GERBER archivo podría ser CORRUPT. Revisa el archivo !!!" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1732,7 +1746,7 @@ msgstr "" "[ERROR] Región no tiene suficientes puntos. El archivo será procesado pero " "hay errores del analizador. Línea de números: %s" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1741,32 +1755,32 @@ msgstr "" "[ERROR] Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "[success] Escala de Gerber hecha." -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset hecho." -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "[success] Espejo Gerber hecho." -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "[success] Gerber Skew hecho." -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber Rotate hecho." -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Esta es la marca GCODE: %s" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1784,7 +1798,7 @@ msgstr "" "El usuario debe editar el objeto Excellon resultante y cambiar los diámetros " "para reflejar los diámetros reales." -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1793,7 +1807,7 @@ msgstr "" "[ERROR] Error de Excel Parser.\n" "Error al analizar. Línea {l_nr}: {line}\n" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1803,12 +1817,12 @@ msgstr "" "por no tener una herramienta asociada.\n" "Compruebe el GCode resultante." -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] No hay tal parámetro: %s" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1822,22 +1836,22 @@ msgstr "" "tipográfico, por lo tanto, la aplicación convertirá el valor a negativo. " "Compruebe el código CNC resultante (Gcode, etc.)." -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" msgstr "" "[WARNING] El parámetro Cut Z es cero. No habrá corte, saltando %s archivo" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] El archivo Excellon cargado no tiene perforaciones ..." -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Tipo de optimización incorrecto seleccionado." -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1845,7 +1859,7 @@ msgstr "" "[ERROR_NOTCL] El parámetro Cut_Z es Ninguno o cero. Lo más probable es una " "mala combinación de otros parámetros." -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1859,11 +1873,11 @@ msgstr "" "tipográfico, por lo tanto, la aplicación convertirá el valor a negativo. " "Verifique el código CNC resultante (Gcode, etc.)." -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] El parámetro Travel Z des Ninguno o cero." -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1877,7 +1891,7 @@ msgstr "" "error tipográfico, por lo tanto, la aplicación convertirá el valor a " "positivo. Verifique el código CNC resultante (Gcode, etc.)." -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1885,12 +1899,12 @@ msgstr "" "[WARNING] El parámetro Z Travel es cero. Esto es peligroso, saltando el " "archive %s" -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Se esperaba una geometría, se obtuvo %s" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1898,7 +1912,7 @@ msgstr "" "[ERROR_NOTCL] Intentando generar un trabajo de CNC desde un objeto de " "geometría sin solid_geometry." -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1908,54 +1922,54 @@ msgstr "" "para usarlo con la current_geometry.\n" "Aumente el valor (en el módulo) y vuelva a intentarlo." -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] No hay datos de herramientas en la geometría SolderPaste." -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "Haga clic para colocar ..." -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "" "[WARNING_NOTCL] Para agregar un taladro primero seleccione una herramienta" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "[success] Hecho. Taladro agregado." -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Para agregar una matriz de perforación, primero seleccione " "una herramienta en la Tabla de herramientas" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "Haga clic en la ubicación de destino ..." -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "" "Haga clic en la posición de inicio de la matriz circular de perforación." -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." @@ -1963,118 +1977,118 @@ msgstr "" "[ERROR_NOTCL] El valor no es Float. Compruebe si hay coma en lugar de " "separador de puntos." -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "[ERROR_NOTCL] El valor está mal escrito. Compruebe el valor. %s" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Demasiados taladros para el ángulo de separación " "seleccionado." -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "[success] Hecho. Drill Array agregado." -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "" "[WARNING_NOTCL] Para agregar un espacio primero seleccione una herramienta" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Falta el valor o el formato es incorrecto. Añádelo y vuelve " "a intentarlo." -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "[success] Hecho. Agregar de Ranura completado." -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Para agregar una matriz de ranuras, primero seleccione una " "herramienta en la tabla de herramientas" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "Haga clic en la posición de inicio de la matriz circular de ranura" -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "[ERROR_NOTCL] El valor está mal escrito. Compruebe el valor." -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Demasiadas ranuras para el ángulo de separación seleccionado." -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "[success] Hecho. Matriz de ranuras agregada." -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "Haga clic en el taladro(s) para cambiar el tamaño ..." -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "[ERROR_NOTCL] Falló el tamaño de los taladros. Por favor, introduzca un " "diámetro para cambiar el tamaño." -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "[ERROR_NOTCL] Cancelado." -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "[success] Hecho. Tamaño de taladro / ranura completado." -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "" "[WARNING_NOTCL] Cancelado. No hay taladros / ranuras seleccionados para " "cambiar el tamaño ..." -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "Haga clic en la ubicación de referencia ..." -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "[success] Hecho. Taladro (s) Movimiento completado." -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "[success] Hecho. Taladro (s) copiado." -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "Excellon Editor" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "Nombre:" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Tabla de herramientas" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2082,11 +2096,11 @@ msgstr "" "Herramientas en este objeto Excellon.\n" "Cuando se utilizan para la perforación." -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "Añadir / Eliminar herramienta" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2094,20 +2108,20 @@ msgstr "" "Agregar / Eliminar una herramienta a la lista de herramientas\n" "para este objeto Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "Dia de la herramienta:" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "Diámetro para la nueva herramienta." -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "Añadir herramienta" -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2115,11 +2129,11 @@ msgstr "" "Agregar una nueva herramienta a la lista de herramientas\n" "con el diámetro especificado anteriormente." -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "Eliminar herramienta" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2127,39 +2141,39 @@ msgstr "" "Eliminar una herramienta en la lista de herramientas\n" "seleccionando una fila en la tabla de herramientas." -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "Cambiar el tamaño de taladro (s)" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "Cambiar el tamaño de un ejercicio o una selección de ejercicios." -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "Tamaño de Dia:" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "Diámetro para redimensionar a." -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "Redimensionar" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "Cambiar el tamaño de taladro" -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "Añadir Drill Array" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "Agregar una matriz de taladros (lineal o circular)" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2167,40 +2181,38 @@ msgstr "" "Seleccione el tipo de matriz de taladros para crear.\n" "Puede ser lineal X (Y) o circular." -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "Lineal" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "Nu. de ejercicios:" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "Especifique cuántos ejercicios debe estar en la matriz." -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "Dirección:" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2212,61 +2224,62 @@ msgstr "" "- 'Y' - eje vertical o\n" "- 'Ángulo': un ángulo personalizado para la inclinación de la matriz" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Ángulo" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 +#: flatcamEditors/FlatCAMExcEditor.py:1642 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "Pitch:" msgstr "Paso:" -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 msgid "Pitch = Distance between elements of the array." msgstr "Paso = Distancia entre elementos de la matriz." -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Angle:" msgstr "Ángulo:" -#: flatcamEditors/FlatCAMExcEditor.py:1642 -#: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2278,9 +2291,9 @@ msgstr "" "El valor mínimo es: -359.99 grados.\n" "El valor máximo es: 360.00 grados." -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 +#: flatcamEditors/FlatCAMExcEditor.py:1877 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -2288,35 +2301,36 @@ msgstr "" "Dirección de la matriz circular. Puede ser CW = en sentido horario o CCW = " "en sentido antihorario." -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 msgid "CW" msgstr "CW" -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 msgid "CCW" msgstr "CCW" -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "Ángulo en el que se coloca cada elemento de la matriz circular." -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "Parámetros de ranura" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2324,15 +2338,15 @@ msgstr "" "Parámetros para agregar una ranura (agujero con forma ovalada)\n" "ya sea solo o como parte de una matriz." -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "Longitud:" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "Longitud = La longitud de la ranura." -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2344,7 +2358,7 @@ msgstr "" "- 'Y' - eje vertical o\n" "- 'Ángulo': un ángulo personalizado para la inclinación de la ranura" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2356,15 +2370,15 @@ msgstr "" "El valor mínimo es: -359.99 grados.\n" "El valor máximo es: 360.00 grados." -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "Parámetros de matriz de ranuras" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Parámetros para la matriz de ranuras (matriz lineal o circular)" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2372,15 +2386,15 @@ msgstr "" "Seleccione el tipo de matriz de ranuras para crear.\n" "Puede ser lineal X (Y) o circular" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "Nro. De ranuras:" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "Especifique cuántas ranuras debe haber en la matriz." -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2388,25 +2402,25 @@ msgstr "" "[WARNING_NOTCL] Herramienta ya en la lista de herramientas original o real.\n" "Guarde y reedite Excellon si necesita agregar esta herramienta." -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "[success] Nueva herramienta agregada con dia: {dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "[WARNING_NOTCL] Seleccione una herramienta en la tabla de herramientas" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "[success] Herramienta eliminada con dia: {del_dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "[success] Hecho. Edición de herramienta completada." -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." @@ -2414,43 +2428,41 @@ msgstr "" "[ERROR_NOTCL] No hay definiciones de herramientas en el archivo. Anulando la " "creación de Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] Ha ocurrido un error interno. Ver concha.\n" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "Creación de Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "[success] Excelente edición terminada." -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "[WARNING_NOTCL] Cancelado. No hay herramienta / taladro seleccionado" -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Hecho. Ejercicio (s) eliminado (s)." -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "Haga clic en la posición del centro matriz circular" -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "Dist. de amortiguación:" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "Rincón del búfer:" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2465,45 +2477,45 @@ msgstr "" "  - 'Biselado:' la esquina es una línea que conecta directamente las " "funciones que se encuentran en la esquina" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "Redondo" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "Cuadrado" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "Biselado" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "Interior del amortiguador" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "Amortiguador exterior" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "Buffer lleno" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "Herramienta Buffer" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2511,22 +2523,19 @@ msgstr "" "[WARNING_NOTCL] Falta el valor de la distancia del búfer o el formato es " "incorrecto. Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "Herramienta de texto" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "Herramienta" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "Diá. de la herramienta:" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2534,13 +2543,13 @@ msgstr "" "Diámetro de la herramienta para\n" "ser utilizado en la operación." -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "Tasa de superpose.:" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2567,15 +2576,12 @@ msgstr "" "Valores más altos = procesamiento lento y ejecución lenta en CNC\n" "Debido a demasiados caminos." -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "Margen:" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" @@ -2585,13 +2591,11 @@ msgstr "" "los bordes del polígono a\n" "ser pintado." -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "Método:" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." @@ -2599,33 +2603,31 @@ msgstr "" "Algoritmo para pintar el polígono:
Estándar : Paso fijo hacia " "adentro.
Basado en semillas : Hacia afuera desde las semillas." -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Estándar" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "Semillas" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Lineas rectas" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "Conectar:" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -2633,15 +2635,13 @@ msgstr "" "Dibuja líneas entre el resultado\n" "Segmentos para minimizar elevaciones de herramientas." -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "Contorno:" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -2649,23 +2649,23 @@ msgstr "" "Corta todo el perímetro del polígono.\n" "Para recortar los bordes ásperos." -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "Pintar" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Herramienta de pintura" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "[WARNING_NOTCL] Pintura cancelada. Ninguna forma seleccionada." -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." @@ -2673,14 +2673,14 @@ msgstr "" "[WARNING_NOTCL] Falta el valor del diámetro de la herramienta o el formato " "es incorrecto. Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Falta el valor de superposición o el formato es incorrecto. " "Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." @@ -2688,63 +2688,66 @@ msgstr "" "[WARNING_NOTCL] Falta el valor de la distancia de margen o formato " "incorrecto. Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "Herramientas" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "Herramienta de transformación" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Girar" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Sesgo / cizalla" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Escala" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Espejo (Flip)" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Compensar" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "Editor %s" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2756,8 +2759,8 @@ msgstr "" "Números positivos para movimiento CW.\n" "Números negativos para movimiento CCW." -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2767,15 +2770,16 @@ msgstr "" "El punto de referencia es el centro de\n" "El cuadro delimitador para todas las formas seleccionadas." -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "Ángulo X:" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2784,15 +2788,15 @@ msgstr "" "Ángulo para sesgo de acción, en grados.\n" "Número de flotación entre -360 y 359." -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Sesgo x" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2802,35 +2806,35 @@ msgstr "" "El punto de referencia es el centro de\n" "El cuadro delimitador para todas las formas seleccionadas." -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "Ángulo Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Sesgo y" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "Factor X:" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "Factor para la acción de escala sobre el eje X" -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Escala x" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2840,29 +2844,29 @@ msgstr "" "El punto de referencia depende de\n" "El estado de la casilla de verificación Escala de referencia." -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "Factor Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "Factor de acción de escala sobre eje Y." -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Escala Y" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Enlazar" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2870,14 +2874,14 @@ msgstr "" "Escala las formas seleccionadas\n" "Utilizando el Scale Factor X para ambos ejes." -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Referencia de escala" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2889,25 +2893,25 @@ msgstr "" "y el centro del cuadro delimitador más grande.\n" "de las formas seleccionadas cuando no está marcada." -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "Valor X:" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "Valor para la acción Offset en el eje X." -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "Offset X" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2917,30 +2921,30 @@ msgstr "" "El punto de referencia es el centro de\n" "El cuadro delimitador para todas las formas seleccionadas.\n" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "Valor Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "Valor para la acción Offset en el eje Y." -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "Offset Y" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "Voltear en X" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2948,18 +2952,18 @@ msgstr "" "Voltea la (s) forma (s) seleccionada (s) sobre el eje X.\n" "No crea una nueva forma." -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "Voltear en Y" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "Punto de ref." -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2981,13 +2985,13 @@ msgstr "" "O ingrese las coords en formato (x, y) en el\n" "Campo de entrada de puntos y haga clic en Girar en X (Y)" -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "Punto:" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2998,8 +3002,8 @@ msgstr "" "La 'x' en (x, y) se usará cuando se usa Flip en X y\n" "la 'y' en (x, y) se usará cuando se use Flip en Y." -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -3009,393 +3013,393 @@ msgstr "" "Haga clic izquierdo en el lienzo junto con la presión\n" "Tecla Shift. Luego haga clic en el botón Agregar para insertar." -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformación cancelada. Ninguna forma seleccionada." -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para Rotar, use un " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para el Sesgo X, use un " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para Sesgar Y, use un " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para la Escala X, use un " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para la Escala Y, use un " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para Offset X, use un " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorrecto ingresado para Desplazamiento Y, " "use un número." -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Ninguna forma seleccionada. Por favor, seleccione una forma " "para rotar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "Aplicando rotar" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "[success] Hecho. Rotación completada." -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Ninguna forma seleccionada. Por favor, seleccione una forma " "para voltear!" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "Aplicando Voltear" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Voltear en el eje Y hecho ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "[success] Voltear en el eje X hecho ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Ninguna forma seleccionada. Por favor, seleccione una forma " "para esquilar / sesgar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "Aplicando Sesgo" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Sesgar en el eje %s hecho ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "[ERROR_NOTCL] Debido a %s, la acción de Sesgo no se ejecutó." -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Ninguna forma seleccionada. Por favor, seleccione una forma " "a escala!" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "Aplicando la escala" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Escala en el eje %s hecho ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "[ERROR_NOTCL] Debido a %s, no se ejecutó la acción Escala." -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Ninguna forma seleccionada. Por favor, seleccione una forma " "para compensar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "Aplicando Offset" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Desplazamiento en el eje %s hecho ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "[ERROR_NOTCL] Debido a %s, la acción de compensación no se ejecutó." -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "Girar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "Introduzca un valor de ángulo (grados):" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "[success] Forma de geometría rotar hecho ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Forma de geometría rotar cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "Offset en el eje X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "Introduzca un valor de distancia (%s):" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Forma de geometría offset en eje X realizado ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Forma de geometría offset X cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "Offset en eje Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Forma de geometría offset en eje Y realizada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Forma de geometría offset y cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "Sesgar en el eje X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Forma de geometría oblicua en eje X realizada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Forma de geometría oblicua X cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "Sesgar en el eje Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Forma de geometría sesgada en eje Y realizada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Forma de geometría oblicua Y cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "Haga clic en el punto central ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "Haga clic en el punto del perímetro para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "[success] Hecho. Añadiendo círculo completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "Haga clic en el punto de inicio ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "Haga clic en el punto 3 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "Haga clic en el punto de parada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "Haga clic en el punto de parada para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "Haga clic en el punto 2 para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "Haga clic en el punto central para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "Direccion: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Modo: Inicio -> Detener -> Centro. Haga clic en el punto de inicio ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Modo: Punto1 -> Punto3 -> Punto2. Haga clic en el punto 1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Modo: Centro -> Iniciar -> Detener. Haga clic en el punto central ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "[success] Hecho. Arco completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "Haga clic en la primera esquina ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "Haga clic en la esquina opuesta para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "[success] Hecho. Rectángulo completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" "Haga clic en el siguiente punto o haga clic con el botón derecho del ratón " "para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "[success] Hecho. Polígono completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "Retrocedido un punto ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "[success] Hecho. Camino completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "" "[WARNING_NOTCL] Mover: ninguna forma seleccionada. Seleccione una forma para " "mover ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr "Mover: Haga clic en el punto de referencia ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr "Haga clic en el punto de destino ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "[success] Hecho. Geometría (s) Movimiento completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "[success] Hecho. Geometría (s) Copia completada." -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " @@ -3404,70 +3408,70 @@ msgstr "" "[ERROR] Fuente no soportada. Solo se admiten las versiones Regular, Bold, " "Italic y BoldItalic. Error: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "[WARNING_NOTCL] No hay texto para agregar." -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "[success] Hecho. Adición de texto completado." -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "Crear geometría de búfer ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Buffer cancelado. Ninguna forma seleccionada." -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Hecho. Herramienta de amortiguación completada." -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "[success] Hecho. Herramienta interna de búfer completada." -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "[success] Hecho. Herramienta externa de búfer completada." -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "Seleccione una forma para que actúe como área de eliminación ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "Haga clic para recoger la forma de borrar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "Haga clic para borrar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "" "[success] Hecho. Se ha completado la acción de la herramienta de borrador." -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "Crear geometría de pintura ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "Transformaciones de formas ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" @@ -3475,19 +3479,19 @@ msgstr "" "[WARNING_NOTCL] Edición de Geometría MultiGeo, herramienta: {tool} con " "diámetro: {dia}" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "[WARNING_NOTCL] Copia cancelada. Ninguna forma seleccionada." -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "Haga clic en el punto de destino." -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." @@ -3495,9 +3499,8 @@ msgstr "" "[WARNING_NOTCL] Se requiere una selección de al menos 2 elementos geo para " "hacer Intersección." -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" @@ -3505,54 +3508,58 @@ msgstr "" "[ERROR_NOTCL] No se acepta el valor de búfer negativo. Usa el interior del " "amortiguador para generar una forma 'interior'" -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "[WARNING_NOTCL] Nada seleccionado para el almacenamiento en búfer." -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "[WARNING_NOTCL] Distancia no válida para el almacenamiento en búfer." -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" "[ERROR_NOTCL] Falló, el resultado está vacío. Elija un valor de búfer " "diferente." -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "[success] Geometría de búfer completa creada." -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "[ERROR_NOTCL] No se acepta el valor negativo del búfer." + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" "[ERROR_NOTCL] Falló, el resultado está vacío. Elija un valor de búfer más " "pequeño." -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "[success] Geometría de búfer interior creada." -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "[success] Geometría de búfer exterior creada." -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "[WARNING_NOTCL] Nada seleccionado para pintar." -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "[WARNING] Valor no válido para {}" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." @@ -3560,7 +3567,7 @@ msgstr "" "[ERROR_NOTCL] No se pudo hacer pintura. El valor de superposición debe ser " "inferior a 1.00 (100%%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3571,65 +3578,65 @@ msgstr "" "parámetros. O un método diferente de pintura.\n" "%s" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "[success] Pintura hecha" -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Para agregar un Pad primero, seleccione una abertura en la " "Tabla de Aperture" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" "[WARNING_NOTCL] El tamaño de la abertura es cero. Tiene que ser mayor que " "cero." -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" "Tipo de apertura incompatible. Seleccione una abertura con el tipo 'C', 'R' " "o 'O'." -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "[success] Hecho. Añadiendo Pad completado." -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Para agregar un Pad Array, primero seleccione una abertura " "en la Tabla de Aperturas" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "Haga clic en la posición de inicio Pad Array Circular" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Demasiados pads para el ángulo de espaciado seleccionado." -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "[success] Hecho. Pad Array añadido." -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "Seleccione forma (s) y luego haga clic en ..." -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "[ERROR_NOTCL] Ha fallado. Nada seleccionado." -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." @@ -3637,149 +3644,150 @@ msgstr "" "[WARNING_NOTCL] Ha fallado. Poligonize funciona solo en geometrías " "pertenecientes a la misma abertura." -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "[success] Hecho. Poligonize completado." -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "Modo esquina 1: 45 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "Haga clic en el primer punto ..." -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" "Haga clic en el siguiente punto o haga clic con el botón derecho del mouse " "para completar ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Modo esquina 2: Invertir 45 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "Modo esquina 3: 90 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Modo esquina 4: Invertir 90 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "Modo esquina 5: ángulo libre ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "Modo de pista 1: 45 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Modo de pista 2: Invertir 45 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "Modo de pista 3: 90 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Modo de pista 4: Invertir 90 grados ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "Modo de pista 5: ángulo libre ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "Escala las aperturas seleccionadas de Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "Buffer de las aberturas seleccionadas ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Marcar áreas de polígono en el Gerber editado ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "[WARNING_NOTCL] Nada seleccionado para mover ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "[success] Hecho. Movimiento de aperturas completado." -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "[success] Hecho. Aberturas copiadas." -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "Gerber Editor" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" -msgstr "Aperturas:" +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" +msgstr "Aberturas" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "Tabla de Aperturas para el Objeto Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "Código" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "Tipo" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "Tamaño" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "Índice" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "Código de apertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "Tipo de apertura: circular, rectangular, macros, etc." -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "Tamaño de apertura:" -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -3789,15 +3797,15 @@ msgstr "" "  - (ancho, alto) para R, O tipo.\n" "  - (dia, nVertices) para tipo P" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "Código de Apertura:" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "Código para la nueva apertura." -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "Tamaño de apertura" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3811,11 +3819,11 @@ msgstr "" "calculado como:\n" "sqrt (ancho ** 2 + altura ** 2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" -msgstr "Tipo de apertura:" +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" +msgstr "Tipo de apertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3827,11 +3835,11 @@ msgstr "" "R = rectangular\n" "O = oblongo" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" -msgstr "Apertura Dim:" +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" +msgstr "Apertura Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -3841,31 +3849,39 @@ msgstr "" "Activo solo para aberturas rectangulares (tipo R).\n" "El formato es (ancho, alto)." -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "Añadir / Eliminar Apertura:" -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "Añadir / Eliminar una apertura en la tabla de aperturas" -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "Agregar una nueva apertura a la lista de apertura." -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "Eliminar una abertura en la lista de aperturas" -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "Apertura del tampón:" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "Buffer de apertura en la lista de apertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "Dist. de buffer" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "Rincón del búfer" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3879,25 +3895,25 @@ msgstr "" "  - 'Biselado:' la esquina es una línea que conecta directamente las " "funciones que se encuentran en la esquina" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "Buffer" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" -msgstr "Apertura de la escala:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" +msgstr "Apertura de la escala" -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "Escala una abertura en la lista de aperturas" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" -msgstr "Factor de escala:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" +msgstr "Factor de escala" -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -3905,19 +3921,19 @@ msgstr "" "El factor por el cual escalar la apertura seleccionada.\n" "Los valores pueden estar entre 0.0000 y 999.9999." -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" -msgstr "Marcar áreas de polígono:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" +msgstr "Marcar áreas de polígono" -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "Marca las áreas del polígono." -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" -msgstr "Umbral SUPERIOR área:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" +msgstr "Umbral SUPERIOR área" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3925,11 +3941,11 @@ msgstr "" "El valor de umbral, todas las áreas menos que esto están marcadas.\n" "Puede tener un valor entre 0.0000 y 9999.9999." -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" -msgstr "Umbral inferior de la zona:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" +msgstr "Umbral inferior de la zona" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3937,20 +3953,20 @@ msgstr "" "El valor de umbral, todas las áreas más que esto están marcadas.\n" "Puede tener un valor entre 0.0000 y 9999.9999." -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "Ir" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "Agregar matriz de pad" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "Añadir una matriz de pads (lineal o circular)" -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -3958,16 +3974,26 @@ msgstr "" "Seleccione el tipo de matriz de pads para crear.\n" "Puede ser lineal X (Y) o circular." -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" -msgstr "Nº de almohadillas:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" +msgstr "Nº de almohadillas" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "Especifique cuántos pads estarán en la matriz." -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "Dirección" + +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "Paso" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 +#: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" "[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " "retry." @@ -3975,7 +4001,7 @@ msgstr "" "[WARNING_NOTCL] Falta el valor del código de apertura o el formato es " "incorrecto. Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGrbEditor.py:3136 +#: flatcamEditors/FlatCAMGrbEditor.py:3172 msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." @@ -3984,7 +4010,7 @@ msgstr "" "formato es incorrecto. Agréguelo en formato (ancho, alto) y vuelva a " "intentarlo." -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." @@ -3992,35 +4018,35 @@ msgstr "" "[WARNING_NOTCL] Falta el valor del tamaño de la apertura o el formato es " "incorrecto. Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "[WARNING_NOTCL] Apertura ya en la mesa de apertura." -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "[success] Agregada nueva apertura con código: {apid}" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "[WARNING_NOTCL] Seleccione una abertura en la mesa de apertura" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "[WARNING_NOTCL] Seleccione una abertura en la Tabla de Apertura ->%s" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "[success] Apertura eliminada con código: {del_dia}" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "Añadiendo apertura: %s geo ..." -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." @@ -4028,28 +4054,28 @@ msgstr "" "[ERROR_NOTCL] No hay definiciones de Aperture en el archivo. Abortando la " "creación de Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "Creación de Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "[success] La edición de gerber terminó." -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Cancelado. No se selecciona ninguna apertura" -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" "[ERROR_NOTCL] Ha fallado. No se selecciona ninguna geometría de apertura." -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Hecho. Geometría de las aberturas eliminadas." -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -4057,7 +4083,7 @@ msgstr "" "[WARNING_NOTCL] No hay apertura para amortiguar. Seleccione al menos una " "abertura e intente de nuevo." -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" @@ -4066,7 +4092,7 @@ msgstr "" "[ERROR_NOTCL] Ha fallado.\n" "%s" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -4074,7 +4100,7 @@ msgstr "" "[WARNING_NOTCL] Falta el valor del factor de escala o el formato es " "incorrecto. Agrégalo y vuelve a intentarlo." -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -4082,108 +4108,108 @@ msgstr "" "[WARNING_NOTCL] Sin apertura a escala. Seleccione al menos una abertura e " "intente de nuevo." -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "[success] Hecho. Herramienta de escala completada." -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "[success] Zonas poligonales marcadas." -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "[WARNING_NOTCL] No hay polígonos para marcar el área." -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "&Archivo" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "&Nuevo proyecto ...\tCTRL+N" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "Creará un nuevo proyecto en blanco." -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "&Nuevo" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "Geometría\tN" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "Creará un nuevo objeto vacío de geometría." -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "Creará un nuevo objeto vacío de Gerber." -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "Creará un objeto Excellon nuevo y vacío." -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Abierto" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "Abierto &Project ..." -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "Abierto &Gerber ...\tCTRL+G" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "Abierto &Excellon ...\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "Abierto G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "Abierto Config ..." -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "Proyectos recientes" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "Archivos recientes" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "Scripting" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "Nuevo Script ..." -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "Abrir Script ..." -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "Ejecutar Script ...\tSHIFT+S" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4193,43 +4219,43 @@ msgstr "" "permitiendo la automatización de ciertos\n" "Funciones de FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "Importar" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "&SVG como objeto de geometría ..." -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "&SVG como objeto de Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "&DXF como objeto de geometría ..." -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "&DXF como objeto de Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "Exportar" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "Exportar &SVG ..." -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "Exportar DXF ..." -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "Exportar &PNG ..." -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -4239,11 +4265,11 @@ msgstr "" "La imagen guardada contendrá lo visual.\n" "Información actualmente en FlatCAM Plot Area." -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "Exportación y Excellon ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -4253,11 +4279,11 @@ msgstr "" "El formato de las coordenadas, las unidades de archivo y los ceros.\n" "se configuran en Preferencias -> Exportación de Excellon." -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "Exportar &Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -4267,59 +4293,59 @@ msgstr "" "El formato de las coordenadas, las unidades de archivo y los ceros.\n" "se establecen en Preferencias -> Exportar Gerber." -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "Apoyo" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "Importar preferencias del archivo ..." -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "Exportar preferencias a un archivo ..." -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "Salvar" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "Salvar proyecto ..." -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "Guardar proyecto como...\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "Guardar copia del proyecto ..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "Salida" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "Editar" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "Editar objeto\tE" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "Cerrar Editor\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "Conversión" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "Unirse Geo/Gerber/Exc -> Geo" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -4333,30 +4359,30 @@ msgstr "" "- Geometría\n" "en un nuevo objeto de geometría combo." -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "Únete a Excellon (s) -> Excellon" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" "Combine una selección de objetos de Excellon en un nuevo objeto de Excellon " "combinado." -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "Únete a Gerber (s) -> Gerber" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "" "Combine una selección de objetos Gerber en un nuevo objeto combo Gerber." -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "Convertir solo geo a multi geo" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -4364,11 +4390,11 @@ msgstr "" "Convertirá un objeto de geometría de un tipo de geometría única\n" "a un tipo de geometría múltiple." -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "Convertir multi a solo Geo" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -4376,632 +4402,632 @@ msgstr "" "Convertirá un objeto de geometría de tipo de geometría múltiple\n" "a un solo tipo de geometría." -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "Convertir cualquiera a Geo" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "Convertir cualquiera a Gerber" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "Dupdo\tCTRL+C" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "Borrar\tDEL" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "Establecer origen\tO" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "Ir a la ubicación\tJ" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "Unidades de palanca\tQ" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "Seleccionar todo\tCTRL+A" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "Preferencias\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "Opciones" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "Rotar selección\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "Sesgo en el eje X\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "Sesgo en el eje Y\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "Voltear en el eje X\tX" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "Voltear en el ejeY\tY" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "Ver fuente\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "Ver" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "Habilitar todas las parcelas\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "Deshabilitar todas las parcelas\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "Deshabilitar no seleccionado\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "Ajuste de zoom\tV" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "Acercarse\t=" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "Disminuir el zoom\t-" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "Alternar editor de código\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "Alternar pantalla completa\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "Alternar área de la parcela\tCTRL+F10" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "Palanca Proyecto / Sel / Tool\t`" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "Activar cuadrícula\tG" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "Eje de palanca\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "Alternar espacio de trabajo\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "Herramienta" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "Línea de comando\tS" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "Ayuda" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "Ayuda\tF1" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "FlatCAM.org" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "Lista de accesos directos\tF3" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "Canal de Youtube\tF4" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "Acerca de" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "Añadir círculo\tO" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "Añadir arco\tA" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "Añadir rectángulo\tR" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "Añadir polígono\tN" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "Añadir ruta\tP" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "Añadir texto\tT" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "Unión de polígonos\tU" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "Intersección de polígonos\tE" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "Sustracción de polígonos\tS" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "Camino de corte\tX" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "Copia Geo\tC" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "Eliminar forma\tDEL" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "Movimiento\tM" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "Herramienta amortiguadora\tB" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "Herramienta de pintura\tI" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "Herramienta de transformación\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "Alternar esquina esquina\tK" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr ">Excellon Editor<" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "Añadir matriz de perfor.\tA" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "Añadir taladro\tD" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "Agregar matriz de ranuras\tQ" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "Agregar ranura\tW" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "Cambiar el tamaño de taladro (s)\tR" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "Dupdo\tC" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "Borrar\tDEL" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "Mover taladro(s)\tM" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr ">Gerber Editor<" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "Añadir Pad\tP" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "Agregar una matriz de pad\tA" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "Añadir pista\tT" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "Añadir región\tN" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "Poligonize\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "Añadir medio disco\tE" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "Añadir disco\tD" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "Buffer\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "Escalar\tS" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "Marcar area\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "Borrador\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "Transformar\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "Habilitar Parcela" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "Desactivar parcela" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "Generar CNC" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "Ver fuente" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "Editar" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "Propiedades" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "Barra de herramientas de archivo" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "Barra de herramientas de edición" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "Barra de herramientas de ver" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "Barra de herramientas de Shell" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "Barra de herramientas de Herramientas" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "Barra de herramientas del editor de Excel" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "Barra de herramientas del editor de geometría" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "Barra de herramientas del editor Gerber" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "Barra de herramientas de cuadrícula" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "Proyecto abierto" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "Guardar proyecto" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "Nueva geometría en blanco" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "Nuevo Gerber en blanco" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "Nueva Excellon en blanco" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "Editor" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "Guardar Objeto y cerrar el Editor" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "Borrar" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "Replantear" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "Gráfico clara" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "Acercarse" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "Disminuir el zoom" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "Ajuste de zoom" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "Línea de comando" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "Herramienta de 2 caras" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "Herramienta de recorte" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "Herramienta NCC" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "Herramienta de panel" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "Herramienta de película" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "Herramienta de pasta de soldadura" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "Herramienta de resta" -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "Herramienta de calculadoras" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "Seleccionar" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "Añadir taladro" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "Añadir matriz de taladro" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "Agregar ranura" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "Agregar matriz de ranuras" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "Redimensionar taladro" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "Copia de taladro" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "Eliminar taladro" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "Mover taladro" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "Añadir Círculo" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "Añadir Arco" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "Añadir Rectángulo" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "Añadir Ruta" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "Añadir Polígono" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "Añadir Texto" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "Añadir Buffer" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "Forma de pintura" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "Borrador" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "Unión de polígonos" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "Intersección de polígonos" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "Sustracción de polígonos" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "Camino de Corte" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "Copiar Forma (s)" -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "Eliminar Forma '-'" -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "Transformaciones" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "Mover objetos " -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "Añadir Pad" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "Añadir Pista" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "Añadir Región" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "Poligonizar" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "Medio disco" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "Disco" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "Marcar area" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "Movimiento" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "Encajar a la cuadricula" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "Distancia de ajuste de la rejilla X" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "Distancia de ajuste de cuadrícula Y" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -5009,64 +5035,64 @@ msgstr "" "Cuando está activo, el valor en Grid_X\n" "Se copia al valor Grid_Y." -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "Ajustar a la esquina" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "Distancia máxima del imán" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "Proyecto" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "Seleccionado" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "Área de la parcela" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "General" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "Val. predeterm. de la aplic." -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "Proyecto OPCIONES" -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "GEOMETRÍA" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "CNC-JOB" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "HERRAMIENTAS" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "Pref de importación" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -5080,11 +5106,11 @@ msgstr "" "FlatCAM guarda automáticamente un archivo 'factory_defaults'\n" "en el primer comienzo No borres ese archivo." -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "Pref. de exportación" -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -5092,15 +5118,15 @@ msgstr "" "Exportar un conjunto completo de configuraciones FlatCAM en un archivo\n" "que se guarda en el disco duro." -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "Abrir carpeta de pref." -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Abra la carpeta donde FlatCAM guarda los archivos de preferencias." -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -5108,7 +5134,7 @@ msgstr "" "Guarde la configuración actual en el archivo 'current_defaults'\n" "que es el archivo que almacena las preferencias predeterminadas de trabajo." -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" " Editor Shortcut list
\n" "
\n" @@ -5730,134 +5756,133 @@ msgid "" " " msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "Alternar visibilidad" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "Panel de palanca" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "Nueva" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "Geometría" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "Rejillas" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "Ver" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "Parcela clara" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "Replantear" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "Geo Editor" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "Ruta" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "Rectángulo" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "Círculo" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "Polígono" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "Arco" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "Texto" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "Unión" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "Intersección" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "Sustracción" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "Cortar" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "Pad" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "Matriz de Pad" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "Pista" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "Región" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "Exc Editor" -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "Añadir taladro" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "Vista previa de impres." -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "Imprimir código" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "Encontr. en codigo" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "Reemplazar con" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "Todos" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -5865,15 +5890,15 @@ msgstr "" "Cuando está marcado, reemplazará todas las instancias en el cuadro 'Buscar'\n" "con el texto en el cuadro 'Reemplazar' .." -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "Código abierto" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "Guardar código" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -5881,7 +5906,7 @@ msgstr "" "Medida relativa.\n" "La referencia es la posición del último clic." -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -5889,23 +5914,27 @@ msgstr "" "Medida absoluta.\n" "La referencia es (X = 0, Y = 0) posición" -#: flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" +msgstr "Bloquear barras de herram." + +#: flatcamGUI/FlatCAMGUI.py:2013 msgid "Select 'Esc'" msgstr "Selecciona 'Esc'" -#: flatcamGUI/FlatCAMGUI.py:2011 +#: flatcamGUI/FlatCAMGUI.py:2038 msgid "Copy Objects" msgstr "Copiar objetos" -#: flatcamGUI/FlatCAMGUI.py:2013 +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "Eliminar Forma" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" msgstr "Mover objetos" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -5917,17 +5946,17 @@ msgstr "" "fuera del primer artículo. Al final presione la tecla ~ X ~ o\n" "el botón de la barra de herramientas." -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "Advertencia" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "[WARNING_NOTCL] Cancelado." -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -5935,7 +5964,7 @@ msgstr "" "Por favor seleccione elementos de geometría\n" "en el que realizar Herramienta de Intersección." -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -5943,7 +5972,7 @@ msgstr "" "Por favor seleccione elementos de geometría\n" "en el que realizar la Herramienta de Substracción." -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." @@ -5951,59 +5980,59 @@ msgstr "" "Por favor seleccione elementos de geometría\n" "en el que realizar la Unión." -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "[WARNING_NOTCL] Cancelado. Nada seleccionado para eliminar." -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "[WARNING_NOTCL] Cancelado. Nada seleccionado para copiar." -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "[WARNING_NOTCL] Cancelado. Nada seleccionado para moverse." -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "Nueva herramienta ..." -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" msgstr "Introduzca un diá. de herra.:" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "Herramienta de medición de salida ..." -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "Preferencias de GUI" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "Valor de la cuadríc. X:" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "Este es el valor de ajuste de cuadrícula en el eje X." -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "Valor de la cuadríc. Y:" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "Este es el valor de ajuste de cuadrícula en el eje Y." -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "Máx. de ajuste:" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "Espacio de trabajo:" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -6011,11 +6040,11 @@ msgstr "" "Dibuja un rectángulo delimitador en el lienzo.\n" "El propósito es ilustrar los límites de nuestro trabajo." -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "Formato de ET:" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -6023,11 +6052,11 @@ msgstr "" "Seleccione el tipo de rectángulo a utilizar en el lienzo,\n" "como espacio de trabajo válido." -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "Relleno de la par.:" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -6037,28 +6066,28 @@ msgstr "" "Los primeros 6 dígitos son el color y los 2 últimos.\n" "Los dígitos son para el nivel alfa (transparencia)." -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "Nivel Alfa:" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." msgstr "Establecer la transparencia de relleno para los objetos trazados." -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "Lin. Gráfico:" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "Establecer el color de la línea para los objetos trazados." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "Relleno de sel.:" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6070,27 +6099,27 @@ msgstr "" "Los primeros 6 dígitos son el color y los 2 últimos.\n" "Los dígitos son para el nivel alfa (transparencia)." -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" "Establezca la transparencia de relleno para el cuadro de selección 'de " "izquierda a derecha'." -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "Línea de sel.:" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "" "Establezca el color de línea para el cuadro de selección 'de izquierda a " "derecha'." -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "Relleno de sel.2:" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6102,52 +6131,52 @@ msgstr "" "Los primeros 6 dígitos son el color y los 2 últimos.\n" "Los dígitos son para el nivel alfa (transparencia)." -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" "Establezca la transparencia de relleno para el cuadro de selección \"de " "derecha a izquierda\"." -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "Línea de sel.2:" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "" "Establezca el color de línea para el cuadro de selección 'de derecha a " "izquierda'." -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "Sorteo del editor:" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "Establecer el color de la forma." -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "Editor de sel. de sorteo:" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "Establecer el color de la forma cuando se selecciona." -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "Elementos del proyecto:" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "" "Establecer el color de los elementos en el árbol de pestañas del proyecto." -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "Proyectos deshabilitados:" -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -6155,15 +6184,15 @@ msgstr "" "Establecer el color de los elementos en el árbol de pestañas del proyecto,\n" "para el caso cuando los elementos están deshabilitados." -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "Configuraciones GUI" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "Diseño:" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -6171,11 +6200,11 @@ msgstr "" "Seleccione un diseño para FlatCAM.\n" "Se aplica de inmediato." -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "Estilo:" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -6183,11 +6212,11 @@ msgstr "" "Seleccione un estilo para FlatCAM.\n" "Se aplicará en el próximo inicio de la aplicación." -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "Soporte HDPI:" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -6195,11 +6224,11 @@ msgstr "" "Habilitar el soporte de alta DPI para FlatCAM.\n" "Se aplicará en el próximo inicio de la aplicación." -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "Borrar la configuración de la GUI:" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6207,15 +6236,15 @@ msgstr "" "Borrar la configuración de la GUI para FlatCAM,\n" "tales como: diseño, estado gui, estilo, soporte hdpi etc." -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "Limpiar" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "Forma flotante:" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -6225,11 +6254,11 @@ msgstr "" "Se muestra cada vez que el cursor del mouse se desplaza\n" "sobre cualquier tipo de objeto no seleccionado." -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "Forma de sel.:" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -6241,11 +6270,11 @@ msgstr "" "ya sea haciendo clic o arrastrando el mouse de izquierda a derecha o\n" "De derecha a izquierda." -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "NB Tamaño de fuente:" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" @@ -6256,31 +6285,33 @@ msgstr "" "El cuaderno es el área plegable en el lado izquierdo de la GUI,\n" "e incluye las pestañas Proyecto, Seleccionado y Herramienta." -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "Tamaño de fuente del eje:" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "Esto establece el tamaño de fuente para el eje del lienzo." -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "¿Está seguro de que desea eliminar la configuración de la GUI?\n" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "Borrar la configuración de la GUI" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "Preferencias de la aplicación" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" -msgstr "Unidades:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" +msgstr "Unidades" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -6290,21 +6321,21 @@ msgstr "" "Lo que se selecciona aquí se establece cada vez\n" "Se inicia FLatCAM." -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "IN" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" -msgstr "Nivel de aplicación:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" +msgstr "Nivel de aplicación" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -6320,27 +6351,45 @@ msgstr "" "La elección aquí influirá en los parámetros en\n" "La pestaña seleccionada para todo tipo de objetos FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "BASIC" -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "Avanzado" -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" -msgstr "Idiomas:" +#: flatcamGUI/FlatCAMGUI.py:3988 +msgid "Portable app" +msgstr "Aplicación portátil" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" +"Elija si la aplicación debe ejecutarse como portátil.\n" +"\n" +"Si está marcada, la aplicación se ejecutará portátil,\n" +"lo que significa que los archivos de preferencias se guardarán\n" +"en la carpeta de la aplicación, en la subcarpeta lib \\ config." + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "Idiomas" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "Establezca el idioma utilizado en FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "Aplicar idioma" -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -6358,11 +6407,11 @@ msgstr "" "características de seguridad. En este caso el idioma será\n" "Aplicado en el próximo inicio de la aplicación." -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" -msgstr "Shell en el inicio:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" +msgstr "Shell en el inicio" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -6370,11 +6419,11 @@ msgstr "" "Marque esta casilla si desea que el shell\n" "iniciar automáticamente en el inicio." -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" -msgstr "Compro. de la versión:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" +msgstr "Compro. de la versión" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -6382,11 +6431,11 @@ msgstr "" "Marque esta casilla si desea marcar\n" "para una nueva versión automáticamente en el inicio." -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" -msgstr "Enviar estadísticas:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" +msgstr "Enviar estadísticas" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -6394,11 +6443,11 @@ msgstr "" "Marque esta casilla si acepta enviar anónimo\n" "Estadísticas automáticamente en el inicio, para ayudar a mejorar FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" -msgstr "Botón de pan:" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" +msgstr "Botón de pan" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -6408,35 +6457,35 @@ msgstr "" "- MMB -> Botón Central Del Ratón\n" "- RMB -> Botón derecho del ratón" -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "MMB" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "RMB" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" -msgstr "Sel múltiple:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" +msgstr "Sel múltiple" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "Seleccione la clave utilizada para la selección múltiple." -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" -msgstr "Proyecto en el inicio:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" +msgstr "Proyecto en el inicio" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -6445,11 +6494,11 @@ msgstr "" "seleccionado / herramienta\n" "para ser mostrado automáticamente en el inicio." -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" -msgstr "Proyecto auto ocultar:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" +msgstr "Proyecto auto ocultar" -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -6460,11 +6509,11 @@ msgstr "" "Se oculta automáticamente cuando no hay objetos cargados y\n" "para mostrar cada vez que se crea un nuevo objeto." -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" -msgstr "Hab. info sobre herra.:" +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" +msgstr "Hab. info sobre herra." -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -6472,11 +6521,11 @@ msgstr "" "Marque esta casilla si desea que se muestre información sobre herramientas\n" "al pasar el mouse sobre los elementos de la aplicación." -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" -msgstr "Número de trabajadores:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" +msgstr "Número de trabajadores" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -6493,11 +6542,11 @@ msgstr "" "El valor predeterminado es 2.\n" "Después del cambio, se aplicará en el próximo inicio de la aplicación." -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" -msgstr "Geo Tolerancia:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" +msgstr "Geo Tolerancia" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -6513,11 +6562,11 @@ msgstr "" "actuación. Un valor más alto proporcionará más\n" "Rendimiento a expensas del nivel de detalle." -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "Comportamiento \"abierto\"" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -6532,11 +6581,11 @@ msgstr "" "Cuando no está marcada, la ruta para abrir archivos es la última utilizada:\n" "ruta para guardar archivos o la ruta para abrir archivos." -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "Eliminar confirmación de objeto" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -6546,11 +6595,11 @@ msgstr "" "cada vez que se desencadena el evento Eliminar objeto (s), ya sea por\n" "acceso directo al menú o acceso directo a teclas." -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "Guardar proyecto comprimido" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -6558,11 +6607,11 @@ msgstr "" "Ya sea para guardar un proyecto comprimido o sin comprimir.\n" "Cuando esté marcado, guardará un proyecto comprimido de FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" -msgstr "Nivel de compresión:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" +msgstr "Nivel de compresión" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -6572,51 +6621,53 @@ msgstr "" "Un proyecto FlatCAM. Un valor más alto significa una mejor compresión\n" "pero requieren más uso de RAM y más tiempo de procesamiento." -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "Gerber General" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" -msgstr "Opciones de parcela:" +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" +msgstr "Opciones de parcela" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "Sólido" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "Polígonos de color liso." -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "M-Color" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "Dibuja polígonos en diferentes colores." -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "Gráfico" -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "Trazar (mostrar) este objeto." -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" -msgstr "Pasos del círculo:" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" +msgstr "Pasos del círculo" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -6624,15 +6675,15 @@ msgstr "" "El número de pasos de círculo para Gerber\n" "Apertura circular de aproximación lineal." -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "Opciones de gerber" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" -msgstr "Enrutamiento de aislamiento:" +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" +msgstr "Enrutamiento de aislamiento" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -6640,17 +6691,23 @@ msgstr "" "Crear un objeto de geometría con\n" "Trayectorias para cortar polígonos exteriores." -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "Diá. de la herramienta" + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "Diá. de la herramienta de corte." -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" -msgstr "Ancho (# pases):" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" +msgstr "# Pases" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -6658,11 +6715,11 @@ msgstr "" "Ancho de la brecha de aislamiento en\n" "Número (entero) de anchos de herramienta." -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" -msgstr "Superposición de pases:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" +msgstr "Superposición de pases" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -6676,11 +6733,11 @@ msgstr "" "Un valor de 0.25 aquí significa una superposición del 25% del diámetro de la " "herramienta que se encuentra arriba." -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" -msgstr "Tipo de fresado:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" +msgstr "Tipo de fresado" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -6691,41 +6748,46 @@ msgstr "" "herramienta\n" "- convencional / útil cuando no hay compensación de contragolpe" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "Subida" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "Conv." -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "Combinar pases" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "Combina todos los pases en un objeto" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" -msgstr "Claro sin cobre:" +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" +msgstr "Regiones no cobre" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -"Crear un objeto de geometría con\n" -"Trayectorias para cortar todas las regiones sin cobre." +"Crear polígonos que cubran el\n" +"áreas sin cobre en el PCB.\n" +"Equivalente al inverso de este\n" +"objeto. Se puede usar para eliminar todo\n" +"cobre de una región específica." -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" -msgstr "Margen límite:" +msgid "Boundary Margin" +msgstr "Margen límite" -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -6737,23 +6799,21 @@ msgstr "" "objetos con este mínimo\n" "distancia." -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" -msgstr "Esquinas redondeadas" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" +msgstr "Geo redondeado" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." -msgstr "" -"Crea objetos de geometría con polígonos.\n" -"Cubriendo las áreas libres de cobre de la PCB." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." +msgstr "La geometría resultante tendrá esquinas redondeadas." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" -msgstr "Cuadro delimitador:" +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" +msgstr "Cuadro delimitador" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -6761,7 +6821,7 @@ msgstr "" "Distancia de los bordes de la caja.\n" "al polígono más cercano." -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6773,15 +6833,15 @@ msgstr "" "su radio es igual a\n" "el margen." -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "Opciones avan. de Gerber" -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" -msgstr "Pará. avanzados:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." +msgstr "Parám. avanzados" -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -6791,11 +6851,11 @@ msgstr "" "Esos parámetros están disponibles sólo para\n" "Aplicación avanzada Nivel." -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "\"Seguir\"" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -6805,11 +6865,11 @@ msgstr "" "Esto significa que cortará a través\n" "El medio de la traza." -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "Mostrar / ocultar tabla" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -6819,15 +6879,15 @@ msgstr "" "Además, en hide, borrará todas las formas de marca.\n" "que se dibujan sobre lienzo." -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "Gerber Export" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" -msgstr "Opciones de export.:" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" +msgstr "Opciones de export" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -6835,25 +6895,21 @@ msgstr "" "Los parámetros establecidos aquí se utilizan en el archivo exportado.\n" "cuando se usa la entrada de menú Archivo -> Exportar -> Exportar Gerber." -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "Unidades:" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "Las unidades utilizadas en el archivo Gerber." -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "PULGADA" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" -msgstr "Entero/dec.:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" +msgstr "Entero/Dec." -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -6861,7 +6917,7 @@ msgstr "" "El número de dígitos en la parte entera del número.\n" "y en la parte fraccionaria del número." -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -6869,7 +6925,7 @@ msgstr "" "Estos números significan el número de dígitos en\n" "Toda la parte de Gerber coordina." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -6877,11 +6933,11 @@ msgstr "" "Estos números significan el número de dígitos en\n" "La parte decimal de las coordenadas de gerber." -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" -msgstr "Ceros:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" +msgstr "Ceros" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -6895,35 +6951,36 @@ msgstr "" "Si se comprueba TZ, se eliminan los ceros finales\n" "y Leading Zeros se mantienen." -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" -msgstr "Parámetros:" +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 +msgid "Parameters" +msgstr "Parámetros" -#: flatcamGUI/FlatCAMGUI.py:4500 +#: flatcamGUI/FlatCAMGUI.py:4569 msgid "A list of Gerber Editor parameters." msgstr "Una lista de los parámetros del editor Gerber." -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" -msgstr "Límite de selección:" +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" +msgstr "Límite de selección" -#: flatcamGUI/FlatCAMGUI.py:4510 +#: flatcamGUI/FlatCAMGUI.py:4579 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -6937,15 +6994,108 @@ msgstr "" "Aumenta el rendimiento al mover un\n" "Gran cantidad de elementos geométricos." -#: flatcamGUI/FlatCAMGUI.py:4530 +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "Nuevo código de aper." + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "Nuevo tamaño de aper." + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "Tamaño para la nueva aper." + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "Nuevo tipo de aper." + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" +"Escriba para la nueva apertura.\n" +"Puede ser 'C', 'R' u 'O'." + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "Dim. de apertura" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "Diámetros de las herramientas de corte, separados por ','" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +msgid "%s:" +msgstr "%s:" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "Dir. lineal" + +#: flatcamGUI/FlatCAMGUI.py:4686 +msgid "Circular Pad Array" +msgstr "Matriz de ranura circ." + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "Dir. circular" + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" +"Dirección para matriz circular.\n" +"Puede ser CW = en sentido horario o CCW = en sentido antihorario." + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "Circ. Ángulo" + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "Distancia a la que buffer el elemento Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "Herramienta de escala" + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "Factoriza para escalar el elemento Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "Herram. de Zona de Marca" + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "Umbral bajo" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "Valor de umbral por debajo del cual las aberturas no están marcadas." + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "Valor umbral sobre el cual las aberturas no están marcadas." + +#: flatcamGUI/FlatCAMGUI.py:4770 msgid "Excellon General" msgstr "Excellon General" -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" -msgstr "Excellon Formato:" +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" +msgstr "Formato Excellon" -#: flatcamGUI/FlatCAMGUI.py:4554 +#: flatcamGUI/FlatCAMGUI.py:4794 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -6987,16 +7137,12 @@ msgstr "" "Sprint Layout 2: 4 PULGADAS LZ\n" "KiCAD 3: 5 PULGADAS TZ" -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "PULGADA:" - -#: flatcamGUI/FlatCAMGUI.py:4582 +#: flatcamGUI/FlatCAMGUI.py:4822 msgid "Default values for INCH are 2:4" msgstr "Los valores predeterminados para INCH son 2:4" -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -7004,8 +7150,8 @@ msgstr "" "Estos números significan el número de dígitos en\n" "Coordina toda la parte de Excellon." -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -7013,19 +7159,19 @@ msgstr "" "Estos números significan el número de dígitos en\n" "La parte decimal de las coordenadas de Excellon." -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" -msgstr "MÉTRICO:" +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" +msgstr "MÉTRICO" -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4855 msgid "Default values for METRIC are 3:3" msgstr "Los valores predeterminados para Métrica son 3: 3" -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" -msgstr "DefectoCeros:" +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" +msgstr "DefectoCeros" -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7039,7 +7185,7 @@ msgstr "" "Si se comprueba TZ, se mantienen los ceros finales.\n" "y Leading Zeros se eliminan." -#: flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4900 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -7055,11 +7201,11 @@ msgstr "" "Si se comprueba TZ, se mantienen los ceros finales.\n" "y Leading Zeros se eliminan." -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" -msgstr "Unidadespredeterminadas:" +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" +msgstr "Unidadespredeterminadas" -#: flatcamGUI/FlatCAMGUI.py:4673 +#: flatcamGUI/FlatCAMGUI.py:4913 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -7071,7 +7217,7 @@ msgstr "" "serán utilizados. Algunos archivos de Excellon no tienen un encabezado\n" "por lo tanto este parámetro será utilizado." -#: flatcamGUI/FlatCAMGUI.py:4684 +#: flatcamGUI/FlatCAMGUI.py:4924 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -7081,15 +7227,15 @@ msgstr "" "Algunos archivos de Excellon no tienen un encabezado\n" "por lo tanto este parámetro será utilizado." -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" -msgstr "Excellon Mejoramiento:" +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" +msgstr "Optimización Excellon" -#: flatcamGUI/FlatCAMGUI.py:4695 +#: flatcamGUI/FlatCAMGUI.py:4935 msgid "Algorithm: " msgstr "Algoritmo:" -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -7112,15 +7258,15 @@ msgstr "" "Si está DESACTIVADO, FlatCAM funciona en modo de 32 bits y usa\n" "Algoritmo de vendedor viajero para la optimización de la ruta." -#: flatcamGUI/FlatCAMGUI.py:4708 +#: flatcamGUI/FlatCAMGUI.py:4948 msgid "MH" msgstr "MH" -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " -msgstr "Tiempo de optimización:" +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" +msgstr "Tiempo de optimización" -#: flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -7132,15 +7278,16 @@ msgstr "" "Optimización del camino. Esta duración máxima se establece aquí.\n" "En segundos." -#: flatcamGUI/FlatCAMGUI.py:4768 +#: flatcamGUI/FlatCAMGUI.py:5008 msgid "Excellon Options" msgstr "Excellon Opciones" -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" -msgstr "Crear trabajo CNC" +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" +msgstr "Crear trabajo CNC" -#: flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -7148,13 +7295,13 @@ msgstr "" "Parámetros utilizados para crear un objeto de trabajo CNC\n" "para este objeto taladro." -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" -msgstr "Corte Z:" +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" +msgstr "Corte Z" -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -7162,12 +7309,12 @@ msgstr "" "Profundidad de perforación (negativo)\n" "debajo de la superficie de cobre." -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" -msgstr "Viaje Z:" +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" +msgstr "Viaje Z" -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -7175,12 +7322,12 @@ msgstr "" "Altura de herramienta al viajar\n" "A través del plano XY." -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" -msgstr "Cambio de herramienta:" +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" +msgstr "Cambio de herra." -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -7188,32 +7335,38 @@ msgstr "" "Incluir secuencia de cambio de herramienta\n" "en G-Code (Pausa para cambio de herramienta)." -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" -msgstr "Cambio de herramienta Z:" +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" +msgstr "Cambio de herramienta Z" -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." -msgstr "Posición de cambio de herramienta z." +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "" +"Posición del eje Z (altura) para\n" +"cambio de herramienta." -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" -msgstr "Avance:" +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" +msgstr "Avance (inmersión):" -#: flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 msgid "" "Tool speed while drilling\n" -"(in units per minute)." +"(in units per minute).\n" +"This is for linear move G01." msgstr "" -"Velocidad de la herramienta durante la perforación\n" -"(en unidades por minuto)." +"Velocidad de herramienta durante la perforación\n" +"(en unidades por minuto).\n" +"Esto es para el movimiento lineal G01." -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" -msgstr "Eje de velocidad:" +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" +msgstr "Eje de velocidad" -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7221,11 +7374,11 @@ msgstr "" "Velocidad del husillo\n" "en RPM (opcional)" -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" -msgstr "Dirección del husillo:" +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." +msgstr "Dirección del husillo" -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -7237,13 +7390,13 @@ msgstr "" "- CW = en el sentido de las agujas del reloj o\n" "- CCW = a la izquierda" -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" -msgstr "Habitar:" +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" +msgstr "Habitar" -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7251,33 +7404,33 @@ msgstr "" "Pausa para permitir que el husillo alcance su\n" "Velocidad antes del corte." -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 +#: flatcamGUI/FlatCAMGUI.py:5098 msgid "Duration:" msgstr "Duración:" -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." -msgstr "Número de milisegundos por husillo para habitar." +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." +msgstr "Número de unidades de tiempo para que el husillo permanezca." -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" -msgstr "Postprocesador:" +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" +msgstr "Postprocesador" -#: flatcamGUI/FlatCAMGUI.py:4872 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 msgid "" -"The postprocessor file that dictates\n" -"gcode output." +"The postprocessor JSON file that dictates\n" +"Gcode output." msgstr "" -"El archivo de postprocesador que dicta.\n" -"Salida gcode." +"El archivo JSON del postprocesador que dicta\n" +"Salida de Gcode." -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " -msgstr "Gcode: " +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" +msgstr "Gcode" -#: flatcamGUI/FlatCAMGUI.py:4883 +#: flatcamGUI/FlatCAMGUI.py:5125 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7289,23 +7442,23 @@ msgstr "" "Al elegir 'Ranuras' o 'Ambos', las ranuras serán\n" "convertido en taladros." -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" -msgstr "Agujeros de molino" +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" +msgstr "Agujeros de molino" -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 msgid "Create Geometry for milling holes." msgstr "Crear geometría para fresar agujeros." -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" -msgstr "Diá. de la herra. de perfor.:" +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" +msgstr "Diá. de la herra. de perfor." -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" -msgstr "Diá. de la herra. de ranura:" +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" +msgstr "Diá. de la herra. de ranura" -#: flatcamGUI/FlatCAMGUI.py:4914 +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 msgid "" "Diameter of the cutting tool\n" "when milling slots." @@ -7313,19 +7466,19 @@ msgstr "" "Diámetro de la herramienta de corte\n" "Al fresar ranuras." -#: flatcamGUI/FlatCAMGUI.py:4926 +#: flatcamGUI/FlatCAMGUI.py:5168 msgid "Defaults" msgstr "Valores predeterminados" -#: flatcamGUI/FlatCAMGUI.py:4939 +#: flatcamGUI/FlatCAMGUI.py:5181 msgid "Excellon Adv. Options" msgstr "Excellon Adv. Opciones" -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" -msgstr "Opciones avanzadas:" +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" +msgstr "Opciones avanzadas" -#: flatcamGUI/FlatCAMGUI.py:4947 +#: flatcamGUI/FlatCAMGUI.py:5189 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." @@ -7334,11 +7487,11 @@ msgstr "" "para este objeto de exploración que se muestra cuando el Nivel de aplicación " "es Avanzado." -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" -msgstr "Compensar Z:" +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" +msgstr "Offset Z" -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" @@ -7349,20 +7502,20 @@ msgstr "" "la punta.\n" "El valor aquí puede compensar el parámetro Z de corte." -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" -msgstr "Cambio de herra X, Y:" +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" +msgstr "Cambio de herra X, Y" -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 msgid "Toolchange X,Y position." msgstr "Cambio de herra X, posición Y." -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 #: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" -msgstr "Comience a mover Z:" +msgid "Start move Z" +msgstr "Comience a mover Z" -#: flatcamGUI/FlatCAMGUI.py:4974 +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -7370,12 +7523,13 @@ msgstr "" "Altura de la herramienta justo después del arranque.\n" "Elimine el valor si no necesita esta característica." -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" -msgstr "Fin del movi. Z:" +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" +msgstr "Fin del movi. Z" -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 msgid "" "Height of the tool after\n" "the last move at the end of the job." @@ -7383,12 +7537,11 @@ msgstr "" "Altura de la herramienta después de\n" "El último movimiento al final del trabajo." -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" -msgstr "Rápidos de avance:" +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" +msgstr "Rápidos de avance" -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7402,13 +7555,13 @@ msgstr "" "Es útil solo para Marlin,\n" "Ignorar para cualquier otro caso." -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" -msgstr "Profundidad de la sonda Z:" +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" +msgstr "Profundidad de la sonda Z" -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -7416,21 +7569,21 @@ msgstr "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" -msgstr "Sonda de avance:" +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" +msgstr "Sonda de avance" -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 msgid "The feedrate used while the probe is probing." msgstr "La velocidad de avance utilizada mientras la sonda está sondeando." -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/FlatCAMGUI.py:5263 msgid "Fast Plunge:" msgstr "Salto rápido:" -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -7442,11 +7595,11 @@ msgstr "" "es decir, la velocidad más rápida disponible.\n" "ADVERTENCIA: el movimiento se realiza en Toolchange X, Y coords." -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" -msgstr "Retracción rápida:" +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" +msgstr "Retracción rápida" -#: flatcamGUI/FlatCAMGUI.py:5034 +#: flatcamGUI/FlatCAMGUI.py:5276 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -7464,11 +7617,11 @@ msgstr "" "Z_move\n" "(altura de recorrido) se realiza lo más rápido posible (G0) en un movimiento." -#: flatcamGUI/FlatCAMGUI.py:5053 +#: flatcamGUI/FlatCAMGUI.py:5295 msgid "Excellon Export" msgstr "Excellon Exportar" -#: flatcamGUI/FlatCAMGUI.py:5058 +#: flatcamGUI/FlatCAMGUI.py:5300 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -7477,11 +7630,11 @@ msgstr "" "cuando se utiliza la entrada de menú Archivo -> Exportar -> Exportar " "Excellon." -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 msgid "The units used in the Excellon file." msgstr "Las unidades utilizadas en el archivo Excellon." -#: flatcamGUI/FlatCAMGUI.py:5083 +#: flatcamGUI/FlatCAMGUI.py:5325 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7493,11 +7646,11 @@ msgstr "" "Aquí configuramos el formato utilizado cuando el proporcionado\n" "Las coordenadas no están usando el punto." -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" -msgstr "Formato:" +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" +msgstr "Formato" -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -7513,15 +7666,15 @@ msgstr "" "También deberá especificarse si LZ = ceros iniciales se mantienen\n" "o TZ = ceros finales se mantienen." -#: flatcamGUI/FlatCAMGUI.py:5128 +#: flatcamGUI/FlatCAMGUI.py:5370 msgid "Decimal" msgstr "Decimal" -#: flatcamGUI/FlatCAMGUI.py:5129 +#: flatcamGUI/FlatCAMGUI.py:5371 msgid "No-Decimal" msgstr "Sin-Decimal" -#: flatcamGUI/FlatCAMGUI.py:5155 +#: flatcamGUI/FlatCAMGUI.py:5397 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7535,11 +7688,11 @@ msgstr "" "Si se comprueba TZ, se mantienen los ceros finales.\n" "y se eliminan los ceros iniciales." -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" -msgstr "Tipo de ranura:" +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" +msgstr "Tipo de ranura" -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -7553,19 +7706,19 @@ msgstr "" "Si PERFORADO (G85), las ranuras se exportarán\n" "utilizando el comando Ranura perforada (G85)." -#: flatcamGUI/FlatCAMGUI.py:5175 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "Routed" msgstr "Enrutado" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5418 msgid "Drilled(G85)" msgstr "Perforado (G85)" -#: flatcamGUI/FlatCAMGUI.py:5208 +#: flatcamGUI/FlatCAMGUI.py:5450 msgid "A list of Excellon Editor parameters." msgstr "Una lista de los parámetros de Excellon Editor." -#: flatcamGUI/FlatCAMGUI.py:5218 +#: flatcamGUI/FlatCAMGUI.py:5460 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -7579,55 +7732,56 @@ msgstr "" "Aumenta el rendimiento al mover un\n" "Gran cantidad de elementos geométricos." -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" -msgstr "Nueva herra. Dia:" +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" +msgstr "Nueva Herra. Dia" -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" -msgstr "Matriz de taladro lineal:" +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" +msgstr "Nu. de ejercicios" -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "Matriz de taladro lineal" + +#: flatcamGUI/FlatCAMGUI.py:5499 msgid "Linear Dir.:" msgstr "Dir. lineal:" -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" -msgstr "Matriz de taladro circ.:" +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +msgid "%s:" +msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" -msgstr "Dir. circular:" +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" +msgstr "Matriz de taladro circ." -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." -msgstr "" -"Dirección para matriz circular.\n" -"Puede ser CW = en sentido horario o CCW = en sentido antihorario." +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" +msgstr "Muesca" -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" -msgstr "Circ. Ángulo:" +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" +msgstr "Longitud" -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" -msgstr "Ranuras:" +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" +msgstr "Matriz lineal de ranuras:" -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" -msgstr "Matriz lineal de ranuras::" +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" +msgstr "Nro. De ranuras" -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" -msgstr "Matriz de ranura circ." +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" +msgstr "Matriz de ranura circ." -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5700 msgid "Geometry General" msgstr "Geometría General" -#: flatcamGUI/FlatCAMGUI.py:5477 +#: flatcamGUI/FlatCAMGUI.py:5719 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -7635,23 +7789,11 @@ msgstr "" "El número de pasos de círculo para Geometría\n" "Círculo y arcos de aproximación lineal." -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "Herramientas:" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Diámetros de las herramientas de corte, separados por ','" - -#: flatcamGUI/FlatCAMGUI.py:5505 +#: flatcamGUI/FlatCAMGUI.py:5747 msgid "Geometry Options" msgstr "Opc. de geometría" -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr " Crear trabajo CNC: " - -#: flatcamGUI/FlatCAMGUI.py:5512 +#: flatcamGUI/FlatCAMGUI.py:5754 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -7661,7 +7803,7 @@ msgstr "" "trazando los contornos de este\n" "Objeto de geometría." -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -7669,19 +7811,27 @@ msgstr "" "Profundidad de corte (negativo)\n" "debajo de la superficie de cobre." -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" -msgstr "Profund. múltiple" +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" +msgstr "Profund. múlti." -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." -msgstr "Uso de profundidad múltiple: Verdadero o Falso." +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." +msgstr "" +"Usa múltiples pases para limitar\n" +"La profundidad de corte en cada pasada. Será\n" +"cortar varias veces hasta que el Corte Z sea\n" +"alcanzado." -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" -msgstr "Profund. / Pase:" +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" +msgstr "Profund. / Pase" -#: flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5788 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -7695,7 +7845,7 @@ msgstr "" "Es una fracción de la profundidad.\n" "que tiene valor negativo." -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 msgid "" "Height of the tool when\n" "moving without cutting." @@ -7703,11 +7853,19 @@ msgstr "" "Altura de la herramienta cuando\n" "Moviéndose sin cortar." -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" -msgstr "Veloc. de aliment. X-Y:" +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Incluir secuencia de cambio de herramienta\n" +"en el código de máquina (pausa para cambio de herramienta)." -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "Veloc. de aliment. X-Y" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 msgid "" "Cutting speed in the XY\n" "plane in units per minute" @@ -7715,11 +7873,11 @@ msgstr "" "Velocidad de corte en el XY.\n" "Avion en unidades por minuto." -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" -msgstr "Veloc. de aliment. Z:" +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" +msgstr "Veloc. de aliment. Z" -#: flatcamGUI/FlatCAMGUI.py:5596 +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -7729,24 +7887,38 @@ msgstr "" "Plano en unidades por minuto.\n" "Se llama también Plunge." -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" -msgstr "Eje de velocidad:" +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" +msgstr "Eje de velocidad" -#: flatcamGUI/FlatCAMGUI.py:5648 +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." msgstr "" -"El archivo de postprocesador que dicta.\n" -"Salida de código de máquina." +"Velocidad del husillo en RPM (opcional).\n" +"Si se utiliza el postprocesador LÁSER,\n" +"Este valor es el poder del láser." -#: flatcamGUI/FlatCAMGUI.py:5664 +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "Duración" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." +msgstr "" +"El archivo de postprocesador que dicta\n" +"la salida del código de máquina (como GCode, RML, HPGL)." + +#: flatcamGUI/FlatCAMGUI.py:5919 msgid "Geometry Adv. Options" msgstr "Geometría Adv. Opciones" -#: flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamGUI/FlatCAMGUI.py:5926 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." @@ -7754,7 +7926,7 @@ msgstr "" "Parámetros para crear un objeto de trabajo CNC\n" "trazando los contornos de un objeto de geometría." -#: flatcamGUI/FlatCAMGUI.py:5691 +#: flatcamGUI/FlatCAMGUI.py:5946 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -7762,7 +7934,11 @@ msgstr "" "Altura de la herramienta justo después de comenzar el trabajo.\n" "Elimine el valor si no necesita esta característica." -#: flatcamGUI/FlatCAMGUI.py:5711 +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "Avance rápido" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -7776,11 +7952,11 @@ msgstr "" "Es útil solo para Marlin,\n" "Ignorar para cualquier otro caso." -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 msgid "Re-cut 1st pt." msgstr "Recortar 1er pt." -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -7792,11 +7968,15 @@ msgstr "" "Nos reunimos con el último corte, generamos un\n" "Corte extendido sobre la primera sección de corte." -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" -msgstr "Seg. Talla X:" +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" +msgstr "Salto rápido" -#: flatcamGUI/FlatCAMGUI.py:5766 +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "Seg. Talla X" + +#: flatcamGUI/FlatCAMGUI.py:6020 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -7806,11 +7986,11 @@ msgstr "" "Útil para la autonivelación.\n" "Un valor de 0 significa que no hay segmentación en el eje X." -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" -msgstr "Seg. Tamaño Y:" +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" +msgstr "Seg. Tamaño Y" -#: flatcamGUI/FlatCAMGUI.py:5777 +#: flatcamGUI/FlatCAMGUI.py:6031 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -7820,15 +8000,15 @@ msgstr "" "Útil para la autonivelación.\n" "Un valor de 0 significa que no hay segmentación en el eje Y." -#: flatcamGUI/FlatCAMGUI.py:5793 +#: flatcamGUI/FlatCAMGUI.py:6047 msgid "Geometry Editor" msgstr "Editor de geometría" -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6052 msgid "A list of Geometry Editor parameters." msgstr "Una lista de parámetros del editor de geometría." -#: flatcamGUI/FlatCAMGUI.py:5808 +#: flatcamGUI/FlatCAMGUI.py:6062 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -7842,20 +8022,20 @@ msgstr "" "Aumenta el rendimiento al mover un\n" "Gran cantidad de elementos geométricos." -#: flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/FlatCAMGUI.py:6081 msgid "CNC Job General" msgstr "CNC trabajo general" -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 msgid "Plot Object" msgstr "Trazar objeto" -#: flatcamGUI/FlatCAMGUI.py:5847 +#: flatcamGUI/FlatCAMGUI.py:6099 msgid "Plot kind:" msgstr "Tipo de parcela:" -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -7867,15 +8047,15 @@ msgstr "" "Por encima de la pieza de trabajo o puede ser de tipo 'Corte',\n" "Lo que significa los movimientos que cortan en el material." -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 msgid "Travel" msgstr "Viajar" -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" -msgstr "Anotación en pantalla:" +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" +msgstr "Mostrar anotación" -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -7885,23 +8065,23 @@ msgstr "" "Cuando está marcado, mostrará números en orden para cada final.\n" "de una linea de viaje." -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" -msgstr "Tamaño de la anotación:" +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" +msgstr "Tamaño de la anotación" -#: flatcamGUI/FlatCAMGUI.py:5882 +#: flatcamGUI/FlatCAMGUI.py:6134 msgid "The font size of the annotation text. In pixels." msgstr "El tamaño de fuente del texto de anotación. En píxeles." -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" -msgstr "Color de anotación:" +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" +msgstr "Color de anotación" -#: flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/FlatCAMGUI.py:6144 msgid "Set the font color for the annotation texts." msgstr "Establecer el color de fuente para los textos de anotación." -#: flatcamGUI/FlatCAMGUI.py:5915 +#: flatcamGUI/FlatCAMGUI.py:6167 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -7909,7 +8089,7 @@ msgstr "" "El número de pasos de círculo para GCode \n" "Círculo y arcos de aproximación lineal." -#: flatcamGUI/FlatCAMGUI.py:5925 +#: flatcamGUI/FlatCAMGUI.py:6177 msgid "" "Diameter of the tool to be\n" "rendered in the plot." @@ -7917,11 +8097,11 @@ msgstr "" "Diámetro de la herramienta a ser.\n" "prestados en la trama." -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" -msgstr "Coordina dec.:" +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." +msgstr "Coordina dec." -#: flatcamGUI/FlatCAMGUI.py:5935 +#: flatcamGUI/FlatCAMGUI.py:6187 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -7929,11 +8109,11 @@ msgstr "" "El número de decimales a utilizar para\n" "Las coordenadas X, Y, Z en código CNC (GCODE, etc.)" -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" -msgstr "Dec. de avance:" +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." +msgstr "Dec. de avance" -#: flatcamGUI/FlatCAMGUI.py:5945 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -7941,16 +8121,16 @@ msgstr "" "El número de decimales a utilizar para\n" "El parámetro de avance en código CNC (GCODE, etc.)" -#: flatcamGUI/FlatCAMGUI.py:5960 +#: flatcamGUI/FlatCAMGUI.py:6212 msgid "CNC Job Options" msgstr "Opciones de trabajo CNC" -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" -msgstr " Exportar código G: " +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" +msgstr "Exportar G-Code" -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -7958,11 +8138,11 @@ msgstr "" "Exportar y guardar código G a\n" "Hacer este objeto a un archivo." -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" -msgstr "Prefijo al código G:" +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" +msgstr "Prefijo al código G" -#: flatcamGUI/FlatCAMGUI.py:5973 +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -7970,11 +8150,11 @@ msgstr "" "Escribe aquí cualquier comando de G-Code que quieras\n" "Me gusta agregar al principio del archivo G-Code." -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" -msgstr "Adjuntar al código G:" +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" +msgstr "Adjuntar al código G" -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -7984,31 +8164,45 @@ msgstr "" "Me gusta adjuntar al archivo generado.\n" "Es decir: M2 (Fin del programa)" -#: flatcamGUI/FlatCAMGUI.py:6001 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "CNC Job Adv. Options" msgstr "CNC trabajo adv. Opc." -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" -msgstr "Cambio de herra. G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" +msgstr "Exportar código CNC" -#: flatcamGUI/FlatCAMGUI.py:6014 +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "Cambio de herra. G-Code" + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" "This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." msgstr "" -"Escribe aquí cualquier comando de G-Code que quieras\n" -"desea ser ejecutado cuando se encuentra el evento Toolchange.\n" -"Esto constituirá un GCode de cambio de herramienta personalizado,\n" -"o una macro de cambio de herramientas." +"Escriba aquí cualquier comando de código G que desee\n" +"desea ejecutarse cuando se encuentra un evento de cambio de herramienta.\n" +"Esto constituirá un cambio de herramienta personalizado GCode,\n" +"o una macro de cambio de herramienta.\n" +"Las variables de FlatCAM están rodeadas por el símbolo '%'.\n" +"\n" +"ADVERTENCIA: solo se puede usar con un archivo de postprocesador\n" +"que tiene 'toolchange_custom' en su nombre y esto está construido\n" +"teniendo como plantilla el archivo posprocesador 'Toolchange Custom'." -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 msgid "Use Toolchange Macro" msgstr "Util. la herra. de cambio de macro" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -8016,7 +8210,7 @@ msgstr "" "Marque esta casilla si desea utilizar\n" "una herramienta personalizada para cambiar GCode (macro)." -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -8026,69 +8220,118 @@ msgstr "" "en el evento Cambio de herramienta.\n" "Deben estar rodeados por el símbolo '%'" -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 -msgid "Parameters" -msgstr "Parámetros" - -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "Parámetros de FlatCAM CNC" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "tool = número de herramienta" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "tooldia = diá. de la herramienta" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = para Excellon, núm. total de taladros" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = Coord. X para cambio de herra." -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = Coord. Y para cambio de herra." -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "x_toolchange = Coord. X para cambio de herra." -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "z_cut = Z profund. para el corte." -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "z_move = Altura Z para viajar" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut = el valor de paso para corte multidepto" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed = el valor para la velocidad del husillo" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" "dwelltime = tiempo de espera para permitir que el husillo alcance su RPM " "establecido" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "Opc. de herra. NCC" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" -msgstr "Herra. dia:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." +msgstr "" +"Crear un objeto de geometría con\n" +"Trayectorias para cortar todas las regiones sin cobre." -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "Herra. dia" + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "Orden de la herra." + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" +"Esto establece la forma en que se utilizan las herramientas en la tabla de " +"herramientas.\n" +"'No' -> significa que el orden utilizado es el de la tabla de herramientas\n" +"'Adelante' -> significa que las herramientas se ordenarán de pequeño a " +"grande\n" +"'Atras' -> menas que las herramientas ordenarán de grande a pequeño\n" +"\n" +"ADVERTENCIA: el uso del mecanizado en reposo establecerá automáticamente el " +"orden\n" +"en reversa y deshabilitar este control." + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "Adelante" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "Atras" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "Tasa de superpose." + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8115,12 +8358,23 @@ msgstr "" "Valores más altos = procesamiento lento y ejecución lenta en CNC\n" "Debido a demasiados caminos." -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "Margen" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "Margen de cuadro delimitador." -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "Método" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -8130,35 +8384,43 @@ msgstr "" "el interior.
basado en semillas : hacia afuera desde el origen. " "
basado en líneas : Líneas paralelas." -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" -msgstr "Resto M .:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" +msgstr "Conectar" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "Contorno" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "Resto M ." + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" -"Si está marcado, use 'maquinado de descanso'.\n" -"Básicamente borrará el cobre fuera de las características de PCB,\n" -"usando la herramienta más grande y continúa con las siguientes " +"Si está marcado, use 'mecanizado en reposo'.\n" +"Básicamente eliminará el cobre fuera de las características de la PCB,\n" +"utilizando la herramienta más grande y continúe con las siguientes " "herramientas,\n" -"De mayor a menor, para despejar áreas de cobre que\n" -"No se pudo borrar con la herramienta anterior.\n" +"de mayor a menor, para limpiar áreas de cobre que\n" +"no se pudo borrar con la herramienta anterior, hasta que haya\n" +"no más cobre para limpiar o no hay más herramientas.\n" "Si no está marcado, use el algoritmo estándar." -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "Compensar:" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8170,40 +8432,52 @@ msgstr "" "de las características de cobre.\n" "El valor puede estar entre 0 y 10 unidades FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" -msgstr "Valor de comp.:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" +msgstr "Valor de comp." -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "Sí mismo" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" -msgstr "Caja" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" +msgstr "Zona" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" -msgstr "Referencia:" +#: flatcamGUI/FlatCAMGUI.py:6489 +#| msgid "Ref." +msgid "Ref" +msgstr "Ref" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "Referencia" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Al elegir la opción 'Sí mismo', la extensión de limpieza sin cobre\n" +"- 'Sí mismo' - la extensión de limpieza sin cobre\n" "se basa en el objeto que es cobre despejado.\n" -"Al elegir la opción 'Caja', no se borrará el cobre dentro de la caja\n" -"especificado por otro objeto diferente al que está libre de cobre." +"  - 'Selección de área': haga clic con el botón izquierdo del mouse para " +"iniciar la selección del área a pintar.\n" +"Mantener presionada una tecla modificadora (CTRL o SHIFT) permitirá agregar " +"múltiples áreas.\n" +"- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n" +"especificado por otro objeto." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "Opc. de herra. de recorte" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -8213,11 +8487,19 @@ msgstr "" "El PCB y lo separa de\n" "El tablero original." -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" -msgstr "Tipo de objeto:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." +msgstr "" +"Diámetro de la herramienta utilizada para cortar\n" +"La forma de PCB fuera del material circundante." -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "Tipo de objeto" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -8229,46 +8511,51 @@ msgstr "" "un panel de PCB Gerber objeto, que se hace\n" "de muchos esquemas de PCB individuales." -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "Soltero" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "Panel" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -"Distancia desde los objetos a los que\n" -"para dibujar el recorte." +"Margen sobre los límites. Un valor positivo aquí\n" +"hará que el corte de la PCB esté más alejado de\n" +"el borde real de PCB" -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" -msgstr "Tamaño de la brecha:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" +msgstr "Tamaño de la brecha" -#: flatcamGUI/FlatCAMGUI.py:6276 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." msgstr "" -"Tamaño de los huecos en la trayectoria.\n" -"que permanecerá para sostener el\n" -"Junta en su lugar." +"El tamaño de los huecos del puente en el recorte\n" +"solía mantener la placa conectada a\n" +"el material circundante (el\n" +"de la cual se corta el PCB)." -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" -msgstr "Brechas:" +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" +msgstr "Brechas" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6571 msgid "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8279,6 +8566,7 @@ msgstr "" "Número de huecos de puente utilizados para el recorte.\n" "Puede haber un máximo de 8 puentes / huecos.\n" "Las opciones son:\n" +"- Ninguno - sin espacios\n" "- lr - izquierda + derecha\n" "- tb - arriba + abajo\n" "- 4 - izquierda + derecha + arriba + abajo\n" @@ -8286,19 +8574,23 @@ msgstr "" "- 2tb - 2 * top + 2 * bottom\n" "- 8 - 2 * izquierda + 2 * derecha + 2 * arriba + 2 * abajo" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" -msgstr "Forma conv:" +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." +msgstr "Forma conv" -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." -msgstr "Crea una forma convexa alrededor de todo el PCB." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." +msgstr "" +"Crea una forma convexa que rodea toda la PCB.\n" +"Se usa solo si el tipo de objeto de origen es Gerber." -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "Opc. de herra. de 2 caras" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -8306,46 +8598,54 @@ msgstr "" "Una herramienta para ayudar en la creación de una doble cara.\n" "PCB utilizando orificios de alineación." -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" -msgstr "Diá. del taladro:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" +msgstr "Diá. del taladro" -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Diámetro del taladro para los orificios de alineación." -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Eje del espejo:" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Espejo verticalmente (X) u horizontal (Y)." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Punto" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" -msgstr "Ref. del eje:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" +msgstr "Caja" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "Ref. del eje" + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" -"El eje debe pasar por un punto o cortar\n" -"  un cuadro especificado (en un objeto de geometría) en\n" -"la mitad." +"El eje debe pasar por un punto o cortar\n" +"  un cuadro especificado (en un objeto FlatCAM) a través de\n" +"El centro." -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "Opc. de herra. de pintura" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "Parámetros:" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -8357,31 +8657,41 @@ msgstr "" "todo el cobre). Te harán preguntas\n" "Para hacer clic en el polígono deseado." -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "Selección" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Cuánto (fracción) de la herramienta\n" -"Ancho para superponer cada pasada de herramienta." +"Cómo seleccionar polígonos para pintar.\n" +"\n" +"- 'Selección de área': haga clic con el botón izquierdo del mouse para " +"iniciar la selección del área a pintar.\n" +"Mantener presionada una tecla modificadora (CTRL o SHIFT) permitirá agregar " +"múltiples áreas.\n" +"- 'Todos los polígonos': la pintura comenzará después de hacer clic.\n" +"- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n" +"especificado por otro objeto." -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" -msgstr "Selección:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." +msgstr "Ref." -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "Cómo seleccionar los polígonos a pintar." - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "Zona" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "Opc. de herra. de película" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -8391,11 +8701,11 @@ msgstr "" "Objeto FlatCAM.\n" "El archivo se guarda en formato SVG." -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "Tipo de filme:" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -8411,11 +8721,11 @@ msgstr "" "Con blanco sobre un lienzo negro.\n" "El formato de la película es SVG." -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" -msgstr "Frontera:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" +msgstr "Frontera" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -8435,11 +8745,11 @@ msgstr "" "Color blanco como el resto y que puede confundir con el\n" "Entorno si no fuera por esta frontera." -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" -msgstr "Trazo de escala:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" +msgstr "Trazo de escala" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -8452,11 +8762,11 @@ msgstr "" "por lo tanto, las características finas pueden verse más afectadas por este " "parámetro." -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "Opc. de la herra. Panelizar" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -8466,11 +8776,11 @@ msgstr "" "Cada elemento es una copia del objeto fuente espaciado.\n" "a una distancia X, distancia Y entre sí." -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" -msgstr "Col. de espaciado:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" +msgstr "Col. de espaciado" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -8478,11 +8788,11 @@ msgstr "" "Espaciado entre columnas del panel deseado.\n" "En unidades actuales." -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" -msgstr "Separación de filas:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" +msgstr "Separación de filas" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -8490,35 +8800,35 @@ msgstr "" "Espaciado entre filas del panel deseado.\n" "En unidades actuales." -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" -msgstr "Columnas:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" +msgstr "Columnas" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Número de columnas del panel deseado." -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" -msgstr "Filas:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" +msgstr "Filas" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Número de filas del panel deseado." -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Geo" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" -msgstr "Tipo de panel:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" +msgstr "Tipo de panel" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -8528,11 +8838,11 @@ msgstr "" "- Gerber\n" "- Geometría" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" -msgstr "Restringir dentro de:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" +msgstr "Restringir dentro de" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -8546,11 +8856,11 @@ msgstr "" "El panel final tendrá tantas columnas y filas como\n" "encajan completamente dentro del área seleccionada." -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" -msgstr "Ancho (DX):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" +msgstr "Ancho (DX)" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -8558,11 +8868,11 @@ msgstr "" "El ancho (DX) dentro del cual debe caber el panel.\n" "En unidades actuales." -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" -msgstr "Altura (DY):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" +msgstr "Altura (DY)" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -8570,15 +8880,15 @@ msgstr "" "La altura (DY) dentro de la cual debe caber el panel.\n" "En unidades actuales." -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "Opc. de herra. de calculadoras" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" -msgstr " Calc. de herramientas en forma de V: " +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" +msgstr "Calc. de herra. en forma de V" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -8589,11 +8899,11 @@ msgstr "" "teniendo el diámetro de la punta, el ángulo de la punta y\n" "Profundidad de corte como parámetros." -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" -msgstr "Diá. de la punta:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" +msgstr "Diá. de la punta" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -8601,11 +8911,11 @@ msgstr "" "Este es el diámetro de la punta de la herramienta.\n" "Está especificado por el fabricante." -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" -msgstr "Áng. de la punta:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" +msgstr "Ángulo de la punta" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -8613,7 +8923,7 @@ msgstr "" "Este es el ángulo en la punta de la herramienta.\n" "Está especificado por el fabricante." -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -8621,11 +8931,11 @@ msgstr "" "Esta es la profundidad para cortar en material.\n" "En el objeto de trabajo CNC es el parámetro CutZ." -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" -msgstr " Calculadora de galvanoplastia: " +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" +msgstr "Calculadora de electrochapado" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -8636,27 +8946,27 @@ msgstr "" "Utilizando un método como tinta de grahite o tinta de hipofosfito de calcio " "o cloruro de paladio." -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" -msgstr "Longitud del tablero:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" +msgstr "Longitud del tablero" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "Esta es la longitud del tablero. En centímetros." -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" -msgstr "Ancho del tablero:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" +msgstr "Ancho del tablero" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "Este es el ancho de la tabla. En centímetros." -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" -msgstr "Densidad actual:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" +msgstr "Densidad actual" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -8664,11 +8974,11 @@ msgstr "" "Densidad de corriente para pasar por el tablero.\n" "En amperios por pies cuadrados ASF." -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" -msgstr "Crecimiento de cobre:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" +msgstr "Crecimiento de cobre" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -8676,11 +8986,11 @@ msgstr "" "Qué tan grueso pretende ser el crecimiento del cobre.\n" "En micras." -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "Opc. de herra. de transformación" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -8688,47 +8998,35 @@ msgstr "" "Diversas transformaciones que se pueden aplicar.\n" "en un objeto FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" -msgstr "Gire el ángulo:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" +msgstr "Gire el ángulo" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." -msgstr "Ángulo de rotación. En grados." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" +msgstr "Ángulo de sesgo X" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" -msgstr "Ángulo de sesgo X:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" +msgstr "Ángulo de sesgo Y" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." -msgstr "Ángulo para sesgo / cizallamiento en el eje X. En grados." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" +msgstr "Factor de escala X" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "Ángulo de sesgo Y:" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "Ángulo para sesgo / cizallamiento en el eje Y. En grados." - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "Factor de escala X:" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Factor de escalado en eje X." -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" -msgstr "Factor de escala Y:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" +msgstr "Factor de escala Y" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Factor de escalado en eje Y." -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -8736,7 +9034,7 @@ msgstr "" "Escala el (los) objeto (s) seleccionado (s)\n" "utilizando el factor de escala X para ambos ejes." -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -8748,27 +9046,27 @@ msgstr "" "y el centro del cuadro delimitador más grande.\n" "de los objetos seleccionados cuando no está marcada." -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" -msgstr "Valor X de compens.:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" +msgstr "Valor X de compens." -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Distancia a desplazamiento en el eje X. En unidades actuales." -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" -msgstr "Valor Y de compens.:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" +msgstr "Valor Y de compens." -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Distancia a desplazamiento en el eje Y. En unidades actuales." -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Espejo de referencia" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -8790,11 +9088,11 @@ msgstr "" "O ingrese las coords en formato (x, y) en el\n" "Campo de entrada de puntos y haga clic en Girar en X (Y)" -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" -msgstr "Pt. de ref. del espejo:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" +msgstr "Pt. de ref. del espejo" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -8805,11 +9103,11 @@ msgstr "" "La 'x' en (x, y) se usará cuando se use voltear en X y\n" "la 'y' en (x, y) se usará cuando se use voltear en Y y" -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "Opc de herram. de pasta de sold." -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -8817,49 +9115,49 @@ msgstr "" "Una herramienta para crear GCode para dispensar\n" "pasta de soldadura en una PCB." -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "Diámetros de las herramientas de boquilla, separadas por ','" -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" -msgstr "Nuevo diá de boquilla:" +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" +msgstr "Nuevo diá de boquilla" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Diámetro para la nueva herramienta de boquillas para agregar en la tabla de " "herramientas" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" -msgstr "Inicio de dispen. Z:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" +msgstr "Inicio de dispen. Z" -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "La altura (Z) cuando comienza la dispensación de pasta de soldadura." -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" -msgstr "Dispensación Z:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" +msgstr "Dispensación Z" -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "La altura (Z) al dispensar pasta de soldadura." -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" -msgstr "Parada de dispen. Z:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" +msgstr "Parada de dispen. Z" -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "La altura (Z) cuando se detiene la dispensación de pasta de soldadura." -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" -msgstr "Viajar Z:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" +msgstr "Viajar Z" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -8867,19 +9165,19 @@ msgstr "" "La altura (Z) para viajar entre almohadillas\n" "(sin dispensar pasta de soldadura)." -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" -msgstr "Cambio de herra. Z:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" +msgstr "Cambio de herra. Z" -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "La altura (Z) para el cambio de herramienta (boquilla)." -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" -msgstr "Cambio de herra. XY:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" +msgstr "Cambio de herra X, Y" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -8887,19 +9185,19 @@ msgstr "" "La ubicación X, Y para el cambio de herramienta (boquilla).\n" "El formato es (x, y) donde x e y son números reales." -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" -msgstr "Avance X-Y:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" +msgstr "Avance X-Y" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Avance (velocidad) mientras se mueve en el plano X-Y." -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" -msgstr "Avance Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" +msgstr "Avance Z" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -8907,11 +9205,11 @@ msgstr "" "Avance (velocidad) mientras se mueve verticalmente\n" "(en el plano Z)." -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" -msgstr "Avance de Dispens. Z:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" +msgstr "Avance de Dispens. Z" -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -8919,11 +9217,11 @@ msgstr "" "Avance (velocidad) mientras se mueve verticalmente\n" "para dispensar la posición (en el plano Z)." -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" -msgstr "Veloc. del husillo FWD:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" +msgstr "Veloc. del husillo FWD" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -8931,19 +9229,19 @@ msgstr "" "La velocidad del dispensador mientras empuja la pasta de soldadura\n" "a través de la boquilla dispensadora." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" -msgstr "Morar FWD:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" +msgstr "Morar FWD" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Pausa después de la dispensación de soldadura." -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" -msgstr "Veloc. del husillo REV:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" +msgstr "Veloc. del husillo REV" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -8951,11 +9249,11 @@ msgstr "" "La velocidad del dispensador mientras se retrae la pasta de soldadura\n" "a través de la boquilla dispensadora." -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" -msgstr "Morar REV:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" +msgstr "Morar REV" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -8963,19 +9261,20 @@ msgstr "" "Pausa después de que el dispensador de pasta de soldadura se retraiga,\n" "para permitir el equilibrio de presión." -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" -msgstr "Postprocesadores:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" +msgstr "Postprocesador" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Archivos que controlan la generación de GCode." -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "Opc. de herra. de substractor" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -8983,25 +9282,25 @@ msgstr "" "Una herramienta para restar un objeto Gerber o Geometry\n" "de otro del mismo tipo." -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Caminos cercanos" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Marcar esto cerrará los caminos cortados por el objeto sustrato Geometry." -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "Ocioso." -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "Aplicacion iniciada ..." -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "¡Hola!" @@ -9027,17 +9326,13 @@ msgstr "" "Editar -> Preferencias -> General y verificar:\n" "'APP. NIVEL 'botón de radio." -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr "Escala:" - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "Cambiar el tamaño del objeto." #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" -msgstr "Factor:" +msgid "Factor" +msgstr "Factor" #: flatcamGUI/ObjectUI.py:91 msgid "" @@ -9051,17 +9346,13 @@ msgstr "" msgid "Perform scaling operation." msgstr "Realizar la operación de escalado." -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "Offset:" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "Cambia la posición de este objeto." #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" -msgstr "Vector:" +msgid "Vector" +msgstr "Vector" #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -9080,9 +9371,9 @@ msgid "Gerber Object" msgstr "Objeto Gerber" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" -msgstr "Nombre:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" +msgstr "Nombre" #: flatcamGUI/ObjectUI.py:203 msgid "" @@ -9126,17 +9417,9 @@ msgstr "" "característica, use un valor negativo para\n" "este parámetro" -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "Pases:" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "Combinar" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" -msgstr "Generar geo. de aislamiento:" +msgid "Generate Isolation Geometry" +msgstr "Generar geo. de aislamiento" #: flatcamGUI/ObjectUI.py:325 msgid "" @@ -9203,10 +9486,10 @@ msgstr "" "solo la geometría interior." #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" -msgstr "N-cobre claro:" +msgid "Clear N-copper" +msgstr "N-cobre claro" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -9215,10 +9498,10 @@ msgstr "" "para enrutamiento sin cobre." #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" -msgstr "Corte del tablero:" +msgid "Board cutout" +msgstr "Corte del tablero" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "Herra. de corte" @@ -9230,35 +9513,9 @@ msgstr "" "Generar la geometría para\n" "El recorte del tablero." -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr "Regiones no cobre:" - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" -"Crear polígonos que cubran el\n" -"áreas sin cobre en el PCB.\n" -"Equivalente al inverso de este\n" -"objeto. Se puede usar para eliminar todo\n" -"cobre de una región específica." - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "Geo redondeado" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "La geometría resultante tendrá esquinas redondeadas." - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Generar Geo" @@ -9282,22 +9539,10 @@ msgstr "Objeto Excellon" msgid "Solid circles." msgstr "Círculos sólidos" -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr "Mesa de herramientas" - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "Taladros" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "Muesca" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "Offset Z" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -9310,7 +9555,7 @@ msgstr "" "se mostrará como T1, T2 ... Tn en el Código de máquina." #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -9347,61 +9592,11 @@ msgstr "" "Crear un objeto de trabajo CNC\n" "para este objeto de perforación" -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" -msgstr "Cambio de herra." - -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" msgstr "Cambio de herra. Z" -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "" -"Posición del eje Z (altura) para\n" -"cambio de herramienta." - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Altura de la herramienta justo antes de comenzar el trabajo.\n" -"Elimine el valor si no necesita esta función." - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "" -"Posición del eje Z (altura) para\n" -"El último movimiento." - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "Avance (inmersión):" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" -"Velocidad de herramienta durante la perforación\n" -"(en unidades por minuto).\n" -"Esto es para el movimiento lineal G01." - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" -"El archivo json que dicta\n" -"Salida de gcode." - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." @@ -9409,11 +9604,7 @@ msgstr "" "Seleccione de la tabla de herramientas de arriba\n" "Las herramientas que desea incluir." -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr "Tipo: " - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -9425,15 +9616,15 @@ msgstr "" "Al elegir 'Muesca' o 'Ambos', los slots serán\n" "convertido en una serie de simulacros." -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "Crear GCode" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "Generar el trabajo del CNC." -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." @@ -9441,15 +9632,11 @@ msgstr "" "Seleccione de la tabla de herramientas de arriba\n" "los agujeros que se van a fresar." -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "Herra. Taladros dia:" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "Fresas Geo" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -9457,10 +9644,6 @@ msgstr "" "Crear el objeto de geometría\n" "para fresar trayectorias de taladros." -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "Diá. de la herra. de muesca:" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "Fresado de muesca Geo" @@ -9506,12 +9689,12 @@ msgstr "" "atenuado y Cut Z se calcula automáticamente a partir de la nueva\n" "mostró entradas de formulario de IU denominadas V-Tipo Dia y V-Tipo ángulo." -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "Dia" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TT" @@ -9616,8 +9799,8 @@ msgstr "" "para la herramienta correspondiente." #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" -msgstr "Offset de herra.:" +msgid "Tool Offset" +msgstr "Offset de herra." #: flatcamGUI/ObjectUI.py:951 msgid "" @@ -9631,12 +9814,13 @@ msgstr "" "El valor puede ser positivo para 'afuera'\n" "corte y negativo para corte 'interior'." -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" -msgstr "Herra. Dia:" +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" +msgstr "Diá. de herra." -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -9661,8 +9845,8 @@ msgstr "" "seleccionando primero una fila en la Tabla de herramientas." #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" -msgstr "Datos de herra." +msgid "Tool Data" +msgstr "Datos de herra." #: flatcamGUI/ObjectUI.py:1028 msgid "" @@ -9673,16 +9857,16 @@ msgstr "" "Cada herramienta almacena su propio conjunto de datos." #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" -msgstr "V-Tipo Dia:" +msgid "V-Tip Dia" +msgstr "V-Tipo Dia" #: flatcamGUI/ObjectUI.py:1049 msgid "The tip diameter for V-Shape Tool" msgstr "El diámetro de la punta para la herramienta en forma de V" #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" -msgstr "V-Tipo Ángulo:" +msgid "V-Tip Angle" +msgstr "V-Tipo Ángulo" #: flatcamGUI/ObjectUI.py:1060 msgid "" @@ -9692,105 +9876,11 @@ msgstr "" "El ángulo de punta para la herramienta en forma de V.\n" "En grado." -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "Profund. múlti.:" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" -"Usa múltiples pases para limitar\n" -"La profundidad de corte en cada pasada. Será\n" -"cortar varias veces hasta que el corte Z sea\n" -"alcanzado.\n" -"A la derecha, ingrese la profundidad de\n" -"cada pase (valor positivo)." - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "Profundidad de cada pase (positivo)." -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Incluir secuencia de cambio de herramienta\n" -"en el código de máquina (pausa para cambio de herramienta)." - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" -"Esta es la altura (Z) a la que el CNC\n" -"irá como el último movimiento." - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "Avance Z (inmersión):" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" -"Velocidad de corte en la Z\n" -"avión en unidades por minuto" - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "Avance rápido:" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Velocidad de corte en el XY\n" -"avión en unidades por minuto\n" -"(en unidades por minuto).\n" -"Esto es para el movimiento rápido G00.\n" -"Es útil solo para Marlin,\n" -"ignorar para cualquier otro caso." - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "Corte sobre el 1 pt" - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" -"Velocidad del husillo en RPM (opcional).\n" -"Si se utiliza el postprocesador LÁSER,\n" -"Este valor es el poder del láser." - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "Postprocesador:" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" -"El archivo de postprocesador que dicta\n" -"la salida del código de máquina (como GCode, RML, HPGL)." - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -9800,39 +9890,35 @@ msgstr "" "Haga clic en el encabezado para seleccionar todo, o Ctrl + LMB\n" "para la selección personalizada de herramientas." -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "Generar" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "Genere el objeto de trabajo CNC." -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" -msgstr "Área de pintura:" +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" +msgstr "Área de pintura" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "Inicie la herramienta Pintura en la pestaña Herramientas." -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "Objeto de trabajo CNC" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" -msgstr "Tipo de parcela:" +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" +msgstr "Tipo de trazado" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" -msgstr "Mostrar anotación:" +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." +msgstr "Dist. recorrida" -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr "Dist. recorrida.:" - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -9840,11 +9926,11 @@ msgstr "" "Esta es la distancia total recorrida en el plano X-Y.\n" "En unidades actuales." -#: flatcamGUI/ObjectUI.py:1406 -msgid "Estimated time:" -msgstr "Duración estimada:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" +msgstr "Duración estimada" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -9852,11 +9938,11 @@ msgstr "" "Este es el tiempo estimado para hacer el enrutamiento / perforación,\n" "sin el tiempo dedicado a los eventos de cambio de herramienta." -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" -msgstr "Mesa de herra. CNC" +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" +msgstr "Tabla de herramientas CNC" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -9879,73 +9965,39 @@ msgstr "" "C4),\n" "bola (B) o en forma de V (V)." -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "Actualizar Trama" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "Actualiza la trama." -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" -msgstr "Exportar código CNC:" +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" +msgstr "Anteponer al código del CNC" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" -msgstr "Anteponer al código del CNC:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" +msgstr "Añadir al código CNC" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" -"Escriba aquí cualquier comando de código G que desee\n" -"desea agregar al comienzo del archivo generado." - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "Añadir al código CNC:" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" -"Escriba aquí cualquier comando de código G que desee\n" -"desea ejecutarse cuando se encuentra un evento de cambio de herramienta.\n" -"Esto constituirá un cambio de herramienta personalizado GCode,\n" -"o una macro de cambio de herramienta.\n" -"Las variables de FlatCAM están rodeadas por el símbolo '%'.\n" -"\n" -"ADVERTENCIA: solo se puede usar con un archivo de postprocesador\n" -"que tiene 'toolchange_custom' en su nombre y esto está construido\n" -"teniendo como plantilla el archivo posprocesador 'Toolchange Custom'." - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "z_cut = profundidad donde cortar" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "z_move = altura donde viajar" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "Ver código CNC" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." @@ -9953,11 +10005,11 @@ msgstr "" "Abre la pestaña para ver / modificar / imprimir el código G\n" "expediente." -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "Guardar código CNC" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -9969,18 +10021,10 @@ msgstr "" msgid "Calculators" msgstr "Calculadoras" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "Calc. de herra. en forma de V" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "Calculadora de unidades" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "Calculadora de electrochapado" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "Aquí ingresa el valor a convertir de PULGADAS a MM" @@ -9989,19 +10033,7 @@ msgstr "Aquí ingresa el valor a convertir de PULGADAS a MM" msgid "Here you enter the value to be converted from MM to INCH" msgstr "Aquí ingresa el valor a convertir de MM a PULGADA" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" -"Este es el diámetro de la punta de la herramienta.\n" -"El fabricante lo especifica." - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "Ángulo de la punta:" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -10009,7 +10041,7 @@ msgstr "" "Este es el ángulo de la punta de la herramienta.\n" "Está especificado por el fabricante." -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -10017,11 +10049,11 @@ msgstr "" "Esta es la profundidad para cortar el material.\n" "En el CNCJob se encuentra el parámetro CutZ." -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" -msgstr "Diá. de herra.:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" +msgstr "Diá. de herra." -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -10031,11 +10063,11 @@ msgstr "" "Sección FlatCAM Gerber.\n" "En la sección CNCJob se llama >diá. de herra.<." -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "Calcular" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -10043,11 +10075,11 @@ msgstr "" "Calcule el Cut Z o el diámetro efectivo de la herramienta,\n" "dependiendo de cuál se desee y cuál se conozca." -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" -msgstr "Valor actual:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" +msgstr "Valor actual" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -10055,11 +10087,11 @@ msgstr "" "Este es el valor de intensidad actual\n" "para configurar en la fuente de alimentación. En amperios." -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" -msgstr "Hora:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" +msgstr "Hora" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." @@ -10067,7 +10099,7 @@ msgstr "" "Este es el tiempo calculado requerido para el procedimiento.\n" "En minutos." -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -10075,7 +10107,7 @@ msgstr "" "Calcule el valor de intensidad actual y el tiempo del procedimiento,\n" "dependiendo de los parámetros anteriores" -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "Calc. Herramienta" @@ -10083,9 +10115,10 @@ msgstr "Calc. Herramienta" msgid "Cutout PCB" msgstr "PCB de corte" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" -msgstr "Tipo de obj:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" +msgstr "Tipo de obj" #: flatcamTools/ToolCutOut.py:56 msgid "" @@ -10099,51 +10132,19 @@ msgstr "" "Lo que se seleccione aquí dictará el tipo\n" "de objetos que llenarán el cuadro combinado 'Objeto'." -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" -msgstr "Objeto:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" +msgstr "Objeto" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "Objeto a recortar." -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "" -"Diámetro de la herramienta utilizada para cortar\n" -"La forma de PCB fuera del material circundante." - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" -"Margen sobre los límites. Un valor positivo aquí\n" -"hará que el corte de la PCB esté más alejado de\n" -"el borde real de PCB" - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" -"El tamaño de los huecos del puente en el recorte\n" -"solía mantener la placa conectada a\n" -"el material circundante (el\n" -"de la cual se corta el PCB)." - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." -msgstr "" -"Crea una forma convexa que rodea toda la PCB.\n" -"Se usa solo si el tipo de objeto de origen es Gerber." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" +msgstr "Tamaño de la brecha:" #: flatcamTools/ToolCutOut.py:138 msgid "A. Automatic Bridge Gaps" @@ -10158,6 +10159,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10168,6 +10170,7 @@ msgstr "" "Número de huecos utilizados para el recorte automático.\n" "Puede haber un máximo de 8 puentes / huecos.\n" "Las opciones son:\n" +"- Ninguno - sin espacios\n" "- lr - izquierda + derecha\n" "- tb - arriba + abajo\n" "- 4 - izquierda + derecha + arriba + abajo\n" @@ -10175,11 +10178,11 @@ msgstr "" "- 2tb - 2 * arriba + 2 * abajo\n" "- 8 - 2 * izquierda + 2 * derecha + 2 * arriba + 2 * abajo" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" -msgstr "Forma libre:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" +msgstr "Forma libre" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." @@ -10187,7 +10190,7 @@ msgstr "" "La forma recortada puede ser de forma ny.\n" "Útil cuando la PCB tiene una forma no rectangular." -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -10197,11 +10200,11 @@ msgstr "" "La forma recortada puede ser de cualquier forma.\n" "Útil cuando la PCB tiene una forma no rectangular." -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" -msgstr "Rectangular:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" +msgstr "Rectangular" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -10211,7 +10214,7 @@ msgstr "" "siempre una forma rectangular y será\n" "El cuadro delimitador del objeto." -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -10223,11 +10226,11 @@ msgstr "" "siempre una forma rectangular y será\n" "El cuadro delimitador del objeto." -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "B. Brechas manuales del puente" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -10237,19 +10240,19 @@ msgstr "" "Esto se hace haciendo clic con el mouse en el perímetro del\n" "Objeto de geometría que se utiliza como objeto recortado." -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" -msgstr "Geo Obj:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" +msgstr "Geo Obj" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "Objeto de geometría utilizado para crear el recorte manual." -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" -msgstr "Geo manual:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" +msgstr "Geo manual" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -10262,11 +10265,11 @@ msgstr "" "Seleccione el archivo fuente de Gerber en el cuadro combinado de objeto " "superior." -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" -msgstr "Agregar huecos de puente manuales:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" +msgstr "Agregar huecos de puente manuales" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10276,11 +10279,11 @@ msgstr "" "para crear un espacio de puente para separar la PCB de\n" "El material circundante." -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "Generar brecha" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10294,18 +10297,19 @@ msgstr "" "El clic LMB debe hacerse en el perímetro de\n" "El objeto Geometry utilizado como geometría de recorte." -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "[ERROR_NOTCL] No se pudo recuperar el objeto: %s" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." @@ -10313,7 +10317,7 @@ msgstr "" "[ERROR_NOTCL] No hay ningún objeto seleccionado para Recorte.\n" "Seleccione uno e intente nuevamente." -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10321,37 +10325,38 @@ msgstr "" "[WARNING_NOTCL] Diámetro de herramienta es valor cero. Cámbielo a un número " "real positivo." -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Falta el valor de margen o el formato es incorrecto. Añádelo " "y vuelve a intentarlo." -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Falta el valor de tamaño de espacio o el formato es " "incorrecto. Añádelo y vuelve a intentarlo." -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "" "[WARNING_NOTCL] Falta el valor del número de huecos. Añádelo y vuelve a " "intentarlo." -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" -"[WARNING_NOTCL] El valor de los huecos solo puede ser uno de: 'lr', 'tb', " -"'2lr', '2tb', 4 u 8. Complete un valor correcto y vuelva a intentarlo." +"[WARNING_NOTCL] El valor de las brechas solo puede ser uno de: 'Ninguno', " +"'lr', 'tb', '2lr', '2tb', 4 u 8. Complete un valor correcto y vuelva a " +"intentarlo." -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -10364,18 +10369,18 @@ msgstr "" "Single-Geo,\n" "y después de eso realiza el recorte." -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "[success] Cualquier forma de operación de corte finalizada." -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "[ERROR_NOTCL] Objeto no encontrado: %s" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10383,37 +10388,37 @@ msgstr "" "[ERROR_NOTCL] Diá. de herramienta es valor cero. Cámbielo a un número real " "positivo." -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Haga clic en el perímetro del objeto de geometría seleccionado para crear un " "espacio de puente ..." -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "Hacer un puente manual ..." - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "[ERROR_NOTCL] No se pudo recuperar el objeto Geometry: %s" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "Hacer un puente manual ..." + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "[ERROR_NOTCL] Objeto de geometría para corte manual no encontrado: %s" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "[success] Se agregó brecha de puente manual." -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "[ERROR_NOTCL] No se pudo recuperar el objeto Gerber: %s" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -10421,7 +10426,7 @@ msgstr "" "[ERROR_NOTCL] No hay ningún objeto Gerber seleccionado para Recorte.\n" "Seleccione uno e intente nuevamente." -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -10429,14 +10434,15 @@ msgstr "" "[ERROR_NOTCL] El objeto seleccionado debe ser del tipo Gerber.\n" "Seleccione un archivo Gerber e intente nuevamente." +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" +msgstr "[ERROR_NOTCL] Geometría no admitida para recorte: %s" + #: flatcamTools/ToolDblSided.py:18 msgid "2-Sided PCB" msgstr "PCB a 2 caras" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" -msgstr "GERBER:" - #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 #: flatcamTools/ToolDblSided.py:100 msgid "Mirror" @@ -10453,35 +10459,21 @@ msgstr "" "El eje especificado. No crea un nuevo\n" "objeto, pero lo modifica." -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "EXCELLON:" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "Excellon Objeto a ser reflejado." -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "GEOMETRÍA:" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "Obj de geometría para ser reflejado." -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." -msgstr "" -"El eje debe pasar por un punto o cortar\n" -"  un cuadro especificado (en un objeto FlatCAM) a través de\n" -"El centro." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" +msgstr "Ref. del eje:" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" -msgstr "Punto / caja de referencia:" +msgid "Point/Box Reference" +msgstr "Punto/caja de referencia" #: flatcamTools/ToolDblSided.py:154 msgid "" @@ -10514,21 +10506,24 @@ msgstr "" "y haga clic con el botón izquierdo del mouse en el lienzo o puede ingresar " "las coordenadas manualmente." -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "Obj. de cuadro de ref. de Gerber" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "Obj. de cuadro de ref. de Excellon" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "Obj. de cuadro de ref. de Geometría" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" -msgstr "Taladro de alineación Coords:" +msgid "Alignment Drill Coordinates" +msgstr "Taladro de alineación Coords" #: flatcamTools/ToolDblSided.py:194 msgid "" @@ -10601,11 +10596,11 @@ msgstr "Reiniciar" msgid "Resets all the fields." msgstr "Restablece todos los campos." -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "Herra. de 2 lados" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." @@ -10613,14 +10608,14 @@ msgstr "" "[WARNING_NOTCL] Se selecciona la referencia 'Punto' y faltan las coordenadas " "'Punto'. Añádelos y vuelve a intentarlo." -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" "[WARNING_NOTCL] No hay ningún objeto de referencia de cuadro cargado. Cargue " "uno y vuelva a intentarlo." -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." @@ -10628,7 +10623,7 @@ msgstr "" "[WARNING_NOTCL] Sin valor o formato incorrecto en la entrada de diá. de " "perforación. Añádelo y vuelve a intentarlo." -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." @@ -10636,23 +10631,23 @@ msgstr "" "[WARNING_NOTCL] No hay coordenadas de taladro de alineación para usar. " "Añádelos y vuelve a intentarlo." -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "[success] Objeto Excellon con taladros de alineación creados ..." -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "[WARNING_NOTCL] No hay ningún objeto Gerber cargado ..." -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "[ERROR_NOTCL] Solo los objetos Gerber, Excellon y Geometry se pueden " "reflejar." -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." @@ -10660,21 +10655,21 @@ msgstr "" "[WARNING_NOTCL] 'Punto 'coordenadas faltantes. Usando origen (0, 0) como " "reflejo de referencia." -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "[WARNING_NOTCL] No hay ningún objeto caja cargado ..." -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "[success] Gerber %s se reflejó ..." -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "[WARNING_NOTCL] No hay ningún objeto Excellon cargado ..." -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." @@ -10682,16 +10677,16 @@ msgstr "" "[WARNING_NOTCL] No hay coordenadas de punto en el campo Punto. Agregue " "coords e intente nuevamente ..." -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "[success] Excellon %s se reflejó ..." -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "[WARNING_NOTCL] No hay ningún objeto de geometría cargado ..." -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "[success] La Geometría %s se reflejó ..." @@ -10701,9 +10696,9 @@ msgid "Film PCB" msgstr "Película de PCB" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" -msgstr "Tipo de objeto:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" +msgstr "Tipo de objeto" #: flatcamTools/ToolFilm.py:58 msgid "" @@ -10718,14 +10713,14 @@ msgstr "" "en el cuadro combinado de objeto de película." #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" -msgstr "Objeto de la película:" +msgid "Film Object" +msgstr "Objeto de la película" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "Objeto para el cual crear la película." -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "Tipo de caja:" @@ -10742,8 +10737,8 @@ msgstr "" "en el cuadro combinado Objeto de caja." #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" -msgstr "Objeto de caja:" +msgid "Box Object" +msgstr "Objeto de caja" #: flatcamTools/ToolFilm.py:106 msgid "" @@ -10781,37 +10776,37 @@ msgstr "" "Objeto FlatCAM, pero guárdelo directamente en formato SVG\n" "que se puede abrir con Inkscape." -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" "[ERROR_NOTCL] No se ha seleccionado ningún objeto FlatCAM. Cargue un objeto " "para Película y vuelva a intentarlo." -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" "[ERROR_NOTCL] No se ha seleccionado ningún objeto FlatCAM. Cargue un objeto " "para Box y vuelva a intentarlo." -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "Generando película ..." -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "Exportar SVG positivo" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "[WARNING_NOTCL] Exportación SVG positiva cancelada." -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "Exportar SVG negativo" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "[WARNING_NOTCL] Exportar SVG negativo cancelado." @@ -10832,8 +10827,8 @@ msgstr "" "Puede ser de tipo: Gerber o Geometría." #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" -msgstr "Valor de DPI:" +msgid "DPI value" +msgstr "Valor de DPI" #: flatcamTools/ToolImage.py:65 msgid "Specify a DPI value for the image." @@ -10921,11 +10916,11 @@ msgstr "Importar imagen" msgid "Open a image of raster type and then import it in FlatCAM." msgstr "Abra una imagen de tipo ráster y luego impórtela en FlatCAM." -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "Herra. de imagen" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "Importar IMAGEN" @@ -10933,10 +10928,6 @@ msgstr "Importar IMAGEN" msgid "Measurement" msgstr "Medición" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "Unidades:" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "Esas son las unidades en las que se mide la distancia." @@ -10970,16 +10961,16 @@ msgid "This is the measuring Stop point coordinates." msgstr "Estas son las coordenadas del punto de parada de medición." #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" -msgstr "Dx:" +msgid "Dx" +msgstr "Dx" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 msgid "This is the distance measured over the X axis." msgstr "Esta es la distancia medida sobre el eje X." #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" -msgstr "Dy:" +msgid "Dy" +msgstr "Dy" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 msgid "This is the distance measured over the Y axis." @@ -11062,11 +11053,23 @@ msgstr "[WARNING_NOTCL] Objeto(s) no seleccionado(s)" msgid "Non-Copper Clearing" msgstr "Compensación sin cobre" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " -msgstr "Objeto de Gerber para eliminar el exceso de cobre." +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Especifique el tipo de objeto que se eliminará del exceso de cobre.\n" +"Puede ser de tipo: Gerber o Geometría.\n" +"Lo que se seleccione aquí dictará el tipo\n" +"de objetos que llenarán el cuadro combinado 'Objeto'." -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "Objeto a eliminar del exceso de cobre." + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -11074,7 +11077,7 @@ msgstr "" "Conjunto de herramientas desde el cual el algoritmo\n" "elegirá los utilizados para la limpieza de cobre." -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -11091,7 +11094,7 @@ msgstr "" "en la geometría resultante. Esto es porque con algunas herramientas\n" "Esta función no podrá crear geometría de pintura." -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -11117,16 +11120,12 @@ msgstr "" "automáticamente el Tipo de operación en la geometría resultante como " "Aislamiento." -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "Diá. de herra." - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 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" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -11135,43 +11134,23 @@ msgstr "" "Eliminar una selección de herramientas en la tabla de herramientas\n" "seleccionando primero una (s) fila (s) en la Tabla de herramientas." -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." -msgstr "" -"Si está marcado, use 'mecanizado en reposo'.\n" -"Básicamente eliminará el cobre fuera de las características de la PCB,\n" -"utilizando la herramienta más grande y continúe con las siguientes " -"herramientas,\n" -"de mayor a menor, para limpiar áreas de cobre que\n" -"no se pudo borrar con la herramienta anterior, hasta que haya\n" -"no más cobre para limpiar o no hay más herramientas.\n" -"Si no está marcado, use el algoritmo estándar." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" +msgstr "Selección de área" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." -msgstr "" -"- 'Sí mismo': la extensión de limpieza sin cobre\n" -"se basa en el objeto que es cobre despejado.\n" -"- 'Caja': limpiará sin cobre dentro de la caja\n" -"especificado por el objeto seleccionado en la Ref. Cuadro combinado de " -"objetos." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" +msgstr "Objeto de referencia" -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" -msgstr "Tipo de ref.:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" +msgstr "Referencia:" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "Tipo de ref." + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -11180,42 +11159,42 @@ msgstr "" "sin cobre.\n" "Puede ser Gerber, Excellon o Geometry." -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" -msgstr "Objeto de ref.:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" +msgstr "Objeto de ref." -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "El objeto FlatCAM que se utilizará como referencia de compensación sin cobre." -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "Generar Geometría" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "" "[WARNING_NOTCL] Ingrese un diámetro de herramienta para agregar, en formato " "decimal." -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Agregando herramienta cancelada. Herramienta ya en la tabla " "de herramientas." -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "[success] Nueva herramienta agregada a la Tabla de herramientas." -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "[success] Se editó la herramienta de la tabla de herramientas." -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." @@ -11223,62 +11202,82 @@ msgstr "" "[WARNING_NOTCL] Editar cancelado El nuevo valor del diámetro ya está en la " "Tabla de herramientas." -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "" "[WARNING_NOTCL] Eliminar falló. Seleccione una herramienta para eliminar." -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "[success] Herramienta (s) eliminada de la tabla de herramientas." -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "[WARNING_NOTCL] Haga clic en el punto de inicio del área." + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "[WARNING_NOTCL] Haga clic en el punto final del área de pintura." + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "Zona agregada. Haga clic derecho para terminar." + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "[ERROR_NOTCL] El valor de superposición debe estar entre 0 (inclusive) y 1 " "(exclusivo)," -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "[ERROR_NOTCL] No hay objeto disponible." -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "[WARNING_NOTCL] Buffering ..." -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "[success] Buffering terminado ..." -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "" +"[ERROR_NOTCL] El objeto seleccionado no es adecuado para la limpieza de " +"cobre." + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" "[ERROR_NOTCL] No se pudo obtener la extensión del área que no fue limpiada " "con cobre." -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "Despeje de áreas no cobre." -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "" "[success] Compensación sin cobre con el diá. de la herramienta = %s iniciado." -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "[success] Herramienta NCC terminada." -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." @@ -11286,19 +11285,19 @@ msgstr "" "[WARNING_NOTCL] La herra. NCC finalizó pero algunas características de la " "PCB no se pudieron borrar. Comprueba el resultado." -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "" "[success] Limpieza de reposo sin cobre con el diámetro de la herramienta = " "%s iniciado." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -11336,19 +11335,23 @@ msgstr "[ERROR_NOTCL] El archivo PDF abierto ha fallado." msgid "[success] Rendered: %s" msgstr "[success] Rendido: %s" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" -msgstr "Área de pintura" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Especifique el tipo de objeto a pintar.\n" +"Puede ser de tipo: Gerber o Geometría.\n" +"Lo que se seleccione aquí dictará el tipo\n" +"de objetos que llenarán el cuadro combinado 'Objeto'." -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" -msgstr "Geometría:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." +msgstr "Objeto a pintar." -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "Objeto de geometría a pintar." - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -11356,7 +11359,7 @@ msgstr "" "Conjunto de herramientas desde el cual el algoritmo\n" "elegirá los que se usan para pintar." -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -11372,11 +11375,11 @@ msgstr "" "en la geometría resultante. Esto es porque con algunas herramientas\n" "Esta función no podrá crear geometría de pintura." -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "Diámetro para la nueva herramienta." -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -11397,74 +11400,93 @@ msgstr "" "\n" "Si no está marcado, use el algoritmo estándar." -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -"Cómo seleccionar los polígonos para pintar.
Opciones:
-Simple: " -"haga clic con el botón izquierdo del mouse en el polígono a pintar.
-" -"Todo: pintar Todos los polígonos." +"Cómo seleccionar los polígonos para pintar.
Opciones:
- Polígonos " +"individuales : haga clic con el botón izquierdo del mouse en el polígono " +"a pintar.
- Selección de área : clic izquierdo del mouse para " +"iniciar la selección del área a pintar.
- Todos los polígonos : " +"pintar todos los polígonos.
- Objeto de referencia : pintar un " +"área descrita por un objeto de referencia externo." -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "Polígono único" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "Todos los polígonos" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"El tipo de objeto FlatCAM que se utilizará como referencia de pintura.\n" +"Puede ser Gerber, Excellon o Geometry." + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "Crear geometría de pintura" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Después de hacer clic aquí, haga clic dentro de
el polígono que desea " -"pintar si se selecciona Individual.
Si se selecciona Todo, " -"la Pintura comenzará después de hacer clic.
Se creará un nuevo objeto de " -"Geometría con la herramienta
rutas." +"- 'Selección de área': haga clic con el botón izquierdo del mouse para " +"iniciar la selección del área a pintar.\n" +"Mantener presionada una tecla modificadora (CTRL o SHIFT) permitirá agregar " +"múltiples áreas.\n" +"- 'Todos los polígonos': la pintura comenzará después de hacer clic.\n" +"- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n" +"especificado por otro objeto." -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "geometry_on_paint_button" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "[WARNING_NOTCL] Haga clic dentro del polígono deseado." -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "[ERROR_NOTCL] No se puede Pintar en geometrías de geo-múltiple ..." -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "Pintar polígono ..." -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "[WARNING_NOTCL] Haga clic en el punto de inicio del área de pintura." -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "[WARNING_NOTCL] Haga clic en el punto final del área de pintura." - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "Hecho." - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "[WARNING] No se encontró polígono." -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "Pintura poligonal." -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "[ERROR_NOTCL] La Geometría no se pudo pintar completamente" -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -11475,18 +11497,18 @@ msgstr "" "parámetros. O una estrategia diferente de pintura\n" "%s" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "Polygon Pinta comenzó ..." -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -11497,7 +11519,7 @@ msgstr "" "parámetros. O un método diferente de pintura\n" "%s" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -11509,11 +11531,11 @@ msgstr "" "grande para la geometría pintada.\n" "Cambie los parámetros de pintura e intente nuevamente." -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "[success] Pintar Todo listo." -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -11525,7 +11547,7 @@ msgstr "" "grande para la geometría pintada.\n" "Cambie los parámetros de pintura e intente nuevamente." -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "[success] Pinte Todo con el mecanizado de descanso hecho." @@ -11553,17 +11575,9 @@ msgstr "" "Objeto a ser panelizado. Esto significa que lo hará\n" "ser duplicado en una matriz de filas y columnas." -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "Objeto" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "Cuadro delimitador" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" -msgstr "Referencia de penelización:" +msgid "Penelization Reference" +msgstr "Ref. de penelización" #: flatcamTools/ToolPanelize.py:88 msgid "" @@ -11585,6 +11599,10 @@ msgstr "" "a este objeto de referencia, por lo tanto, manteniendo el panelizado\n" "objetos sincronizados." +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "Tipo de caja" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -11606,8 +11624,8 @@ msgstr "" " objeto seleccionado que se va a panelizar." #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" -msgstr "Datos del panel:" +msgid "Panel Data" +msgstr "Datos del panel" #: flatcamTools/ToolPanelize.py:136 msgid "" @@ -11625,10 +11643,6 @@ msgstr "" "Los espacios establecerán la distancia entre dos\n" "elementos de la matriz de paneles." -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "Tipo de panel:" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -11640,8 +11654,8 @@ msgstr "" "- Gerber" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" -msgstr "Restrinja el panel dentro de:" +msgid "Constrain panel within" +msgstr "Restrinja el panel dentro de" #: flatcamTools/ToolPanelize.py:227 msgid "Panelize Object" @@ -11657,16 +11671,16 @@ msgstr "" "En otras palabras, crea múltiples copias del objeto fuente,\n" "dispuestos en una matriz 2D de filas y columnas." -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "Herra. de panel." -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Sin objeto Caja. Usando en su lugar %s" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." @@ -11674,15 +11688,15 @@ msgstr "" "[ERROR_NOTCL] Las columnas o filas son de valor cero. Cámbialos a un entero " "positivo." -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "Generando panel ... Por favor espere." -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "[success] Panel hecho ..." -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " @@ -11691,7 +11705,7 @@ msgstr "" "[WARNING] Demasiado grande para el área de restricción. El panel final tiene " "{col} columnas y {row} filas" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "[success] Panel creado con éxito." @@ -11704,12 +11718,12 @@ msgid "Import 2-file Excellon" msgstr "Importar Excellon de 2 archivos" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" -msgstr "Cargar archivos:" +msgid "Load files" +msgstr "Cargar archivos" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" -msgstr "Archivo Excellon:" +msgid "Excellon file" +msgstr "Archivo Excellon" #: flatcamTools/ToolPcbWizard.py:59 msgid "" @@ -11720,8 +11734,8 @@ msgstr "" "Por lo general, tiene una extensión .DRL" #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" -msgstr "Archivo INF:" +msgid "INF file" +msgstr "Archivo INF" #: flatcamTools/ToolPcbWizard.py:67 msgid "Load the INF file." @@ -11736,20 +11750,20 @@ msgid "Tool diameter in file units." msgstr "Diámetro de herramienta en unidades de archivo." #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" -msgstr "Excellon Formato:" +msgid "Excellon format" +msgstr "Formato Excellon" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" -msgstr "Dígitos enteros:" +msgid "Int. digits" +msgstr "Dígitos enteros" #: flatcamTools/ToolPcbWizard.py:97 msgid "The number of digits for the integral part of the coordinates." msgstr "El número de dígitos para la parte integral de las coordenadas." #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" -msgstr "Dígitos fraccio.:" +msgid "Frac. digits" +msgstr "Dígitos fraccio." #: flatcamTools/ToolPcbWizard.py:106 msgid "The number of digits for the fractional part of the coordinates." @@ -11760,8 +11774,8 @@ msgid "No Suppression" msgstr "Sin supresión" #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" -msgstr "Supresión de ceros:" +msgid "Zeros supp." +msgstr "Supresión de ceros" #: flatcamTools/ToolPcbWizard.py:116 msgid "" @@ -11777,10 +11791,6 @@ msgstr "" "- TZ = los ceros finales se mantienen\n" "- Sin supresión = sin supresión de cero" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "Unidades" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -11805,19 +11815,19 @@ msgstr "" "Uno generalmente tiene la extensión .DRL mientras\n" "el otro tiene extensión .INF." -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "Herra. PCBWizard" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "Cargar archivo PcbWizard Excellon" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "Cargar archivo PcbWizard INF" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" @@ -11827,55 +11837,113 @@ msgstr "" "Intente abrir el archivo Excellon desde Archivo -> Abrir -> Excellon\n" "y edite los diámetros de taladro manualmente." -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "[success] PcbWizard .INF archivo cargado." -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "[success] Archivo PcbWizard Excellon principal cargado." -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "[ERROR_NOTCL] No se puede analizar el archivo: %s" -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "Importando Excellon." -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "[ERROR_NOTCL] Error al importar el archivo Excellon." -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "[success] Importado: %s" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "" "[WARNING_NOTCL] La fusión de Excellon está en progreso. Por favor espera..." -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "[ERROR_NOTCL] El archivo Excellon importado es Ninguno." -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "" "[ERROR_NOTCL] La herramienta Propiedades no se mostró. Ningún objeto " "seleccionado." -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "[success] Se muestran las propiedades del objeto." -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "Herra. de Propiedades" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "TIPO" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "NOMBRE" + +#: flatcamTools/ToolProperties.py:127 +msgid "Dimensions" +msgstr "Dimensiones" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "Opciones" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "Tipo de geo." + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "Geo. individual" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "Geo. múltiple" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "Anchura" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "Área de caja" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "Área de casco convexo" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "Pulgada" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "Métrico" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "Presente" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "Ninguno" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "...procesando ..." @@ -11942,8 +12010,8 @@ msgid "Generate solder paste dispensing geometry." msgstr "Generar geometría de dispensación de pasta de soldadura." #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" -msgstr "PASO 1:" +msgid "STEP 1" +msgstr "PASO 1" #: flatcamTools/ToolSolderPaste.py:144 msgid "" @@ -11983,8 +12051,8 @@ msgstr "" "en almohadillas de PCB." #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" -msgstr "PASO 2:" +msgid "STEP 2" +msgstr "PASO 2" #: flatcamTools/ToolSolderPaste.py:308 msgid "" @@ -11995,8 +12063,8 @@ msgstr "" "geometría de un archivo Gerber de máscara de pasta de soldadura." #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" -msgstr "Resultado Geo:" +msgid "Geo Result" +msgstr "Resultado Geo" #: flatcamTools/ToolSolderPaste.py:326 msgid "" @@ -12009,8 +12077,8 @@ msgstr "" "'_solderpaste' como protección." #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" -msgstr "PASO 3:" +msgid "STEP 3" +msgstr "PASO 3" #: flatcamTools/ToolSolderPaste.py:337 msgid "" @@ -12030,8 +12098,8 @@ msgstr "" "y solo después de eso puede generar un CNCJob actualizado." #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" -msgstr "Resultado del CNC:" +msgid "CNC Result" +msgstr "Resultado del CNC" #: flatcamTools/ToolSolderPaste.py:359 msgid "" @@ -12070,8 +12138,8 @@ msgstr "" "en almohadillas de PCB, a un archivo." #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" -msgstr "PASO 4:" +msgid "STEP 4" +msgstr "PASO 4" #: flatcamTools/ToolSolderPaste.py:383 msgid "" @@ -12086,54 +12154,54 @@ msgstr "" msgid "Delete Object" msgstr "Eliminar objeto" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Se ha cancelado la adición de la herramienta Boquilla. " "Herramienta ya en la tabla de herramientas." -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "" "[success] Nueva herramienta de boquillas agregada a la tabla de herramientas." -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "" "[success] Nueva herramienta de boquillas agregada a la tabla de herramientas." -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "" "[WARNING_NOTCL] Eliminar falló. Seleccione una herramienta de inyectores " "para eliminar." -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "" "[success] Herramienta de boquilla (s) eliminada de la tabla de herramientas." -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "" "[WARNING_NOTCL] No se ha cargado el objeto Gerber de máscara de pasta de " "soldadura." -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "Creación de geometría de dispensación de pasta de soldadura." -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "" "[WARNING_NOTCL] No hay herramientas de boquilla en la mesa de herramientas." -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "[success] Geometría de pasta de soldadura generada con éxito ..." -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." @@ -12141,15 +12209,15 @@ msgstr "" "[WARNING_NOTCL] Algunas o todas las almohadillas no tienen soldadura debido " "a los diámetros de boquilla inadecuados ..." -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "Generando geometría de dispensación de pasta de soldadura ..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "[WARNING_NOTCL] No hay ningún objeto de Geometría disponible." -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." @@ -12157,13 +12225,13 @@ msgstr "" "[WARNING_NOTCL] Esta Geometría no se puede procesar. NO es una geometría " "solder_paste_tool." -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "[success] Herramienta soldar pegar CNCjob creado: %s" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." @@ -12171,34 +12239,34 @@ msgstr "" "[WARNING_NOTCL] Este objeto CNCJob no se puede procesar. NO es un objeto " "CNCJob de herramienta de pasta de soldadura." -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "[ERROR_NOTCL] No Gcode en el objeto ..." -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "Exportar GCode ..." -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "" "[success] Dispensador de pasta de soldadura Archivo GCode guardado en: %s" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" -msgstr "Objetos Gerber" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" +msgstr "Objetos Gerber" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" -msgstr "Objetivo:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" +msgstr "Objetivo" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." @@ -12206,11 +12274,11 @@ msgstr "" "Objeto de Gerber para restar\n" "El sustractor del objeto Gerber." -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" -msgstr "Sustractor:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" +msgstr "Sustractor" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." @@ -12218,11 +12286,11 @@ msgstr "" "Objeto de Gerber que se restará\n" "del objeto objetivo de Gerber." -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "Restar Gerber" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -12234,11 +12302,11 @@ msgstr "" "Se puede utilizar para eliminar la serigrafía superpuesta\n" "sobre la máscara de soldadura." -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" -msgstr "Objetos de Geometría" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" +msgstr "Objetos de Geometría" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." @@ -12246,7 +12314,7 @@ msgstr "" "Objeto de Geometría del cual restar\n" "El objeto de Geometría de sustractor." -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." @@ -12254,11 +12322,11 @@ msgstr "" "Objeto de Geometría que se restará\n" "del objeto de Geometría de destino." -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "Restar Geometría" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." @@ -12266,48 +12334,49 @@ msgstr "" "Eliminará el área ocupada por el sustractor\n" "Geometría de la Geometría Objetivo." -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "Herra. de resta" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "[ERROR_NOTCL] No se ha cargado ningún objeto de destino." -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "[ERROR_NOTCL] No se ha cargado ningún objeto Substractor." -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "Analizando la apertura %s geometría ..." -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "Generando nuevo objeto ..." -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "[ERROR_NOTCL] Generando nuevo objeto falló." -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "[success] Creado: %s" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" "[ERROR_NOTCL] Actualmente, la geometría del sustractor no puede ser de tipo " "geo-múltiple." -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "Analizando solid_geometry ..." -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "Herramienta de análisis %s geometría ..." @@ -12346,15 +12415,7 @@ msgstr "" "El punto de referencia depende de\n" "el estado de la casilla de verificación Escalar referencia." -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" -"Escalar los objetos seleccionados\n" -"usando el Factor de escala X para ambos ejes." - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -12364,7 +12425,7 @@ msgstr "" "El punto de referencia es el medio de\n" "el cuadro delimitador para todos los objetos seleccionados.\n" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" @@ -12373,61 +12434,455 @@ msgstr "" "Voltee los objetos seleccionados sobre el eje X.\n" "No crea un nuevo objeto." -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Por favor, seleccione un objeto " "para rotar!" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "Los objetos de CNCJob no se pueden girar." -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "[success] Rotar hecho ..." -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Por favor, seleccione un objeto " "para voltear!" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "Los objetos de CNCJob no se pueden reflejar / voltear." -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. ¡Seleccione un objeto para " "cortar / sesgar!" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "Los objetos de CNCJob no se pueden sesgar." -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Por favor, seleccione un objeto " "para escalar!" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "Los objetos de CNCJob no se pueden escalar." -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "" "[WARNING_NOTCL] Ningún objeto seleccionado. Por favor, seleccione un objeto " "para compensar!" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "Los objetos CNCJob no se pueden desplazar." +#~ msgid "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." +#~ msgstr "" +#~ "Al elegir la opción 'Sí mismo', la extensión de limpieza sin cobre\n" +#~ "se basa en el objeto que es cobre despejado.\n" +#~ "Al elegir la opción 'Caja', no se borrará el cobre dentro de la caja\n" +#~ "especificado por otro objeto diferente al que está libre de cobre." + +#~ msgid "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." +#~ msgstr "" +#~ "Cómo seleccionar los polígonos para pintar.
Opciones:
- Simple " +#~ ": haga clic con el botón izquierdo del mouse en el polígono a pintar. " +#~ "
- Todo : pintar Todos los polígonos." + +#~ msgid "Geometry object to be painted. " +#~ msgstr "Objeto de geometría a pintar." + +#~ msgid "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." +#~ msgstr "" +#~ "Después de hacer clic aquí, haga clic dentro de
el polígono que desea " +#~ "pintar si se selecciona Individual .
Si se selecciona " +#~ "Área , entonces la selección del área a se pintará
se iniciará " +#~ "con un primer clic y se terminará con el segundo clic del mouse.
Si " +#~ "se selecciona Todo , la Pintura comenzará después de hacer clic. " +#~ "
Si Ref está seleccionado, luego Paint comenzará después de " +#~ "hacer clic,
y el área pintada será descrita por un objeto " +#~ "seleccionado.
Se creará un nuevo objeto de Geometría con los " +#~ "recorridos de la herramienta." + +#~ msgid "Done." +#~ msgstr "Hecho." + +#~ msgid "Apertures:" +#~ msgstr "Aperturas:" + +#~ msgid "Aperture Code:" +#~ msgstr "Código de Apertura:" + +#~ msgid "Languages:" +#~ msgstr "Idiomas:" + +#~ msgid "Width (# passes):" +#~ msgstr "Ancho (# pases):" + +#~ msgid "Clear non-copper" +#~ msgstr "Claro sin cobre" + +#~ msgid "Rounded corners" +#~ msgstr "Esquinas redondeadas" + +#~ msgid "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." +#~ msgstr "" +#~ "Crea objetos de geometría con polígonos.\n" +#~ "Cubriendo las áreas libres de cobre de la PCB." + +#~ msgid "Bounding Box:" +#~ msgstr "Cuadro delimitador:" + +#~ msgid "Units:" +#~ msgstr "Unidades:" + +#~ msgid "Zeros:" +#~ msgstr "Ceros:" + +#~ msgid "INCH:" +#~ msgstr "PULGADA:" + +#~ msgid "Tool change:" +#~ msgstr "Cambio de herramienta:" + +#~ msgid "Toolchange Z position." +#~ msgstr "Posición de cambio de herramienta z." + +#~ msgid "Feedrate:" +#~ msgstr "Avance:" + +#~ msgid "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." +#~ msgstr "" +#~ "Velocidad de la herramienta durante la perforación\n" +#~ "(en unidades por minuto)." + +#~ msgid "Gcode: " +#~ msgstr "Gcode: " + +#~ msgid "Offset Z:" +#~ msgstr "Compensar Z:" + +#~ msgid "Slots:" +#~ msgstr "Ranuras:" + +#~ msgid "Create CNC Job:" +#~ msgstr " Crear trabajo CNC: " + +#~ msgid "Multidepth" +#~ msgstr "Profund. múltiple" + +#~ msgid "Multidepth usage: True or False." +#~ msgstr "Uso de profundidad múltiple: Verdadero o Falso." + +#~ msgid "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." +#~ msgstr "" +#~ "El archivo de postprocesador que dicta.\n" +#~ "Salida de código de máquina." + +#~ msgid "Display Annotation:" +#~ msgstr "Anotación en pantalla:" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." +#~ msgstr "" +#~ "Escribe aquí cualquier comando de G-Code que quieras\n" +#~ "desea ser ejecutado cuando se encuentra el evento Toolchange.\n" +#~ "Esto constituirá un GCode de cambio de herramienta personalizado,\n" +#~ "o una macro de cambio de herramientas." + +#~ msgid "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." +#~ msgstr "" +#~ "Si está marcado, use 'maquinado de descanso'.\n" +#~ "Básicamente borrará el cobre fuera de las características de PCB,\n" +#~ "usando la herramienta más grande y continúa con las siguientes " +#~ "herramientas,\n" +#~ "De mayor a menor, para despejar áreas de cobre que\n" +#~ "No se pudo borrar con la herramienta anterior.\n" +#~ "Si no está marcado, use el algoritmo estándar." + +#~ msgid "Offset:" +#~ msgstr "Compensar:" + +#~ msgid "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." +#~ msgstr "" +#~ "Distancia desde los objetos a los que\n" +#~ "para dibujar el recorte." + +#~ msgid "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." +#~ msgstr "" +#~ "Tamaño de los huecos en la trayectoria.\n" +#~ "que permanecerá para sostener el\n" +#~ "Junta en su lugar." + +#~ msgid "Create a convex shape surrounding the entire PCB." +#~ msgstr "Crea una forma convexa alrededor de todo el PCB." + +#~ msgid "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." +#~ msgstr "" +#~ "El eje debe pasar por un punto o cortar\n" +#~ "  un cuadro especificado (en un objeto de geometría) en\n" +#~ "la mitad." + +#~ msgid "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." +#~ msgstr "" +#~ "Cuánto (fracción) de la herramienta\n" +#~ "Ancho para superponer cada pasada de herramienta." + +#~ msgid "Panel Type:" +#~ msgstr "Tipo de panel:" + +#~ msgid "Tip angle:" +#~ msgstr "Áng. de la punta:" + +#~ msgid "Angle for rotation. In degrees." +#~ msgstr "Ángulo de rotación. En grados." + +#~ msgid "Angle for Skew/Shear on X axis. In degrees." +#~ msgstr "Ángulo para sesgo / cizallamiento en el eje X. En grados." + +#~ msgid "Angle for Skew/Shear on Y axis. In degrees." +#~ msgstr "Ángulo para sesgo / cizallamiento en el eje Y. En grados." + +#~ msgid "XY Toolchange:" +#~ msgstr "Cambio de herra. XY:" + +#~ msgid "PostProcessors:" +#~ msgstr "Postprocesadores:" + +#~ msgid "Scale:" +#~ msgstr "Escala:" + +#~ msgid "Offset:" +#~ msgstr "Offset:" + +#~ msgid "Combine" +#~ msgstr "Combinar" + +#~ msgid "Tools Table" +#~ msgstr "Mesa de herramientas" + +#~ msgid "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." +#~ msgstr "" +#~ "Altura de la herramienta justo antes de comenzar el trabajo.\n" +#~ "Elimine el valor si no necesita esta función." + +#~ msgid "" +#~ "Z-axis position (height) for\n" +#~ "the last move." +#~ msgstr "" +#~ "Posición del eje Z (altura) para\n" +#~ "El último movimiento." + +#~ msgid "" +#~ "The json file that dictates\n" +#~ "gcode output." +#~ msgstr "" +#~ "El archivo json que dicta\n" +#~ "Salida de gcode." + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Drills Tool dia:" +#~ msgstr "Herra. Taladros dia:" + +#~ msgid "Slots Tool dia:" +#~ msgstr "Diá. de la herra. de muesca:" + +#~ msgid "Tool Dia:" +#~ msgstr "Herra. Dia:" + +#~ msgid "Tool Data" +#~ msgstr "Datos de herra." + +#~ msgid "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." +#~ msgstr "" +#~ "Esta es la altura (Z) a la que el CNC\n" +#~ "irá como el último movimiento." + +#~ msgid "Feed Rate Z (Plunge):" +#~ msgstr "Avance Z (inmersión):" + +#~ msgid "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" +#~ msgstr "" +#~ "Velocidad de corte en la Z\n" +#~ "avión en unidades por minuto" + +#~ msgid "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." +#~ msgstr "" +#~ "Velocidad de corte en el XY\n" +#~ "avión en unidades por minuto\n" +#~ "(en unidades por minuto).\n" +#~ "Esto es para el movimiento rápido G00.\n" +#~ "Es útil solo para Marlin,\n" +#~ "ignorar para cualquier otro caso." + +#~ msgid "Cut over 1st pt" +#~ msgstr "Corte sobre el 1 pt" + +#~ msgid "Paint Area:" +#~ msgstr "Área de pintura:" + +#~ msgid "CNC Tools Table" +#~ msgstr "Mesa de herra. CNC" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." +#~ msgstr "" +#~ "Escriba aquí cualquier comando de código G que desee\n" +#~ "desea agregar al comienzo del archivo generado." + +#~ msgid "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." +#~ msgstr "" +#~ "Este es el diámetro de la punta de la herramienta.\n" +#~ "El fabricante lo especifica." + +#~ msgid "Object:" +#~ msgstr "Objeto:" + +#~ msgid "Units:" +#~ msgstr "Unidades:" + +#~ msgid "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." +#~ msgstr "" +#~ "- 'Sí mismo': la extensión de limpieza sin cobre\n" +#~ "se basa en el objeto que es cobre despejado.\n" +#~ "- 'Caja': limpiará sin cobre dentro de la caja\n" +#~ "especificado por el objeto seleccionado en la Ref. Cuadro combinado de " +#~ "objetos." + +#~ msgid "Geometry:" +#~ msgstr "Geometría:" + +#~ msgid "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." +#~ msgstr "" +#~ "Escalar los objetos seleccionados\n" +#~ "usando el Factor de escala X para ambos ejes." + +#~ msgid "Excellon Format:" +#~ msgstr "Excellon Formato:" + +#~ msgid "Tools:" +#~ msgstr "Herramientas:" + +#~ msgid "Export G-Code:" +#~ msgstr " Exportar código G: " + +#~ msgid "How to select the polygons to paint." +#~ msgstr "Cómo seleccionar los polígonos a pintar." + +#~ msgid "V-Shape Tool Calculator:" +#~ msgstr " Calc. de herramientas en forma de V: " + +#~ msgid "ElectroPlating Calculator:" +#~ msgstr " Calculadora de galvanoplastia: " + +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Plot kind:" +#~ msgstr "Tipo de parcela:" + +#~ msgid "Display Annotation:" +#~ msgstr "Mostrar anotación:" + +#~ msgid "GERBER:" +#~ msgstr "GERBER:" + +#~ msgid "EXCELLON:" +#~ msgstr "EXCELLON:" + +#~ msgid "GEOMETRY:" +#~ msgstr "GEOMETRÍA:" + +#~ msgid "Panel Type:" +#~ msgstr "Tipo de panel:" + +#~ msgid "Excellon format:" +#~ msgstr "Excellon Formato:" + +#~ msgid "Gerber Objects" +#~ msgstr "Objetos Gerber" + +#~ msgid "Geometry Objects" +#~ msgstr "Objetos de Geometría" + #~ msgid "Save &Defaults" #~ msgstr "Guardar y valores predeterminados" diff --git a/locale/pt_BR/LC_MESSAGES/strings.mo b/locale/pt_BR/LC_MESSAGES/strings.mo index 1f9e35e7..f752b7e4 100644 Binary files a/locale/pt_BR/LC_MESSAGES/strings.mo and b/locale/pt_BR/LC_MESSAGES/strings.mo differ diff --git a/locale/pt_BR/LC_MESSAGES/strings.po b/locale/pt_BR/LC_MESSAGES/strings.po index 8ce677fa..355fa387 100644 --- a/locale/pt_BR/LC_MESSAGES/strings.po +++ b/locale/pt_BR/LC_MESSAGES/strings.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-08-17 15:15+0300\n" -"PO-Revision-Date: 2019-08-17 15:16+0300\n" +"POT-Creation-Date: 2019-08-23 22:56+0300\n" +"PO-Revision-Date: 2019-08-23 23:04+0300\n" "Last-Translator: Carlos Stein \n" "Language-Team: \n" "Language: pt_BR\n" @@ -19,17 +19,17 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "Novo projeto - Não salvo" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Não foi possível encontrar os arquivos de idioma. Estão faltando as " "strings do aplicativo." -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "Tabulação destacáveis" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" @@ -37,26 +37,30 @@ msgstr "" "(Digite help para iniciar)\n" "\n" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "Novo projeto - Não salvo" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Abrir cancelado." -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "Falha em abrir o arquivo de Configuração." -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "Falha em abrir o arquivo de Script." -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" "[WARNING_NOTCL] Selecione um Objeto Geometria, Gerber ou Excellon para " "editar." -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -66,90 +70,92 @@ msgstr "" "Geometria MultiGeo não é possível. \n" "Editar apenas uma geometria por vez." -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editor está ativado ..." -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "Você quer salvar o objeto editado?" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "Fechar Editor" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "Sim" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "Não" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "Cancelar" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Objeto vazio após a edição." -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Selecione um objeto Gerber, Geometria ou Excellon para " "atualizar." -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s está atualizado, retornando ao App ..." -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Não foi possível carregar o arquivo padrão." -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Falha ao analisar o arquivo de padrões." -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "Importar Preferências do FlatCAM" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] Importação de preferências do FlatCAM cancelada." -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "[ERROR_NOTCL] Não foi possível carregar o arquivo de padrões." -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Falha ao analisar o arquivo de padrões." -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Padrões importados de %s" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "Exportar preferências do FlatCAM" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] Exportação de preferências do FlatCAM cancelada." -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -158,26 +164,26 @@ msgstr "" "O mais provável é que outro aplicativo esteja mantendo o arquivo aberto e " "não acessível." -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Falha ao gravar os padrões no arquivo." -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" "[ERROR_NOTCL] Falha ao abrir o arquivo com arquivos recentes para gravação." -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "" "[ERROR_NOTCL] Falha ao abrir o arquivo com projetos recentes para gravação." -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" "[ERROR_NOTCL] Ocorreu um erro interno. Veja shell (linha de comando). \n" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -186,11 +192,11 @@ msgstr "" "Objeto ({kind}) falhou porque: {error} \n" "\n" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "Convertendo unidades para " -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" "" -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -222,37 +228,37 @@ msgstr "" "flatcam/src/Beta/\">aqui.
Área de DOWNLOAD aqui.
" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "Fechar" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "[success] Preferências salvas." -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "" "[ERROR_NOTCL] Não foi possível carregar o arquivo de padrões de fábrica." -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "[ERROR_NOTCL] Falha ao analisar o arquivo de padrões de fábrica." -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "[ERROR_NOTCL] Falha ao gravar os padrões de fábrica no arquivo." -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "Padrões de fábrica salvos." -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "" "[WARNING_NOTCL] O aplicativo está salvando o projeto. Por favor, espere ..." -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -260,11 +266,11 @@ msgstr "" "Existem arquivos/objetos modificados no FlatCAM. \n" "Você quer salvar o projeto?" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Salvar alterações" -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -280,43 +286,43 @@ msgstr "" "ser perdidas e o resultado pode não ser o esperado. \n" "Verifique o G-CODE gerado." -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Falha. A união de Excellon funciona apenas em objetos Excellon." -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Falha. A união de Gerber funciona apenas em objetos Gerber." -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" "[ERROR_NOTCL] Falha. Selecione um Objeto de Geometria e tente novamente." -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Geometria FlatCAM esperada, recebido %s" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Um objeto Geometria foi convertido para o tipo MultiGeo." -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Um objeto Geometria foi convertido para o tipo SingleGeo." -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "Alternar Unidades" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." -msgstr "Alterar unidades do projeto ..." +#: FlatCAMApp.py:4172 +msgid "Change project units ..." +msgstr "Alterar unidades de projeto ..." -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -326,43 +332,43 @@ msgstr "" "geométricas de todos os objetos sejam redimensionadas.\n" "Continuar?" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Unidades convertidas para %s" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Conversão de unidades cancelada." -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "Abrir arquivo" -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "Exportar G-Code ..." -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Exportar G-Code cancelado." -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "[WARNING] Nenhum arquivo ou diretório" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "Salvo em: %s" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." @@ -370,12 +376,12 @@ msgstr "" "[WARNING_NOTCL] Insira um diâmetro de ferramenta com valor diferente de " "zero, no formato Flutuante." -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Adicionar ferramenta cancelada ..." -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -383,11 +389,11 @@ msgstr "" "Adicionar Ferramenta funciona somente quando Avançado está marcado. \n" "Vá para Preferências -> Geral - Mostrar Opções Avançadas." -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "Excluir objetos" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -395,67 +401,67 @@ msgstr "" "Tem certeza de que deseja excluir permanentemente\n" "os objetos selecionados?" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "Objeto(s) excluído(s) ..." -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "Falha. Nenhum objeto selecionado ..." -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "Salve o trabalho no Editor e tente novamente ..." -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "Clique para definir a origem ..." -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "Pule para ..." -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "Digite as coordenadas no formato X,Y:" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Coordenadas erradas. Insira as coordenadas no formato: X,Y" -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "[success] Pronto." -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" "[WARNING_NOTCL] Nenhum objeto está selecionado. Selecione um objeto e tente " "novamente." -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "[success] Origem definida ..." -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "Preferências" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "[WARNING_NOTCL] Preferências editadas, mas não salvas." -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -463,107 +469,107 @@ msgstr "" "Um ou mais valores foram alterados.\n" "Você deseja salvar as preferências?" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "Salvar Preferências" -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "[success] Preferências salvas." -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "[WARNING_NOTCL] Nenhum objeto selecionado para Espelhar no eixo Y." -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "[success] Espelhar no eixo Y pronto." -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Devido a %s, a ação de espelhamento não foi executada." -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "[WARNING_NOTCL] Nenhum objeto selecionado para Espelhar no eixo X." -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "[success] Espelhar no eixo X pronto." -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Nenhum objeto selecionado para Girar." -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "Transformar" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "Digite o valor do Ângulo:" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "[success] Rotação realizada." -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Devido a %s, o movimento de rotação não foi executado." -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "[WARNING_NOTCL] Nenhum objeto selecionado para Inclinar no eixo X." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "[success] Inclinação no eixo X concluída." -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "[WARNING_NOTCL] Nenhum objeto selecionado para Inclinar no eixo Y." -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "[success] Inclinação no eixo Y concluída." -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "Liga/Desliga a Grade" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "Adicionar" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Excluir" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "Nova Grade ..." -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "Digite um valor para grade:" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -571,56 +577,56 @@ msgstr "" "[WARNING_NOTCL] Por favor, insira um valor de grade com valor diferente de " "zero, no formato Flutuante." -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "[success] Nova Grade adicionada ..." -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Grade já existe ..." -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Adicionar nova grade cancelada ..." -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] O valor da grade não existe ..." -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "[success] Grade apagada ..." -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Excluir valor de grade cancelado ..." -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "Lista de Teclas de Atalho" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] Nenhum objeto selecionado para copiar nome" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "Nome copiado na área de transferência ..." -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "[success] Coordenadas copiadas para a área de transferência." -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} selecionado" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -630,111 +636,111 @@ msgstr "" "Criar um novo projeto irá apagá-los.\n" "Você deseja Salvar o Projeto?" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "[success] Novo Projeto criado ..." -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "Abrir Gerber" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Abrir Gerber cancelado." -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "Abrir Excellon" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Abrir Excellon cancelado." -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "Abrir G-Code" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Abrir G-Code cancelado." -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "Abrir Projeto" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Abrir Projeto cancelado." -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "Abrir Arquivo de Configuração" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Abrir Arquivo de Configuração cancelado." -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Nenhum objeto selecionado." -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "Por favor, selecione um objeto Geometria para exportar" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" "[ERROR_NOTCL] Somente objetos Geometria, Gerber e Trabalho CNC podem ser " "usados." -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "Exportar SVG" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Exportar SVG cancelado." -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" "[WARNING_NOTCL] Os dados devem ser uma matriz 3D com a última dimensão 3 ou 4" -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "Exportar Imagem PNG" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "Exportar PNG cancelado." -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "Gerber para exportar." -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Falhou. Somente objetos Gerber podem ser salvos como arquivos " "Gerber ..." -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "Salvar arquivo fonte Gerber" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Salvar arquivo fonte Gerber cancelado." -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -742,22 +748,22 @@ msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "Excellon para exportar." -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Falha. Somente objetos Excellon podem ser salvos como arquivos " "Excellon ..." -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "Salvar o arquivo fonte Excellon" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Salvar arquivo fonte Excellon cancelado." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -765,70 +771,70 @@ msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "Excellon para exportar." -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "Exportar Excellon" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Exportar Excellon cancelado." -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "Gerber para exportar." -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "Exportar Gerber" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Exportar Gerber cancelado." -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Apenas objetos Geometria podem ser usados." -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "Exportar DXF" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Exportar DXF cancelado." -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "Importar SVG" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Abrir SVG cancelado." -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "Importar DXF" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Abrir DXF cancelado." -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Selecione um arquivo Gerber ou Excellon para visualizar o " "arquivo fonte." -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -836,25 +842,25 @@ msgstr "" "[WARNING_NOTCL] Não há nenhum objeto selecionado para ver o código fonte do " "arquivo." -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "Editor de Fontes" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "Editor de Códigos" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "Editor de Script" -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -898,98 +904,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "Abrir script TCL" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Abrir script TCL cancelado." -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "Executar script TCL" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Executar script TCL cancelado." -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "Salvar Projeto Como ..." -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Project_{date}" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Salvar Projeto cancelado." -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "Exportando SVG" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] Arquivo SVG exportado para %s" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Nenhuma caixa de objeto. Usando em vez de %s" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "Gerando Filme ... Por favor, aguarde." -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Arquivo Excellon exportado para %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "Exportando Excellon" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Não foi possível exportar o arquivo Excellon." -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Arquivo Gerber exportado para %s" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "Exportando Gerber" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Não foi possível exportar o arquivo Gerber." -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] Arquivo DXF exportado para %s" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "Exportando DXF" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Não foi possível exportar o arquivo DXF." -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -997,99 +1003,99 @@ msgstr "" "[ERROR_NOTCL] O tipo escolhido não é suportado como parâmetro. Apenas " "Geometria e Gerber são suportados" -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "Importando SVG" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Aberto: %s" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "Importando DXF" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "Importando Imagem" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Falha ao abrir o arquivo: %s" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Falha ao analisar o arquivo: {name}. {error}" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "[ERROR] Ocorreu um erro interno. Veja shell. (linha de comando)\n" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] O objeto não é um arquivo Gerber ou está vazio. Abortando a " "criação de objetos." -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "Abrindo Gerber" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Abrir Gerber falhou. Provavelmente não é um arquivo Gerber." -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Este não é um arquivo Excellon." -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Não é possível abrir o arquivo: %s" -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" "[ERROR_NOTCL] Ocorreu um erro interno. Veja shell. (linha de comando)\n" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] Nenhuma geometria encontrada no arquivo: %s" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "Abrindo o Excellon." -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Falha ao abrir Excellon. Provavelmente não é um arquivo " "Excellon." -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Falha ao abrir %s" -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Não é G-Code" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "Abrindo G-Code." -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1100,26 +1106,34 @@ msgstr "" "A tentativa de criar um objeto FlatCAM Trabalho CNC do arquivo G-Code falhou " "durante o processamento" -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Falha ao abrir o arquivo de configuração: %s" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "Carregando projeto ... Por favor aguarde ..." + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Falha ao abrir o arquivo do projeto: %s" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "Carregando projeto ... restaurando" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Projeto carregado de: %s" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "Comandos disponíveis:\n" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1131,35 +1145,35 @@ msgstr "" "Digite help para forma de uso. \n" " Exemplo: help open_gerber" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "Mostra a lista de comandos." -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Falha ao carregar a lista de itens recentes." -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Falha ao analisar a lista de itens recentes." -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "[ERROR_NOTCL] Falha ao carregar a lista de itens de projetos recentes." -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "[ERROR_NOTCL] Falha ao analisar a lista de itens do projeto recente." -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "Limpar arquivos recentes" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr "Lista de Teclas de Atalho" -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1256,27 +1270,27 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Falha na verificação da versão mais recente. Não foi " "possível conectar." -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] Não foi possível analisar informações sobre a versão mais " "recente." -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "[success] O FlatCAM está atualizado!" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "Nova Versão Disponível" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1284,86 +1298,86 @@ msgstr "" "Existe uma versão mais nova do FlatCAM disponível para download:\n" "\n" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "info" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "[success] Todos os gráficos desabilitados." -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "[success] Todos os gráficos não selecionados desabilitados." -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "[success] Todos os gráficos habilitados." -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "[success] Gráficos selecionados habilitados ..." -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "[success] Gráficos selecionados desabilitados..." -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "Trabalhando ..." -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "Salvando o Projeto FlatCAM" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Projeto salvo em: %s" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Falha ao verificar o arquivo do projeto: %s. Tente salvá-lo " "novamente." -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Falha ao analisar o arquivo de projeto salvo: %s. Tente salvá-" "lo novamente." -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Falha ao salvar o arquivo de projeto: %s . Tente salvá-lo " "novamente." -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Nome alterado de {old} para {new}" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "Básico" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "Avançado" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "[ERROR_NOTCL] A geometria de isolamento não pôde ser gerada." -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "Desbaste" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Geometria de isolação criada: %s" @@ -1372,34 +1386,34 @@ msgstr "[success] Geometria de isolação criada: %s" msgid "Plotting Apertures" msgstr "Mostrando Aberturas" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "Total de Furos" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "Total de Fendas" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Formato incorreto, use um número." @@ -1421,9 +1435,9 @@ msgid "Tool_nr" msgstr "Ferramenta_nr" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Diâmetro" @@ -1463,8 +1477,8 @@ msgstr "" msgid "Generating CNC Code" msgstr "Gerando Código CNC" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1474,16 +1488,16 @@ msgstr "" "estar no formato (x, y).\n" "Agora existe apenas um valor, não dois. " -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "Isolação" -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "Acabamento" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "Copiar" @@ -1555,21 +1569,21 @@ msgstr "" "valor é fornecido. \n" "Adicione um Offset de Ferramenta ou altere o Tipo de Deslocamento." -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Cancelado. Arquivo vazio, não tem geometria ..." -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] O fator de escala deve ser um número: inteiro ou flutuante." -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "[success] Redimensionamento de geometria feita." -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1577,29 +1591,29 @@ msgstr "" "[ERROR_NOTCL] Um par de valores (x,y) é necessário. Provavelmente você " "digitou apenas um valor no campo Deslocamento." -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "[success] Deslocamento de Geometria feito." -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "Exportar Código da Máquina ..." -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Exportar código da máquina cancelado ..." -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Arquivo G-Code salvo em: %s" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1608,11 +1622,11 @@ msgstr "" "[WARNING_NOTCL] Este objeto Trabalho CNC não pode ser processado porque é um " "objeto %s CNCJob." -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] O G-Code não possui um código de unidade: G20 ou G21" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1620,16 +1634,16 @@ msgstr "" "[ERROR_NOTCL] Cancelado. O código personalizado do Toolchange está ativado, " "mas está vazio." -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" "[success] O G-Code do Toolchange foi substituído por um código personalizado." -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Nenhum arquivo ou diretório" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1637,7 +1651,7 @@ msgstr "" "[WARNING_NOTCL] O arquivo do postprocessor usado deve ter em seu nome: " "'toolchange_custom'" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Não há arquivo de pós-processamento." @@ -1668,42 +1682,42 @@ msgstr "[ERROR] Causa do erro: %s" msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "[ERROR_NOTCL] self.solid_geometry não é nem BaseGeometry nem lista." -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "[success] Objeto foi espelhado ..." -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Falha ao espelhar. Nenhum objeto selecionado" -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "[success] Objeto foi rotacionado ..." -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Falha ao girar. Nenhum objeto selecionado" -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "[success] Objeto foi inclinado ..." -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Falha ao inclinar. Nenhum objeto selecionado" -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordenadas faltando, linha ignorada: %s" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" "[WARNING_NOTCL] O arquivo GERBER pode estar CORROMPIDO. Verifique o " "arquivo !!!" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1712,7 +1726,7 @@ msgstr "" "[ERROR] A região não possui pontos suficientes. O arquivo será processado, " "mas há erros de analisador. Número da linha: %s" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1721,32 +1735,32 @@ msgstr "" "[ERROR]ERRO na análise do Gerber.\n" "%s:" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "[success] Redimensionamento Gerber pronto." -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "[success] Deslocamento Gerber pronto." -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "[success] Espelhamento Gerber pronto." -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "[success] Inclinação Gerber pronta." -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "[success] Rotação Gerber pronta." -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Esta é a marca G-CODE: %s" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1766,7 +1780,7 @@ msgstr "" "resultante e\n" "alterar os diâmetros para os valores reais." -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1775,7 +1789,7 @@ msgstr "" "[ERROR] Erro do Analisador Excellon. \n" "Análise falhou. Linha {l_nr}: {line} \n" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1785,12 +1799,12 @@ msgstr "" "uma ferramenta associada. \n" "Verifique o G-Code resultante." -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Não existe esse parâmetro: %s" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1803,7 +1817,7 @@ msgstr "" "um erro de digitação, o aplicativo converterá o valor para negativo.\n" "Verifique o código CNC resultante (G-Code, etc.)." -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1811,15 +1825,15 @@ msgstr "" "[WARNING] O parâmetro Profundidade de Corte é zero. Não haverá corte, " "ignorando arquivo %s" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] O arquivo Excellon carregado não tem brocas ..." -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Tipo de otimização incorreto selecionado." -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1827,7 +1841,7 @@ msgstr "" "O parâmetro [ERROR_NOTCL] Cut_Z está vazio ou é zero. O mais provável é uma " "combinação ruim de outros parâmetros." -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1840,11 +1854,11 @@ msgstr "" "um erro de digitação, o aplicativo converterá o valor para negativo.\n" "Verifique o código CNC resultante (G-Code, etc.)." -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] O parâmetro Altura de Deslocamento Z é Nulo ou zero." -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1858,7 +1872,7 @@ msgstr "" "positivo.\n" "Verifique o código CNC resultante (G-Code, etc.)." -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1866,12 +1880,12 @@ msgstr "" "[WARNING] O parâmetro Altura de Deslocamento é zero. Isso é perigoso, " "ignorando arquivo %s" -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Esperada uma geometria, recebido %s" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1879,7 +1893,7 @@ msgstr "" "[ERROR_NOTCL] Tentando gerar um trabalho CNC a partir de um objeto Geometria " "sem solid_geometry." -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1889,53 +1903,53 @@ msgstr "" "usar na current_geometry.\n" "Altere o valor e tente novamente." -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] Não há dados da ferramenta na geometria da Pasta de Solda." -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "Clique para colocar ..." -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "" "[WARNING_NOTCL] Para adicionar uma broca, primeiro selecione uma ferramenta" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "[success] Feito. Broca adicionada." -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Para adicionar um Matriz de Brocas, primeiro selecione uma " "ferramenta na Tabela de Ferramentas" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "Clique no local de destino ..." -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "Clique na posição inicial Matriz Circular de Brocas" -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." @@ -1943,118 +1957,118 @@ msgstr "" "[ERROR_NOTCL] O valor não é flutuante. Verifique uma vírgula em vez do ponto " "no separador decimal." -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "" "[ERROR_NOTCL] O valor foi digitado incorretamente. Verifique o valor. %s" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Brocas demais para o ângulo de espaçamento selecionado." -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "[success] Matriz de Brocas adicionada." -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "" "[WARNING_NOTCL] Para adicionar um ranhura, primeiro selecione uma ferramenta" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Valor está faltando ou formato errado. Adicione e tente " "novamente." -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "[success] Feito. Adicionando Ranhura concluído." -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Para adicionar uma matriz de ranhuras, primeiro selecione " "uma ferramenta na Tabela de ferramentas" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "Clique na posição inicial da matriz circular da ranhura" -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "[ERROR_NOTCL] O valor é digitado incorretamente. Verifique o valor." -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Ranhuras demais para o ângulo de espaçamento selecionado." -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "[success] Feito. Matriz de Ranhuras adicionada." -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "Clique na(s) Broca(s) para redimensionar ..." -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "[ERROR_NOTCL] Redimensionar broca(s) falhou. Por favor insira um diâmetro " "para redimensionar." -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "[ERROR_NOTCL] Cancelado." -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "[success] Feito. Redimensionamento de perfurar / ranhura concluído." -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "" "[WARNING_NOTCL] Cancelado. Nenhum brocas / ranhuras selecionados para " "redimensionar ..." -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "Clique no local de referência ..." -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "[success] Feito. Movimento da Broca realizado." -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "[success] Feito. Broca(s) copiada(s)." -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "Editor Excellon" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "Nome:" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Tabela de Ferramentas" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2062,11 +2076,11 @@ msgstr "" "Ferramentas neste objeto Excellon \n" "quando são usadas para perfuração." -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "Adicionar/Excluir Ferramenta" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2074,20 +2088,20 @@ msgstr "" "Adicionar/Excluir uma ferramenta para a lista de ferramentas \\ npara este " "objeto Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "Diâmetro da Ferramenta:" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "Diâmetro para a nova ferramenta" -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "Adicionar Ferramenta" -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2095,11 +2109,11 @@ msgstr "" "Adicione uma nova ferramenta à lista de ferramentas \n" "com o diâmetro especificado acima." -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "Excluir ferramenta" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2107,39 +2121,39 @@ msgstr "" "Excluir uma ferramenta na lista de ferramentas selecionando uma linha na " "tabela de ferramentas." -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "Redimensionar broca(s)" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "Redimensione uma broca ou uma seleção de brocas." -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "Redimensionar Dia:" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "Diâmetro para redimensionar para." -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "Redimensionar" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "Redimensionar broca(s)" -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "Adicionar Matriz de Brocas" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "Adicione uma matriz de brocas (matriz linear ou circular)" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2147,40 +2161,38 @@ msgstr "" "Selecione o tipo de matriz de brocas para criar.\n" "Pode ser Linear X(Y) ou Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "Linear" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "Nº de brocas:" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "Especifique quantas brocas devem estar na matriz." -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "Direção:" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2192,61 +2204,62 @@ msgstr "" "- 'Y' - eixo vertical ou \n" "- 'Ângulo' - um ângulo personalizado para a inclinação da matriz" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Ângulo" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 +#: flatcamEditors/FlatCAMExcEditor.py:1642 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "Pitch:" msgstr "Passo:" -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 msgid "Pitch = Distance between elements of the array." msgstr "Passo = Distância entre os elementos da matriz." -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Angle:" msgstr "Ângulo:" -#: flatcamEditors/FlatCAMExcEditor.py:1642 -#: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2258,9 +2271,9 @@ msgstr "" "O valor mínimo é: -359.99 graus. \n" "O valor máximo é: 360.00 graus." -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 +#: flatcamEditors/FlatCAMExcEditor.py:1877 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -2268,35 +2281,36 @@ msgstr "" "Direção para matriz circular. Pode ser CW = sentido horário ou CCW = sentido " "anti-horário." -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 msgid "CW" msgstr "CW" -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 msgid "CCW" msgstr "CCW" -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "Ângulo no qual cada elemento na matriz circular é colocado." -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "Parâmetros de Ranhura" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2304,15 +2318,15 @@ msgstr "" "Parâmetros para adicionar um ranhura (buraco com forma oval)\n" "seja único ou como parte de um array." -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "Comprimento:" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "Comprimento = o comprimento de ranhura." -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2324,7 +2338,7 @@ msgstr "" "- 'Y' - eixo vertical ou\n" "- 'Angle' - um ângulo personalizado para a inclinação da ranhura" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2336,15 +2350,15 @@ msgstr "" "O valor mínimo é: -359,99 graus.\n" "O valor máximo é: 360,00 graus." -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "Parâm. da matriz de ranhura" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Parâmetros para a matriz de ranhuras (matriz linear ou circular)" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2352,15 +2366,15 @@ msgstr "" "Selecione o tipo de matriz de ranhuras para criar.\n" "Pode ser Linear X (Y) ou Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "Nº de ranhuras:" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "Especifique quantos ranhuras para estar no array." -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2368,25 +2382,25 @@ msgstr "" "[WARNING_NOTCL] Ferramenta já na lista de ferramentas original ou atual. \n" "Salve e reexiba Excellon se precisar adicionar essa ferramenta. " -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "[success] Adicionada nova ferramenta com dia: {dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "[WARNING_NOTCL] Selecione uma ferramenta na Tabela de Ferramentas" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "[success] Ferramenta excluída com dia: {del_dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "[success] Feito. Edição de ferramenta concluída." -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." @@ -2394,43 +2408,41 @@ msgstr "" "[ERROR_NOTCL] Não há definições de ferramentas no arquivo. Abortando a " "criação do Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] Um erro interno ocorreu. Veja shell (linha de comando). \n" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "Criando Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "[success] Edição de Excellon terminada." -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "[WARNING_NOTCL] Cancelado. Não há ferramenta/broca selecionada" -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Feito. Brocas(s) excluída(s)." -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "Clique na posição central da matriz circular" -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "Distância do buffer:" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "Canto do buffer:" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2444,45 +2456,45 @@ msgstr "" " - 'Chanfrado:' o canto é uma linha que conecta diretamente os recursos " "encontrados no canto" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "Redondo" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "Quadrado" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "Chanfrado" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "Buffer Interior" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "Buffer Exterior" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "Buffer Completo" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "Ferramenta Buffer" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2490,22 +2502,19 @@ msgstr "" "[WARNING_NOTCL] O valor da distância do buffer está ausente ou em formato " "incorreto. Altere e tente novamente." -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "Ferramenta de Texto" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "Ferramenta" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "Diâmetro da Ferramenta:" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2513,13 +2522,13 @@ msgstr "" "Diâmetro da ferramenta para \n" "ser usada na operação." -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "Taxa de Sobreposição:" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2544,15 +2553,12 @@ msgstr "" "Valores maiores = processamento lento e execução lenta no CNC \n" " devido ao número de caminhos." -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "Margem:" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" @@ -2562,13 +2568,11 @@ msgstr "" "as bordas do polígono para \n" "ser pintado." -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "Método:" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." @@ -2576,33 +2580,31 @@ msgstr "" "Algoritmo para pintar o polígono:
Padrão: Passo fixo para dentro." "
Baseado em semente: para fora da semente." -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Padrão" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "Baseado em semente" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Linhas retas" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "Conectar:" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -2610,37 +2612,35 @@ msgstr "" "Desenhe linhas entre os \n" "segmentos resultantes para minimizar as elevações de ferramentas." -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "Contorno:" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." msgstr "Corte o perímetro do polígono para cortar as arestas." -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "Pintura" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Ferramenta de Pintura" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "[WARNING_NOTCL] Pintura cancelada. Nenhuma forma selecionada." -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." @@ -2648,14 +2648,14 @@ msgstr "" "[WARNING_NOTCL] O valor do diâmetro da ferramenta está ausente ou em formato " "incorreto. Altere e tente novamente." -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] O valor de sobreposição está ausente ou em formato " "incorreto. Altere e tente novamente." -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." @@ -2663,63 +2663,66 @@ msgstr "" "[WARNING_NOTCL] O valor da distância da margem está ausente ou em formato " "incorreto. Altere e tente novamente." -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "Ferramentas" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "Ferramenta Transformar" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Girar" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Inclinar" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Redimensionar" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Espelhar (Flip)" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Deslocamento" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "Editor %s" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2731,8 +2734,8 @@ msgstr "" "Números positivos para movimento horário. \n" "Números negativos para movimento anti-horário." -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2742,15 +2745,16 @@ msgstr "" "O ponto de referência é o meio da \n" "caixa delimitadora para todas as formas selecionadas." -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "Ângulo X:" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2759,15 +2763,15 @@ msgstr "" "Ângulo de inclinação, em graus. \n" "Número flutuante entre -360 e 359." -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Inclinar X" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2777,35 +2781,35 @@ msgstr "" "O ponto de referência é o meio da \n" "caixa delimitadora para todas as formas selecionadas." -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "Ângulo Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Inclinar Y" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "Fator X:" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "Fator de escala sobre o eixo X." -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Redimensionar X" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2815,29 +2819,29 @@ msgstr "" "O ponto de referência depende \n" "do estado da caixa de seleção." -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "Fator Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "Fator para ação de escala no eixo Y." -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Redimensionar Y" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Fixar Taxa" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2845,14 +2849,14 @@ msgstr "" "Redimensiona a(s) forma(s) selecionada(s)\n" "usando o Fator de Escala X para ambos os eixos." -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Referência de escala" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2864,25 +2868,25 @@ msgstr "" "e o centro da maior caixa delimitadora \n" "de formas selecionadas quando desmarcado." -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "Valor X:" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "Valor para o deslocamento no eixo X." -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "Deslocar X" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2892,30 +2896,30 @@ msgstr "" "O ponto de referência é o meio da \n" "caixa delimitadora para todas as formas selecionadas. \n" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "Valor Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "Valor para a ação de deslocamento no eixo Y." -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "Deslocar Y" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "Espelhar no X" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2923,18 +2927,18 @@ msgstr "" "Espelha as formas selecionadas sobre o eixo X. \n" "Não cria uma nova forma." -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "Espelhar no Y" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "Ponto de Referência" -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2955,13 +2959,13 @@ msgstr "" "- ou digitar as coordenadas no formato (x, y) no campo\n" " Ponto de Ref. e clicar em Espelhar no X(Y)" -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "Ponto de Ref.:" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2971,8 +2975,8 @@ msgstr "" "O 'x' em (x, y) será usado ao usar Espelhar em X e \n" "o 'y' em (x, y) será usado ao usar Espelhar em Y." -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2982,391 +2986,391 @@ msgstr "" "botão esquerdo na tela junto com a tecla \n" "SHIFT pressionada. Em seguida, clique no botão Adicionar para inserir." -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformação cancelada. Nenhuma forma selecionada." -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido para Girar, use um número." -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido para Inclinação X, use um " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido para Inclinação Y, use um " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido na Escala X, use um número." -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido para a Escala Y, use um " "número." -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido para o deslocamento X, use " "um número." -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Formato de valor incorreto inserido para o deslocamento Y, use " "um número." -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Nenhuma forma selecionada. Por favor, selecione uma forma " "para girar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "Aplicando Girar" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "[success] Girar concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Nenhuma forma selecionada. Por favor, selecione uma forma " "para espelhar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "Aplicando Espelho" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Espelhamento no eixo Y feito ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "[success] Espelhamento no eixo X feito ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Nenhuma forma selecionada. Por favor, selecione uma forma " "para inclinar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "Inclinando" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Inclinação no eixo %s concluída ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "[ERROR_NOTCL] Devido a %s , a ação Inclinar não foi executada." -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Nenhuma forma selecionada. Por favor, selecione uma forma " "para redimensionar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "Redimensionando" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Redimensionamento no eixo %s concluído ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "[ERROR_NOTCL] Devido a %s, o redimensionamento não foi executado." -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Nenhuma forma selecionada. Por favor, selecione uma forma " "para deslocar!" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "Aplicando Deslocamento" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Deslocamento no eixo %s concluído ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "[ERROR_NOTCL] Devido a %s , a ação de deslocamento não foi executada." -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "Girar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "Digite um valor de ângulo (graus):" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "[success] Rotação da geometria feito ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Rotação da geometria cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "Deslocamento no eixo X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "Digite um valor de distância ( %s ):" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Deslocamento da forma da geometria no eixo X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Deslocamento da forma da geometria X cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "Deslocamento no eixo Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Deslocamento da forma da geometria no eixo Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Deslocamento da forma da geometria Y cancelado ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "Inclinação no eixo X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Forma de geometria inclinada no eixo X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Forma de geometria inclinada X cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "Inclinação no eixo Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Forma de geometria inclinada no eixo Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Forma da geometria inclinada Y cancelada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "Clique no ponto central ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "Clique no ponto Perímetro para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "[success] Feito. Adicionando Círculo concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "Clique no ponto inicial ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "Clique no ponto 3 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "Clique no ponto de parada ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "Clique no ponto de parada para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "Clique no ponto 2 para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "Clique no ponto central para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "Direção: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Modo: Iniciar -> Parar -> Centro. Clique no ponto inicial ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Modo: Ponto 1 -> Ponto 3 -> Ponto 2. Clique no Ponto 1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Modo: Centro -> Iniciar -> Parar. Clique no ponto central ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "[success] Feito. Arco concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "Clique no primeiro canto ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "Clique no canto oposto para completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "[success] Feito. Retângulo concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" "Clique no próximo ponto ou clique com o botão direito do mouse para " "completar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "[success] Feito. Polígono concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "Retrocedeu um ponto ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "[success] Feito. Caminho concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "" "[WARNING_NOTCL] MOVE: Nenhuma forma selecionada. Selecione uma forma para " "mover ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr " MOVE: Clique no ponto de referência ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr " Clique no ponto de destino ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "[success] Feito. Movimento de Geometria(s) completo." -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "[success] Feito. Cópia de Geometria(s) concluída." -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " @@ -3375,69 +3379,69 @@ msgstr "" "[ERROR] Fonte não suportada. Apenas Regular, Bold, Italic e BoldItalic são " "suportados. Erro: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "[WARNING_NOTCL] Nenhum texto para adicionar." -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "[success] Feito. Adicionando texto concluído." -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "Criar geometria de buffer ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Buffer cancelado. Nenhuma forma selecionada." -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Feito. Ferramenta Buffer concluída." -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "[success] Feito. Ferramenta Buffer Int concluída." -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "[success] Feito. Ferramenta Buffer Ext concluída." -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "Selecione uma forma para atuar como área de exclusão ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "Clique para pegar a forma de apagar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "Clique para apagar ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "[success] Feito. Ação da ferramenta Borracha concluída." -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "Criar geometria de pintura ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "Transformações de forma ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" @@ -3445,19 +3449,19 @@ msgstr "" "[WARNING_NOTCL] Editando Geometria MultiGeo, ferramenta: {tool} com " "diâmetro: {dia}" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "[WARNING_NOTCL] Cópia cancelada. Nenhuma forma selecionada." -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "Clique no ponto alvo." -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." @@ -3465,9 +3469,8 @@ msgstr "" "[WARNING_NOTCL] É necessária uma seleção de pelo menos 2 itens geográficos " "para fazer a interseção." -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" @@ -3475,54 +3478,58 @@ msgstr "" "[ERROR_NOTCL] Valor de buffer negativo não é aceito. Use o Buffer interior " "para gerar uma forma 'interna'" -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "[WARNING_NOTCL] Nada selecionado para armazenamento em buffer." -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "[WARNING_NOTCL] Distância inválida para armazenamento em buffer." -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" "[ERROR_NOTCL] Falhou, o resultado está vazio. Escolha um valor de buffer " "diferente." -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "[success] Geometria completa do buffer criada." -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "[ERROR_NOTCL] O valor do buffer negativo não é aceito." + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" "[ERROR_NOTCL] Falhou, o resultado está vazio. Escolha um valor de buffer " "menor." -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "[success] Geometria do buffer interna criada." -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "[success] Geometria de buffer externa criada." -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "[WARNING_NOTCL] Nada selecionado para pintura." -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "[WARNING] Valor inválido para {}" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." @@ -3530,7 +3537,7 @@ msgstr "" "[ERROR_NOTCL] Não foi possível fazer o Paint. O valor de sobreposição tem " "que ser menor que 1,00 (100%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3541,64 +3548,64 @@ msgstr "" "parâmetros. Ou um método diferente de Paint \n" " %s" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "[success] Pintura feita." -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Para adicionar um Pad, primeiro selecione uma abertura na " "Tabela de Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" "[WARNING_NOTCL] O tamanho da abertura é zero. Precisa ser maior que zero." -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" "Tipo de abertura incompatível. Selecione uma abertura com o tipo 'C', 'R' ou " "'O'." -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "[success] Feito. Adicionando Pad concluído." -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Para adicionar uma Matriz de Pads, primeiro selecione uma " "abertura na Tabela de Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "Clique na posição inicial da Matriz Circular de Pads" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Demasiados Pads para o ângulo de espaçamento selecionado." -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "[success] Matriz de Pads adicionada." -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "Selecione a(s) forma(s) e clique em ..." -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "[ERROR_NOTCL] Falhou. Nada selecionado." -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." @@ -3606,149 +3613,150 @@ msgstr "" "[WARNING_NOTCL] Falhou. Poligonize funciona apenas em geometrias " "pertencentes à mesma abertura." -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "[success] Feito. Poligonizar concluído." -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "Modo de canto 1: 45 graus ..." -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "Clique no primeiro ponto ..." -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" "Clique no próximo ponto ou clique com o botão direito do mouse para " "completar ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Modo de canto 2: 45 graus invertido ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "Modo de canto 3: 90 graus ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Modo de canto 4: 90 graus invertido ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "Modo de canto 5: Ângulo livre ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "Modo de Trilha 1: 45 graus ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Modo de Trilha 2: 45 graus invertido ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "Modo de Trilha 3: 90 graus ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Modo de Trilha 4: 90 graus invertido ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "Modo de Trilha 5: Ângulo livre ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "Redimensiona as aberturas de Gerber selecionadas ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "Buffer as aberturas selecionadas ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Marcar áreas de polígonos no Gerber editado..." -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "[WARNING_NOTCL] Nada selecionado para se mover ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "[success] Feito. Mover Aberturas completo." -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "[success] Feito. Aberturas copiadas." -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "Editor Gerber" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" -msgstr " Aberturas: " +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" +msgstr "Aberturas" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "Mesa de Aberturas para o Objeto Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "Código" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "Tipo" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "Tamanho" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "Índice" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "Código de Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "Tipo de abertura: circular, retângulo, macros etc" -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "Tamanho da abertura:" -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -3758,15 +3766,15 @@ msgstr "" " - (largura, altura) para o tipo R, O. \n" " - (dia, nVertices) para o tipo P" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "Código de Abertura:" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "Código para a nova abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "Tamanho da abertura" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3780,11 +3788,11 @@ msgstr "" "calculado como: \n" "sqrt (largura^2 + altura^2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" -msgstr "Tipo de Abertura:" +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" +msgstr "Tipo de Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3796,11 +3804,11 @@ msgstr "" "R = retangular \n" "O = oblongo" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" -msgstr "Dim Abertura:" +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" +msgstr "Dim Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -3810,31 +3818,39 @@ msgstr "" "Ativa apenas para aberturas retangulares (tipo R). \n" "O formato é (largura, altura)" -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "Adicionar/Excluir Abertura:" -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "Adicionar/Excluir uma abertura na tabela de abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "Adicione uma nova abertura à lista de abertura." -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "Excluir uma abertura da lista de abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "Buffer Aperture:" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "Buffer de uma abertura na lista de abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "Distância do buffer" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "Canto do buffer" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3848,25 +3864,25 @@ msgstr "" " - 'Beveled:' o canto é uma linha que conecta diretamente os recursos " "reunidos no canto" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "Buffer" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" -msgstr "Redimensiona Abertura:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" +msgstr "Redim. Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "Redimensionar uma abertura na lista de abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" -msgstr "Fator de escala:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" +msgstr "Fator de Escala" -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -3874,19 +3890,19 @@ msgstr "" "O fator para redimensionar a abertura selecionada. \n" "Os valores podem estar entre 0,0000 e 999,9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" -msgstr "Marcar áreas de polígonos:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" +msgstr "Marcar áreas de polí." -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "Marcar as áreas de polígonos." -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" -msgstr "Limite de área SUPERIOR:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" +msgstr "Limite de área SUPERIOR" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3894,11 +3910,11 @@ msgstr "" "Valor limite, todas as áreas menores que isso são marcadas.Pode ser um valor " "entre 0.0000 e 9999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" -msgstr "Limite de área INFERIOR:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" +msgstr "Limite de área INFERIOR" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3906,20 +3922,20 @@ msgstr "" "Valor limite, todas as áreas maiores que isso são marcadas.Pode ser um valor " "entre 0.0000 e 9999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "Ir" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "Adicionar Matriz de Pads" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "Adicione uma matriz de pads (matriz linear ou circular)" -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -3927,16 +3943,26 @@ msgstr "" "Selecione o tipo de matriz de pads para criar. \n" "Pode ser Linear X(Y) ou Circular" -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" -msgstr "Nº de pads:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" +msgstr "Nº de pads" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "Especifique quantos pads devem estar na matriz." -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "Direção" + +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "Passo" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 +#: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" "[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " "retry." @@ -3944,7 +3970,7 @@ msgstr "" "[WARNING_NOTCL] O valor do código de abertura está em falta ou em formato " "incorreto. Altere e tente novamente." -#: flatcamEditors/FlatCAMGrbEditor.py:3136 +#: flatcamEditors/FlatCAMGrbEditor.py:3172 msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." @@ -3952,7 +3978,7 @@ msgstr "" "[WARNING_NOTCL] O valor das dimensões da abertura está em falta ou está no " "formato errado. Altere (largura, altura) e tente novamente." -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." @@ -3960,35 +3986,35 @@ msgstr "" "[WARNING_NOTCL] O valor do tamanho da abertura está ausente ou está no " "formato errado. Altere e tente novamente." -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "[WARNING_NOTCL] Abertura já na tabela de abertura." -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "[success] Adicionada nova abertura com código: {apid}" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "[WARNING_NOTCL] Selecione uma abertura na Tabela de Abertura" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "[WARNING_NOTCL] Selecione uma abertura na Tabela de Abertura -> %s" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "[success] Abertura excluída com código: {del_dia}" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "Adicionando abertura: %s geo ..." -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." @@ -3996,27 +4022,27 @@ msgstr "" "[ERROR_NOTCL] Não há definições do Aperture no arquivo. Abortando a criação " "de Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "Criando Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "[success] Edição de Gerber finalizada." -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Cancelado. Nenhuma abertura selecionada" -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "[ERROR_NOTCL] Falhou. Nenhuma geometria de abertura selecionada." -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Feito. Geometria das aberturas excluída." -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -4024,7 +4050,7 @@ msgstr "" "[WARNING_NOTCL] Nenhuma abertura para buffer. Selecione pelo menos uma " "abertura e tente novamente." -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" @@ -4033,7 +4059,7 @@ msgstr "" "[ERROR_NOTCL] Falhou.\n" " %s" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -4041,7 +4067,7 @@ msgstr "" "[WARNING_NOTCL] O valor do fator de escala está ausente ou está em formato " "incorreto. Altere e tente novamente." -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -4049,108 +4075,108 @@ msgstr "" "[WARNING_NOTCL] Nenhuma abertura a redimensionar. Selecione pelo menos uma " "abertura e tente novamente." -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "[success] Redimensionamento concluído." -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "[success] Áreas de polígono marcadas." -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "[WARNING_NOTCL] Não há polígonos para marcar a área." -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "&Arquivo" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "&Novo Projeto ...\tCTRL+N" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "Criará um novo projeto em branco" -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "&Novo" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "Geometria\tN" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "Irá criar um novo Objeto Geometria vazio." -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "Irá criar um novo Objeto Gerber vazio." -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "Irá criar um novo Objeto Excellon vazio." -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Abrir" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "Abrir &Projeto ..." -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "Abrir &Gerber ...\tCTRL+G" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "Abrir &Excellon ...\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "Abrir G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "Abrir Configuração ..." -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "Projetos Recentes" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "Arquivos recentes" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "Scripting" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "Novo Script ..." -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "Abrir Script ..." -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "Executar Script ...\tSHIFT+S" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4160,43 +4186,43 @@ msgstr "" "ativando a automação de certas \n" "funções do FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "Importar" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "&SVG como Objeto de Geometria ..." -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "&SVG como objeto Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "&DXF como Objeto de Geometria ..." -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "&DXF como Objeto Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "Exportar" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "Exportar &SVG ..." -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "Exportar DXF ..." -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "Exportar &PNG ..." -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -4206,11 +4232,11 @@ msgstr "" " a imagem salva conterá as informações \n" " visuais atualmente na área gráfica FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "Exportar &Excellon ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -4220,11 +4246,11 @@ msgstr "" "no formato de coordenadas, as unidades de arquivo e os zeros \n" "são definidos em Preferências -> Exportação de Excellon." -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "Exportar &Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -4234,59 +4260,59 @@ msgstr "" "o formato de coordenadas, as unidades de arquivo e os zeros \n" "estão definidos em Preferências -> Exportar Gerber." -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "Backup" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "Importar preferências do arquivo ..." -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "Exportar Preferências para arquivar ..." -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "Salvar" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "&Salvar Projeto ..." -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "S&alvar Projeto Como ...\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "Salvar Cópia do Pr&ojeto ..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "Sair" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "&Editar" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "Editar Objeto\tE" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "Fechar Editor\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "Conversão" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "&Unir Geo/Gerber/Exc -> Geo" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -4300,27 +4326,27 @@ msgstr "" "- Geometria\n" " em um novo objeto Geometria." -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "Unir Excellon(s) -> Excellon" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "Mesclar uma seleção de objetos Excellon em um novo objeto Excellon." -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "Unir Gerber(s) -> Gerber" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "Mesclar uma seleção de objetos Gerber em um novo objeto Gerber." -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "Converter Single para MultiGeo" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -4328,11 +4354,11 @@ msgstr "" "Converterá um objeto Geometria do tipo single_geometry\n" "em um tipo multi_geometry." -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "Converter Multi para SingleGeo" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -4340,632 +4366,632 @@ msgstr "" "Converterá um objeto Geometria do tipo multi_geometry\n" "em um tipo single_geometry." -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "Converter Qualquer para Geo" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "Converter Qualquer para Gerber" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "&Copiar\tCTRL+C" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "&Excluir\tDEL" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "De&finir Origem\tO" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "Ir para a localização\tJ" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "Alternar Unidades\tQ" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "&Selecionar Tudo\tCTRL+A" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "&Preferências\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "&Opções" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "Gi&rar seleção\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "&Inclinar no eixo X\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "&Inclinar no eixo Y\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "Espelhar no eixo &X\tX" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "Espelhar no eixo &Y\tY" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "Ver fonte\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "&Ver" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "Habilitar todos os gráficos\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "Desabilitar todos os gráficos\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "Desabilitar os não selecionados\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "&Zoom Ajustado\tV" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "&Zoom +\t=" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "&Zoom -\t-" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "Alternar o Editor de Códigos\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "Alternar &Tela Cheia\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "Al&ternar Área de Gráficos\tCTRL+F10" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "Al&ternar Projeto/Sel/Ferram\t`" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "Al&ternar Encaixe na Grade\tG" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "Al&ternar Eixo\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "Alternar Espaço de Trabalho\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "Ferramen&ta" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "Linha de &Comando\tS" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "&Ajuda" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "Ajuda\tF1" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "FlatCAM.org" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "Lista de Atalhos\tF3" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "Canal no YouTube\tF4" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "Sobre" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "Adicionar Círculo\tO" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "Adicionar Arco\tA" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "Adicionar Retângulo\tR" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "Adicionar Polígono\tN" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "Adicionar Caminho\tP" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "Adicionar Texto\tT" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "Unir Polígonos\tU" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "Interseção de Polígonos\tE" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "Subtração de Polígonos\tS" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "Caminho de Corte\tX" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "Copiar Geom\tC" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "Excluir Forma\tDEL" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "Mover\tM" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "Ferramenta Buffer\tB" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "Ferramenta de Pintura\tI" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "Ferramenta de Transformação\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "Alternar Encaixe de Canto\tK" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr ">Editor Excellon<" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "Adicionar Matriz de Brocas\tA" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "Adicionar Broca\tD" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "Adic. matriz de ranhuras\tQ" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "Adicionar Ranhura\tW" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "Redimensionar Broca(s)\tR" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "Copiar\tC" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "Excluir\tDEL" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "Mover Broca(s)\tM" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr ">Editor Gerber<" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "Adicionar Pad\tP" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "Adicionar Matriz de Pads\tA" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "Adicionar Trilha\tT" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "Adicionar Região\tN" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "Poligonizar\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "Adicionar SemiDisc\tE" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "Adicionar Disco\tD" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "Buffer\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "Escala\tS" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "Marcar Área\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "Borracha\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "Transformar\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "Habilitar Gráfico" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "Desabilitar Gráfico" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "Gerar CNC" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "Ver Fonte" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "Editar" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "Propriedades" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "Barra de Ferramentas de Arquivos" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "Barra de Ferramentas Editar" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "Barra de Ferramentas Ver" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "Barra de Ferramentas Shell" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "Barra de Ferramentas Ferramentas" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "Barra de Ferramentas Editor Excellon" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "Barra de Ferramentas Editor de Geometria" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "Barra de Ferramentas Editor Gerber" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "Barra de Ferramentas Grade" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "Abrir projeto" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "Salvar projeto" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "Nova Geometria em Branco" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "Novo Gerber em branco" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "Novo Excellon em branco" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "Editor" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "Salvar objeto e fechar o editor" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "&Excluir" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "&Redesenhar" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "Limpar gráfi&co" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "Zoom +" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "Zoom -" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "Zoom Ajustado" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "Linha de &Comando" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "PCB de 2 Faces" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "Ferramenta de Re&corte" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "Ferramenta NCC" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "Ferramenta de Painel" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "Ferramenta de Filme" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "Ferramenta Pasta de Solda" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "Ferramenta Subtrair" -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "Calculadoras" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "Selecionar" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "Adicionar Furo" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "Adicionar Matriz do Furos" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "Adicionar Ranhura" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "Adicionar Matriz de Ranhuras" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "Redimensionar Broca" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "Copiar Broca" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "Excluir Broca" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "Mover Broca" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "Adicionar Círculo" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "Adicionar Arco" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "Adicionar Retângulo" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "Adicionar Caminho" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "Adicionar Polígono" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "Adicionar Texto" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "Adicionar Buffer" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "Pintar Forma" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "Apagador" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "União de Polígonos" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "Interseção de Polígonos" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "Subtração de Polígonos" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "Caminho de Corte" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "Copiar Forma(s)" -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "Excluir Forma '-'" -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "Transformações" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "Mover Objetos " -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "Adicionar Pad" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "Adicionar Trilha" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "Adicionar Região" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "Poligonizar" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "SemiDisco" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "Disco" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "Marcar Área" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "Mover" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "Encaixar na Grade" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "Distância de encaixe Grade X" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "Distância de encaixe Grade Y" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -4973,64 +4999,64 @@ msgstr "" "Quando ativo, o valor em Grid_X\n" "é copiado para o valor Grid_Y." -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "Encaixar no canto" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "Max. distância magnética" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "Projeto" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "Selecionado" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "Área de Gráfico" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "Geral" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "PADRÕES APP." -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "OPÇÕES PROJ." -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "Geometria" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "Trabalho CNC" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "Ferramentas" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "Importar Preferências" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -5044,11 +5070,11 @@ msgstr "" "FlatCAM salva automaticamente o arquivo 'factory_defaults'\n" "na primeira inicialização. Não exclua esse arquivo." -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "Exportar Preferências" -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -5056,15 +5082,15 @@ msgstr "" "Exporta um conjunto completo de configurações do FlatCAM em um arquivo\n" "salvo no HDD." -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "Abrir a Pasta Pref" -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Abre a pasta onde o FlatCAM salva os arquivos de preferências." -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -5072,7 +5098,7 @@ msgstr "" "Salve as configurações atuais no arquivo 'current_defaults'\n" "que armazena as preferências padrão de trabalho." -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" "
Editor Shortcut list
\n" "
\n" @@ -6300,134 +6326,133 @@ msgstr "" "
\n" " " -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "Alternar Visibilidade" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "Alternar Painel" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "Novo" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "Geometria" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "Grades" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "Ver" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "Limpar Gráfico" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "Redesenhar" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "Editor Geométrico" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "Caminho" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "Retângulo" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "Círculo" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "Polígono" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "Arco" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "Texto" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "União" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "Interseção" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "Substração" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "Cortar" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "Pad" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "Matriz de Pads" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "Trilha" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "Região" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "Editor Exc" -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "Adicionar Broca" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "Visualizar Impressão" -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "Imprimir Código" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "Encontrar no Código" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "Substituir Por" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "Todos" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -6435,15 +6460,15 @@ msgstr "" "Quando marcado, todas as instâncias na caixa 'Localizar'\n" "serão substituídas pelo texto na caixa 'Substituir'." -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "Abrir Código" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "Salvar Código" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -6451,7 +6476,7 @@ msgstr "" "Medição relativa.\n" "Em referência à posição do último clique" -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -6459,23 +6484,27 @@ msgstr "" "Medição absoluta.\n" "Referente à posição (X=0, Y=0)" -#: flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" +msgstr "Travar Barras de Ferra." + +#: flatcamGUI/FlatCAMGUI.py:2013 msgid "Select 'Esc'" msgstr "Selecionar 'Esc'" -#: flatcamGUI/FlatCAMGUI.py:2011 +#: flatcamGUI/FlatCAMGUI.py:2038 msgid "Copy Objects" msgstr "Copiar Objetos" -#: flatcamGUI/FlatCAMGUI.py:2013 +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "Excluir Forma" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" msgstr "Mover Objetos" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -6487,17 +6516,17 @@ msgstr "" "fora do primeiro item. No final, pressione a tecla ~X~ ou\n" "o botão da barra de ferramentas." -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "Aviso" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "[WARNING_NOTCL] Cancelado." -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -6505,7 +6534,7 @@ msgstr "" "Por favor, selecione itens de geometria\n" "para executar ferramenta de interseção." -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -6513,7 +6542,7 @@ msgstr "" "Por favor, selecione itens de geometria\n" "para executar ferramenta de subtração." -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." @@ -6521,59 +6550,59 @@ msgstr "" "Por favor, selecione itens de geometria\n" "para executar ferramenta de união." -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "[WARNING_NOTCL] Cancelado. Nada selecionado para excluir." -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "[WARNING_NOTCL] Cancelado. Nada selecionado para copiar." -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "[WARNING_NOTCL] Cancelado. Nada selecionado para mover." -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "Nova Ferramenta ..." -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" msgstr "Digite um diâmetro de ferramenta:" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "Saída da ferramenta de medição ..." -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "Preferências da GUI" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "Valor da grade X:" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "Este é o valor do encaixe à grade no eixo X." -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "Valor da grade Y:" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "Este é o valor do encaixe à grade no eixo Y." -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "Encaixe Max:" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "Área de trabalho:" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -6581,11 +6610,11 @@ msgstr "" "Desenhe um retângulo de delimitação na tela.\n" "O objetivo é ilustrar os limites do nosso trabalho." -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "Formato da AT:" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -6593,11 +6622,11 @@ msgstr "" "Selecione o tipo de retângulo a ser usado na tela,\n" "como espaço de trabalho válido." -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "Cor de Preenchimento:" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -6607,28 +6636,28 @@ msgstr "" "Os primeiros 6 dígitos são a cor e os últimos 2\n" "dígitos são para o nível alfa (transparência)." -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "Nível Alfa:" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." msgstr "Definir a transparência de preenchimento para objetos plotados." -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "Linha:" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "Defina a cor da linha para objetos plotados." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "Preenchimento Sel.:" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6640,26 +6669,26 @@ msgstr "" "Os primeiros 6 dígitos são a cor e os últimos 2\n" "dígitos são para o nível alfa (transparência)." -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" "Defina a transparência de preenchimento para a caixa de seleção \"da " "esquerda para a direita\"." -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "Linha Sel.:" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "" "Defina a cor da linha para a caixa de seleção \"da esquerda para a direita\"." -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "Preenchimento Sel2:" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6671,50 +6700,50 @@ msgstr "" "Os primeiros 6 dígitos são a cor e os últimos 2\n" "dígitos são para o nível alfa (transparência)." -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" "Defina a transparência de preenchimento para a seleção da caixa 'direita " "para a esquerda'." -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "Linha Sel2:" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "" "Defina a cor da linha para a caixa de seleção 'direita para a esquerda'." -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "Editor de Desenho:" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "Definir a cor da forma." -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "Editor de Desenho Sel.:" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "Defina a cor da forma quando selecionada." -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "Itens do Projeto:" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "Defina a cor dos itens na Árvore do Guia de Projeto." -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "Itens Proj. Desab.:" -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -6722,15 +6751,15 @@ msgstr "" "Defina a cor dos itens na Árvore da guia Projeto,\n" "para o caso em que os itens estão desativados." -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "Configurações da GUI" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "Layout:" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -6738,11 +6767,11 @@ msgstr "" "Selecione um layout para o FlatCAM.\n" "É aplicado imediatamente." -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "Estilo:" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -6750,11 +6779,11 @@ msgstr "" "Selecione um estilo para FlatCAM.\n" "Ele será aplicado no próximo início do aplicativo." -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "Suporte HDPI:" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -6762,11 +6791,11 @@ msgstr "" "Ativa o suporte de alta DPI para FlatCAM.\n" "Ele será aplicado no próximo início do aplicativo." -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "Limpar Config. da GUI:" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6774,15 +6803,15 @@ msgstr "" "Limpa as configurações da GUI para FlatCAM,\n" "como: layout, estado de gui, estilo, suporte a HDPI etc." -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "Limpar" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "Forma Flutuante:" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -6792,11 +6821,11 @@ msgstr "" "É exibido sempre que o cursor do mouse estiver pairando\n" "sobre qualquer tipo de objeto não selecionado." -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "Sel. Forma:" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -6808,11 +6837,11 @@ msgstr "" "seja clicando ou arrastando o mouse da esquerda para a direita ou da direita " "para a esquerda." -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "NB Tamanho da Fonte:" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" @@ -6823,31 +6852,33 @@ msgstr "" "O notebook é a área desmontável no lado esquerdo da GUI,\n" "e inclua as guias Projeto, Selecionado e Ferramenta." -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "Tamanho da fonte do eixo:" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "Isso define o tamanho da fonte para o eixo da tela." -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Tem certeza de que deseja excluir as configurações da GUI? \n" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "Limpar as configurações da GUI" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "Preferências do aplicativo" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" -msgstr "Unidades:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" +msgstr "Unidades" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -6857,21 +6888,21 @@ msgstr "" "O que estiver selecionado aqui será considerado sempre que\n" "FLatCAM for iniciado." -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "in" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "mm" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" -msgstr "Nível do Aplicativo:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" +msgstr "Nível do Aplicativo" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -6887,27 +6918,45 @@ msgstr "" "A escolha influenciará os parâmetros na Aba\n" "Selecionado para todos os tipos de objetos FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "Básico" -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "Avançado" -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" -msgstr "Idioma:" +#: flatcamGUI/FlatCAMGUI.py:3988 +msgid "Portable app" +msgstr "Aplicativo portátil" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" +"Escolha se o aplicativo deve ser executado como portável.\n" +"\n" +"Se verificado o aplicativo será executado portátil,\n" +"o que significa que os arquivos de preferências serão salvos\n" +"na pasta do aplicativo, na subpasta lib \\ config." + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "Línguas" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "Defina o idioma usado no FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "Aplicar o Idioma" -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -6925,11 +6974,11 @@ msgstr "" "aos recursos de segurança do Windows. Neste caso, o\n" "idioma será aplicado na próxima inicialização." -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" -msgstr "Linha de Com. ao iniciar:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" +msgstr "Shell na inicialização" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -6937,11 +6986,11 @@ msgstr "" "Marque esta caixa se você deseja que o shell (linha de comando)\n" "seja inicializado automaticamente na inicialização." -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" -msgstr "Verificar Versão:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" +msgstr "Verificar Versão" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -6949,11 +6998,11 @@ msgstr "" "Marque esta caixa se você quiser verificar\n" "por nova versão automaticamente na inicialização." -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" -msgstr "Enviar estatísticas:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" +msgstr "Enviar estatísticas" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -6961,11 +7010,11 @@ msgstr "" "Marque esta caixa se você concorda em enviar dados anônimos\n" "automaticamente na inicialização, para ajudar a melhorar o FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" -msgstr "Botão Pan:" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" +msgstr "Botão Pan" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -6975,35 +7024,35 @@ msgstr "" "- BM -> Botão do meio do mouse\n" "- BD -> botão direito do mouse" -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "BM" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "BD" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" -msgstr "Seleção Múltipla:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" +msgstr "Seleção Múlti" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "Selecione a tecla usada para seleção múltipla." -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" -msgstr "Projeto na Inicialização:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" +msgstr "Projeto na Inicialização" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -7011,11 +7060,11 @@ msgstr "" "Marque esta caixa se você quiser que a aba Projeto/Selecionado/Ferramenta\n" "seja apresentada automaticamente na inicialização." -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" -msgstr "Ocultar Automaticamente:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" +msgstr "Ocultar Automatic." -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -7025,11 +7074,11 @@ msgstr "" "desapareça automaticamente quando não houver objetos carregados e\n" "apareça sempre que um novo objeto for criado." -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" -msgstr "Habilitar Dicas:" +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" +msgstr "Habilitar Dicas" -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -7037,11 +7086,11 @@ msgstr "" "Marque esta caixa se quiser que as dicas de ferramentas sejam exibidas\n" "ao passar o mouse sobre os itens em todo o aplicativo." -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" -msgstr "Número de trabalhadores:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" +msgstr "Número de trabalhadores" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -7056,11 +7105,11 @@ msgstr "" "não responda. Pode ter um valor entre 2 e 16. O valor padrão é 2.\n" "Após a mudança, ele será aplicado na próxima inicialização." -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" -msgstr "Tolerância Geo:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" +msgstr "Tolerância Geo" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -7076,11 +7125,11 @@ msgstr "" "Um valor maior proporcionará mais desempenho à custa do nível\n" "de detalhes." -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "Comportamento \"Abrir\"" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -7095,11 +7144,11 @@ msgstr "" "Quando desmarcado, o caminho para abrir arquivos é aquele usado por último:\n" "o caminho para salvar arquivos ou o caminho para abrir arquivos." -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "Excluir confirmação do objeto" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -7109,11 +7158,11 @@ msgstr "" "sempre que o evento Excluir objeto (s) é acionado, seja por\n" "atalho de menu ou atalho de tecla." -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "Salvar Projeto Compactado" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -7121,11 +7170,11 @@ msgstr "" "Para salvar um projeto compactado ou descompactado.\n" "Quando marcado, o projeto FlatCAM será salvo compactado." -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" -msgstr "Nível de Compressão:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" +msgstr "Nível de Compressão" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -7135,51 +7184,53 @@ msgstr "" "Um valor maior significa melhor compactação, mas é necessário mais uso de " "RAM e mais tempo de processamento." -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "Gerber Geral" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" -msgstr "Opções de Gráfico:" +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" +msgstr "Opções de Gráfico" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "Preenchido" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "Polígonos com cor sólida." -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "M-Cores" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "Desenha polígonos em cores diferentes." -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "Gráfico" -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "Mostra o objeto no gráfico." -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" -msgstr "Passos do Círculo:" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" +msgstr "Passos do Círculo" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -7187,15 +7238,15 @@ msgstr "" "Número de passos de círculo para Gerber.\n" "Aproximação linear de abertura circular." -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "Opções Gerber" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" -msgstr "Roteamento para Isolação:" +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" +msgstr "Roteamento para Isolação" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7203,17 +7254,23 @@ msgstr "" "Cria um objeto Geometria com caminho de\n" "ferramenta para cortar polígonos externos." -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "Diâ. da Ferra." + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "Diâmetro da ferramenta" -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" -msgstr "Largura (passes):" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" +msgstr "Passes" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7221,11 +7278,11 @@ msgstr "" "Largura da isolação em relação à\n" "largura da ferramenta (número inteiro)." -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" -msgstr "Sobreposição:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" +msgstr "Sobreposição" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7238,11 +7295,11 @@ msgstr "" "Exemplo:\n" "Um valor de 0.25 significa uma sobreposição de 25% do diâmetro da ferramenta." -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" -msgstr "Tipo de fresamento:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" +msgstr "Tipo de fresamento" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7253,41 +7310,46 @@ msgstr "" "ferramenta\n" "- convencional: útil quando não há compensação de folga" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "Subida" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "Conv." -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "Combinar Passes" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "Combinar todos os passes em um objeto" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" -msgstr "Limpar não-cobre:" +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" +msgstr "Regiões sem cobre" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -"Cria um objeto Geometria com caminho de ferramenta\n" -"para cortar todas as regiões que não são de cobre." +"Criar polígonos cobrindo as\n" +"áreas sem cobre no PCB.\n" +"Equivalente ao inverso do\n" +"objeto. Pode ser usado para remover todo o\n" +"cobre de uma região especificada." -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" -msgstr "Margem Limite:" +msgid "Boundary Margin" +msgstr "Margem Limite" -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7298,23 +7360,21 @@ msgstr "" "desenhando uma caixa em volta de todos os\n" "objetos com esta distância mínima." -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" -msgstr "Cantos arredondados" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" +msgstr "Geo Arredondado" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." -msgstr "" -"Cria um objeto Geometria com polígonos\n" -"cobrindo as áreas livres de cobre do PCB." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." +msgstr "A geometria resultante terá cantos arredondados." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" -msgstr "Caixa Delimitadora:" +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" +msgstr "Caixa Delimitadora" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7322,7 +7382,7 @@ msgstr "" "Distância das bordas da caixa\n" "para o polígono mais próximo." -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7333,15 +7393,15 @@ msgstr "" "cantos arredondados, o seu raio\n" "é igual à margem." -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "Opções Avançadas" -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" -msgstr "Parâmetros avançados:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." +msgstr "Parâmetros avançados" -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -7351,11 +7411,11 @@ msgstr "" "Esses parâmetros estão disponíveis somente para\n" "o nível avançado do aplicativo." -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "\"Segue\"" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7365,11 +7425,11 @@ msgstr "" "Isso significa que ele cortará\n" "no meio do traço." -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "Mostra/Esconde Tabela" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -7379,15 +7439,15 @@ msgstr "" "Além disso, ao ocultar, ele excluirá todas as formas de marcas\n" "que estão desenhadas na tela." -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "Exportar Gerber" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" -msgstr "Opções da Exportação:" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" +msgstr "Opções da Exportação" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -7395,25 +7455,21 @@ msgstr "" "Os parâmetros definidos aqui são usados no arquivo exportado\n" "ao usar a entrada de menu Arquivo -> Exportar -> Exportar Gerber." -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "Unidades:" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "As unidades usadas no arquivo Gerber." -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "in" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" -msgstr "Int/Decimal:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" +msgstr "Int/Decimais" -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -7421,7 +7477,7 @@ msgstr "" "O número de dígitos da parte inteira\n" "e da parte fracionária do número." -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -7429,7 +7485,7 @@ msgstr "" "Esse número configura o número de dígitos\n" "da parte inteira das coordenadas de Gerber." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -7437,11 +7493,11 @@ msgstr "" "Este número configura o número de dígitos\n" "da parte decimal das coordenadas de Gerber." -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" -msgstr "Zeros:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" +msgstr "Zeros" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7453,35 +7509,36 @@ msgstr "" "LZ: remove os zeros à esquerda e mantém os zeros à direita.\n" "TZ: remove os zeros à direita e mantém os zeros à esquerda." -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" -msgstr "Parâmetros:" +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 +msgid "Parameters" +msgstr "Parâmetros" -#: flatcamGUI/FlatCAMGUI.py:4500 +#: flatcamGUI/FlatCAMGUI.py:4569 msgid "A list of Gerber Editor parameters." msgstr "Uma lista de parâmetros do Editor Gerber." -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" -msgstr "Limite de seleção:" +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" +msgstr "Lim. de seleção:" -#: flatcamGUI/FlatCAMGUI.py:4510 +#: flatcamGUI/FlatCAMGUI.py:4579 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -7493,15 +7550,108 @@ msgstr "" "Acima desse valor a geometria se torna um retângulo de seleção.\n" "Aumenta o desempenho ao mover um grande número de elementos geométricos." -#: flatcamGUI/FlatCAMGUI.py:4530 +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "Novo código do Aper." + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "Novo tamanho da aber." + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "Tamanho para a nova aber." + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "Novo tipo de aber." + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" +"Typo para a nova abertura.\n" +"Pode ser 'C', 'R' ou 'O'." + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "Dim Abertura" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "Diâmetros das ferramentas de corte, separadas por ','" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +msgid "%s:" +msgstr "Unidades" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "Direção" + +#: flatcamGUI/FlatCAMGUI.py:4686 +msgid "Circular Pad Array" +msgstr "Matriz Circular de Ranhuras" + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "Sentido" + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" +"Sentido da matriz circular.\n" +"Pode ser CW = sentido horário ou CCW = sentido anti-horário." + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "Angulo Circ." + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "Distância na qual armazenar o elemento Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "Ferra. de Escala" + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "Fator para dimensionar o elemento Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "Marcar Área de Ferra." + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "Limiar baixo" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "Valor limiar sob o qual as aberturas não estão marcadas." + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "Valor limite sobre o qual as aberturas não estão marcadas." + +#: flatcamGUI/FlatCAMGUI.py:4770 msgid "Excellon General" msgstr "Excellon Geral" -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" -msgstr "Formato Excellon:" +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" +msgstr "Formato Excellon" -#: flatcamGUI/FlatCAMGUI.py:4554 +#: flatcamGUI/FlatCAMGUI.py:4794 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7543,16 +7693,12 @@ msgstr "" "Sprint Layout 2:4 polegadas LZ\n" "KiCAD 3:5 polegadas TZ" -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "POLEGADAS:" - -#: flatcamGUI/FlatCAMGUI.py:4582 +#: flatcamGUI/FlatCAMGUI.py:4822 msgid "Default values for INCH are 2:4" msgstr "Valores padrão para Polegadas: 2:4" -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -7560,8 +7706,8 @@ msgstr "" "Este número configura o número de dígitos\n" "da parte inteira das coordenadas de Excellon." -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -7569,19 +7715,19 @@ msgstr "" "Este número configura o número de dígitos\n" "da parte decimal das coordenadas de Excellon." -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" -msgstr "MÉTRICO:" +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" +msgstr "MÉTRICO" -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4855 msgid "Default values for METRIC are 3:3" msgstr "Valores padrão para Métrico: 3:3" -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" -msgstr "Padrão Zeros:" +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" +msgstr "Padrão Zeros" -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7593,7 +7739,7 @@ msgstr "" "LZ: mantém os zeros à esquerda e remove os zeros à direita.\n" "TZ: mantém os zeros à direita e remove os zeros à esquerda." -#: flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4900 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -7607,11 +7753,11 @@ msgstr "" "LZ: mantém os zeros à esquerda e remove os zeros à direita.\n" "TZ: mantém os zeros à direita e remove os zeros à esquerda." -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" -msgstr "Unidades Padrão:" +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" +msgstr "Unidades Padrão" -#: flatcamGUI/FlatCAMGUI.py:4673 +#: flatcamGUI/FlatCAMGUI.py:4913 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -7623,7 +7769,7 @@ msgstr "" "Se não for detectado no arquivo analisado, este padrão\n" "será usado." -#: flatcamGUI/FlatCAMGUI.py:4684 +#: flatcamGUI/FlatCAMGUI.py:4924 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -7633,15 +7779,15 @@ msgstr "" "Alguns arquivos Excellon não possuem um cabeçalho,\n" "e assim este parâmetro será usado." -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" -msgstr "Otimização Excellon:" +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" +msgstr "Otimização Excellon" -#: flatcamGUI/FlatCAMGUI.py:4695 +#: flatcamGUI/FlatCAMGUI.py:4935 msgid "Algorithm: " msgstr "Algoritmo: " -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -7664,15 +7810,15 @@ msgstr "" "Se DESABILITADO, FlatCAM está no modo de 32 bits e usa\n" "o algoritmo Travelling Salesman para otimização de caminhos." -#: flatcamGUI/FlatCAMGUI.py:4708 +#: flatcamGUI/FlatCAMGUI.py:4948 msgid "MH" msgstr "MH" -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " -msgstr "Tempo de Otimização: " +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" +msgstr "Tempo de Otimização" -#: flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -7682,15 +7828,16 @@ msgstr "" "Quando o Metaheuristic (MH) da OR-Tools está ativado, este é o limite\n" "máximo de tempo para otimizar o caminho, em segundos. Padão: 3" -#: flatcamGUI/FlatCAMGUI.py:4768 +#: flatcamGUI/FlatCAMGUI.py:5008 msgid "Excellon Options" msgstr "Opções Excellon" -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" -msgstr "Criar um Trabalho CNC:" +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" +msgstr "Criar um Trabalho CNC" -#: flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -7698,13 +7845,13 @@ msgstr "" "Parâmetros usados para criar um objeto de Trabalho CNC\n" "para a furação." -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" -msgstr "Profundidade de Corte:" +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" +msgstr "Cortar Z" -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -7712,12 +7859,12 @@ msgstr "" "Profundidade da broca (negativo)\n" "abaixo da superfície de cobre." -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" -msgstr "Altura para Deslocamento:" +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" +msgstr "Viagem Z" -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -7725,12 +7872,12 @@ msgstr "" "Altura da ferramenta durante\n" "deslocamentos sobre o plano XY." -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" -msgstr "Troca de ferramentas:" +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" +msgstr "Troca de ferramentas" -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -7738,32 +7885,36 @@ msgstr "" "Pausa para troca de ferramentas. Inclua a sequência\n" "de troca de ferramentas em G-Code (em Trabalho CNC)." -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" -msgstr "Altura para a troca:" +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" +msgstr "Troca de ferra. Z" -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." -msgstr "Posição do eixo Z (altura) para a troca de ferramentas." +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "Posição do eixo Z (altura) para a troca de ferramenta." -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" -msgstr "Avanço Z (Mergulho):" +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" +msgstr "Avanço (Mergulho):" -#: flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 msgid "" "Tool speed while drilling\n" -"(in units per minute)." +"(in units per minute).\n" +"This is for linear move G01." msgstr "" "Velocidade da ferramenta durante a perfuração\n" -"(em unidades por minuto)." +"(em unidades por minuto).\n" +"Para movimento linear G01." -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" -msgstr "Velocidade do Spindle:" +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" +msgstr "Velocidade do Spindle" -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7771,11 +7922,11 @@ msgstr "" "Velocidade do spindle\n" "em RPM (opcional)" -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" -msgstr "Sentido de Rotação:" +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." +msgstr "Sentido de Rotação" -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -7787,13 +7938,13 @@ msgstr "" "- CW = sentido horário ou\n" "- CCW = sentido anti-horário" -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" -msgstr "Esperar Velocidade:" +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" +msgstr "Esperar Velocidade" -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7801,33 +7952,33 @@ msgstr "" "Pausa para permitir que o spindle atinja sua\n" "velocidade antes de cortar." -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 +#: flatcamGUI/FlatCAMGUI.py:5098 msgid "Duration:" msgstr "Tempo de espera:" -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." -msgstr "Tempo em Milissegundos para o spindle atingir a velocidade." +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." +msgstr "Número de unidades de tempo para o fuso residir." -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" -msgstr "Pós-processador:" +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" +msgstr "Pós-processador" -#: flatcamGUI/FlatCAMGUI.py:4872 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 msgid "" -"The postprocessor file that dictates\n" -"gcode output." +"The postprocessor JSON file that dictates\n" +"Gcode output." msgstr "" -"O arquivo de pós-processamento (json) que define\n" -"a saída G-Code." +"O arquivo JSON do pós-processador que dita\n" +"Saída Gcode." -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " -msgstr "G-Code: " +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" +msgstr "Gcode" -#: flatcamGUI/FlatCAMGUI.py:4883 +#: flatcamGUI/FlatCAMGUI.py:5125 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7839,23 +7990,23 @@ msgstr "" "Quando escolher 'Fendas' ou 'Ambos', as fendas serão\n" "convertidos para brocas." -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" -msgstr "Fresar Furos" +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" +msgstr "Fresar Furos" -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 msgid "Create Geometry for milling holes." msgstr "Cria geometria para furos de fresamento." -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" -msgstr "Diâmetro da Broca:" +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" +msgstr "Diâ. da Broca:" -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" -msgstr "Diâmetro da Fresa:" +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" +msgstr "Diâ. da Fresa" -#: flatcamGUI/FlatCAMGUI.py:4914 +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 msgid "" "Diameter of the cutting tool\n" "when milling slots." @@ -7863,19 +8014,19 @@ msgstr "" "Diâmetro da ferramenta de corte\n" "quando fresar fendas (ranhuras)." -#: flatcamGUI/FlatCAMGUI.py:4926 +#: flatcamGUI/FlatCAMGUI.py:5168 msgid "Defaults" msgstr "Padrões" -#: flatcamGUI/FlatCAMGUI.py:4939 +#: flatcamGUI/FlatCAMGUI.py:5181 msgid "Excellon Adv. Options" msgstr "Opções Avançadas Excellon" -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" -msgstr "Opções Avançadas:" +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" +msgstr "Opções Avançadas" -#: flatcamGUI/FlatCAMGUI.py:4947 +#: flatcamGUI/FlatCAMGUI.py:5189 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." @@ -7883,11 +8034,11 @@ msgstr "" "Parâmetros usados para criar um objeto de Trabalho CNC\n" "para furação que são mostrados quando o nível do aplicativo for Avançado." -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" -msgstr "Ajuste de Altura:" +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" +msgstr "Deslocamento Z" -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" @@ -7898,20 +8049,20 @@ msgstr "" "ponta.\n" "Este valor pode compensar o parâmetro Profundidade de Corte Z." -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" -msgstr "Troca de ferramentas X,Y:" +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" +msgstr "Troca de ferra.s X,Y" -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 msgid "Toolchange X,Y position." msgstr "Posição X,Y para troca de ferramentas." -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 #: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" -msgstr "Altura Z Inicial:" +msgid "Start move Z" +msgstr "Altura Z Inicial" -#: flatcamGUI/FlatCAMGUI.py:4974 +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -7919,23 +8070,23 @@ msgstr "" "Altura da ferramenta antes de iniciar o trabalho.\n" "Exclua o valor se você não precisar deste recurso." -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" -msgstr "Altura Z Final:" +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" +msgstr "Altura Z Final" -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 msgid "" "Height of the tool after\n" "the last move at the end of the job." msgstr "Altura da ferramenta após o último movimento, no final do trabalho." -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" -msgstr "Taxa de Avanço Rápida:" +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" +msgstr "Taxa de Avanço Rápida" -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7948,13 +8099,13 @@ msgstr "" "Usado para movimento rápido G00.\n" "É útil apenas para Marlin. Ignore para outros casos." -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" -msgstr "Profundidade Z da Sonda:" +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" +msgstr "Profundidade Z da Sonda" -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -7962,21 +8113,21 @@ msgstr "" "Profundidade máxima permitida para a sonda.\n" "Valor negativo, em unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" -msgstr "Avanço da Sonda:" +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" +msgstr "Avanço da Sonda" -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 msgid "The feedrate used while the probe is probing." msgstr "Velocidade de Avanço usada enquanto a sonda está operando." -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/FlatCAMGUI.py:5263 msgid "Fast Plunge:" msgstr "Mergulho Rápido:" -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -7988,11 +8139,11 @@ msgstr "" "na velocidade mais rápida disponível.\n" "AVISO: o movimento é feito nas Coordenadas X,Y de troca de ferramentas." -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" -msgstr "Recolhimento Rápido:" +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" +msgstr "Recolhimento Rápido" -#: flatcamGUI/FlatCAMGUI.py:5034 +#: flatcamGUI/FlatCAMGUI.py:5276 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -8008,11 +8159,11 @@ msgstr "" "- Quando marcado, a subida da profundidade de corte para a altura de\n" " deslocamento é feita o mais rápido possível (G0) em um único movimento." -#: flatcamGUI/FlatCAMGUI.py:5053 +#: flatcamGUI/FlatCAMGUI.py:5295 msgid "Excellon Export" msgstr "Exportar Excellon" -#: flatcamGUI/FlatCAMGUI.py:5058 +#: flatcamGUI/FlatCAMGUI.py:5300 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -8020,11 +8171,11 @@ msgstr "" "Os parâmetros definidos aqui são usados no arquivo exportado\n" "ao usar a entrada de menu Arquivo -> Exportar -> Exportar Excellon." -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 msgid "The units used in the Excellon file." msgstr "A unidade usada no arquivo Excellon gerado." -#: flatcamGUI/FlatCAMGUI.py:5083 +#: flatcamGUI/FlatCAMGUI.py:5325 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -8036,11 +8187,11 @@ msgstr "" "Aqui é definido o formato usado quando as coordenadas\n" "fornecidas não usam ponto." -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" -msgstr "Formato:" +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" +msgstr "Formato" -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -8056,15 +8207,15 @@ msgstr "" "Deve ser especificado LZ (manter zeros à esquerda)\n" "ou TZ (manter zeros à direita)." -#: flatcamGUI/FlatCAMGUI.py:5128 +#: flatcamGUI/FlatCAMGUI.py:5370 msgid "Decimal" msgstr "Decimal" -#: flatcamGUI/FlatCAMGUI.py:5129 +#: flatcamGUI/FlatCAMGUI.py:5371 msgid "No-Decimal" msgstr "Não Decimal" -#: flatcamGUI/FlatCAMGUI.py:5155 +#: flatcamGUI/FlatCAMGUI.py:5397 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8076,11 +8227,11 @@ msgstr "" "LZ: mantém os zeros à esquerda e remove os zeros à direita.\n" "TZ: mantém os zeros à direita e remove os zeros à esquerda." -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" -msgstr "Tipo de Ranhura:" +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" +msgstr "Tipo de Ranhura" -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -8094,19 +8245,19 @@ msgstr "" "Se perfurado (G85) os slots serão exportados\n" "usando o comando Slot perfurado (G85)." -#: flatcamGUI/FlatCAMGUI.py:5175 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "Routed" msgstr "Roteado" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5418 msgid "Drilled(G85)" msgstr "Perfurado (G85)" -#: flatcamGUI/FlatCAMGUI.py:5208 +#: flatcamGUI/FlatCAMGUI.py:5450 msgid "A list of Excellon Editor parameters." msgstr "Parâmetros do Editor Excellon." -#: flatcamGUI/FlatCAMGUI.py:5218 +#: flatcamGUI/FlatCAMGUI.py:5460 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -8119,55 +8270,56 @@ msgstr "" "retângulo de seleção Aumenta o desempenho ao mover um\n" "grande número de elementos geométricos." -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" -msgstr "Novo Diâmetro:" +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" +msgstr "Novo Diâmetro" -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" -msgstr "Matriz Linear de Brocas:" +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" +msgstr "Nº de brocas" -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "Matriz Linear de Brocas" + +#: flatcamGUI/FlatCAMGUI.py:5499 msgid "Linear Dir.:" msgstr "Direção:" -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" -msgstr "Matriz Circular de Brocas:" +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +msgid "%s:" +msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" -msgstr "Sentido:" +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" +msgstr "Matriz Circular de Brocas" -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." -msgstr "" -"Sentido da matriz circular.\n" -"Pode ser CW = sentido horário ou CCW = sentido anti-horário." +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" +msgstr "Fendas" -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" -msgstr "Ângulo:" +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" +msgstr "Comprimento" -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" -msgstr "Ranhuras:" +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" +msgstr "Matriz Linear de Ranhuras" -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" -msgstr "Matriz Linear de Ranhuras:" +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" +msgstr "Nº de ranhuras" -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" -msgstr "Matriz Circular de Ranhuras:" +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" +msgstr "Matriz Circular de Ranhuras" -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5700 msgid "Geometry General" msgstr "Geometria Geral" -#: flatcamGUI/FlatCAMGUI.py:5477 +#: flatcamGUI/FlatCAMGUI.py:5719 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -8175,23 +8327,11 @@ msgstr "" "Número de etapas do círculo para a aproximação linear\n" "de Geometria círculo e arco." -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "Ferramentas:" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Diâmetros das ferramentas de corte, separadas por ','" - -#: flatcamGUI/FlatCAMGUI.py:5505 +#: flatcamGUI/FlatCAMGUI.py:5747 msgid "Geometry Options" msgstr "Opções de Geometria" -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr "Criar um Trabalho CNC:" - -#: flatcamGUI/FlatCAMGUI.py:5512 +#: flatcamGUI/FlatCAMGUI.py:5754 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -8201,7 +8341,7 @@ msgstr "" "traçando os contornos deste objeto\n" "Geometria." -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -8209,19 +8349,27 @@ msgstr "" "Profundidade de corte (negativo)\n" "abaixo da superfície de cobre." -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" -msgstr "Múltiplas Profundidades" +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" +msgstr "Multi-Profundidade" -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." -msgstr "Usar Múltiplas Profundidades." +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." +msgstr "" +"Use vários passes para limitar\n" +"a profundidade de corte em cada passagem. Vai\n" +"cortar várias vezes até o Corte Z é\n" +"alcançado." -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" -msgstr "Profundidade por Passe:" +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" +msgstr "Profundidade por Passe" -#: flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5788 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -8234,27 +8382,35 @@ msgstr "" "Tem valor positivo, embora seja uma fração\n" "da profundidade, que tem valor negativo." -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 msgid "" "Height of the tool when\n" "moving without cutting." msgstr "Altura da ferramenta ao mover sem cortar." -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" -msgstr "Taxa de Avanço XY:" +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Inclua a sequência de troca de ferramentas\n" +"no Código da Máquina (Pausa para troca de ferramentas)." -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "Taxa de Avanço X-Y" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 msgid "" "Cutting speed in the XY\n" "plane in units per minute" msgstr "Velocidade de corte no plano XY em unidades por minuto" -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" -msgstr "Taxa de Avanço Z:" +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" +msgstr "Taxa de Avanço Z" -#: flatcamGUI/FlatCAMGUI.py:5596 +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -8263,22 +8419,38 @@ msgstr "" "Velocidade de corte no plano Z em unidades por minuto.\n" "Também é chamado de Mergulho." -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" -msgstr "Velocidade do Spindle:" +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" +msgstr "Velocidade do Spindle" -#: flatcamGUI/FlatCAMGUI.py:5648 +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." -msgstr "Arquivo de pós-processamento que define o G-Code de saída." +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." +msgstr "" +"Velocidade do spindle em RPM (opcional).\n" +"Se o pós-processador LASER é usado,\n" +"este valor é a potência do laser." -#: flatcamGUI/FlatCAMGUI.py:5664 +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "Duração" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." +msgstr "" +"Arquivo de Pós-processamento que determina o código\n" +"de máquina de saída(como G-Code, RML, HPGL)." + +#: flatcamGUI/FlatCAMGUI.py:5919 msgid "Geometry Adv. Options" msgstr "Opções Avançadas" -#: flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamGUI/FlatCAMGUI.py:5926 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." @@ -8286,7 +8458,7 @@ msgstr "" "Parâmetros para criar um objeto de Trabalho CNC\n" "traçando os contornos de um objeto Geometria." -#: flatcamGUI/FlatCAMGUI.py:5691 +#: flatcamGUI/FlatCAMGUI.py:5946 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -8294,7 +8466,11 @@ msgstr "" "Altura da ferramenta ao iniciar o trabalho.\n" "Exclua o valor se você não precisar deste recurso." -#: flatcamGUI/FlatCAMGUI.py:5711 +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "Taxa de Avanço Rápido" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -8306,11 +8482,11 @@ msgstr "" "Para o movimento rápido G00.\n" "É útil apenas para Marlin, ignore em outros casos." -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 msgid "Re-cut 1st pt." msgstr "Re-cortar o primeiro ponto." -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -8321,11 +8497,15 @@ msgstr "" "do primeiro com o último corte, gera-se um corte\n" "próximo à primeira seção de corte." -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" -msgstr "Tamanho do Segmento X:" +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" +msgstr "Mergulho Rápido" -#: flatcamGUI/FlatCAMGUI.py:5766 +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "Tamanho do Segmento X" + +#: flatcamGUI/FlatCAMGUI.py:6020 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -8335,11 +8515,11 @@ msgstr "" "Útil para nivelamento automático.\n" "Valor 0 significa que não há segmentação no eixo X." -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" -msgstr "Tamanho do Segmento Y:" +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" +msgstr "Tamanho do Segmento Y" -#: flatcamGUI/FlatCAMGUI.py:5777 +#: flatcamGUI/FlatCAMGUI.py:6031 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -8349,15 +8529,15 @@ msgstr "" "Útil para nivelamento automático.\n" "Valor 0 significa que não há segmentação no eixo Y." -#: flatcamGUI/FlatCAMGUI.py:5793 +#: flatcamGUI/FlatCAMGUI.py:6047 msgid "Geometry Editor" msgstr "Editor de Geometria" -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6052 msgid "A list of Geometry Editor parameters." msgstr "Parâmetros do Editor de Geometria." -#: flatcamGUI/FlatCAMGUI.py:5808 +#: flatcamGUI/FlatCAMGUI.py:6062 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -8369,20 +8549,20 @@ msgstr "" "Acima desse valor a geometria se torna um retângulo de seleção.\n" "Aumenta o desempenho ao mover um grande número de elementos geométricos." -#: flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/FlatCAMGUI.py:6081 msgid "CNC Job General" msgstr "Trabalho CNC Geral" -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 msgid "Plot Object" msgstr "Mostrar" -#: flatcamGUI/FlatCAMGUI.py:5847 +#: flatcamGUI/FlatCAMGUI.py:6099 msgid "Plot kind:" msgstr "Tipo de Gráfico:" -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -8393,15 +8573,15 @@ msgstr "" "Pode ser do tipo 'Deslocamento', com os movimentos acima da peça, do\n" "tipo 'Corte', com os movimentos cortando o material ou ambos." -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 msgid "Travel" msgstr "Desloc." -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" -msgstr "Exibir Anotação:" +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" +msgstr "Exibir Anotação" -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -8411,23 +8591,23 @@ msgstr "" "Quando marcado, exibirá números para cada final\n" "de uma linha de deslocamento." -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" -msgstr "Tamanho da Fonte:" +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" +msgstr "Tamanho da Fonte" -#: flatcamGUI/FlatCAMGUI.py:5882 +#: flatcamGUI/FlatCAMGUI.py:6134 msgid "The font size of the annotation text. In pixels." msgstr "O tamanho da fonte do texto de anotação, em pixels." -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" -msgstr "Cor da Anotação:" +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" +msgstr "Cor da Anotação" -#: flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/FlatCAMGUI.py:6144 msgid "Set the font color for the annotation texts." msgstr "Define a cor da fonte para os textos de anotação." -#: flatcamGUI/FlatCAMGUI.py:5915 +#: flatcamGUI/FlatCAMGUI.py:6167 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -8435,17 +8615,17 @@ msgstr "" "O número de etapas de círculo para G-Code.\n" "Aproximação linear para círculos e formas de arco." -#: flatcamGUI/FlatCAMGUI.py:5925 +#: flatcamGUI/FlatCAMGUI.py:6177 msgid "" "Diameter of the tool to be\n" "rendered in the plot." msgstr "Diâmetro da ferramenta a ser renderizada no gráfico." -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" -msgstr "Decimais das Coord.:" +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." +msgstr "Decimais das Coord." -#: flatcamGUI/FlatCAMGUI.py:5935 +#: flatcamGUI/FlatCAMGUI.py:6187 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -8453,11 +8633,11 @@ msgstr "" "Número de decimais a ser usado para as coordenadas\n" "X, Y, Z no código do CNC (G-Code, etc.)" -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" -msgstr "Decimais do Avanço:" +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." +msgstr "Decimais do Avanço" -#: flatcamGUI/FlatCAMGUI.py:5945 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -8465,16 +8645,16 @@ msgstr "" "O número de decimais a ser usado para o parâmetro\n" "Taxa de Avanço no código CNC (G-Code, etc.)" -#: flatcamGUI/FlatCAMGUI.py:5960 +#: flatcamGUI/FlatCAMGUI.py:6212 msgid "CNC Job Options" msgstr "Opções de Trabalho CNC" -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" -msgstr "Exportar G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" +msgstr "Exportar G-Code" -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -8482,11 +8662,11 @@ msgstr "" "Exporta e salva em arquivo\n" "o G-Code para fazer este objeto." -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" -msgstr "Incluir no Início do G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" +msgstr "Incluir no Início do G-Code" -#: flatcamGUI/FlatCAMGUI.py:5973 +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -8494,11 +8674,11 @@ msgstr "" "Digite aqui os comandos G-Code que você gostaria\n" "de adicionar no início do arquivo G-Code gerado." -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" -msgstr "Incluir no final do G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" +msgstr "Incluir no final do G-Code" -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -8508,31 +8688,46 @@ msgstr "" "de adicionar no final do arquivo G-Code gerado.\n" "M2 (Fim do programa)" -#: flatcamGUI/FlatCAMGUI.py:6001 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "CNC Job Adv. Options" msgstr "Opções Avançadas" -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" -msgstr "G-Code para Troca de Ferramentas:" +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" +msgstr "Exportar Código CNC" -#: flatcamGUI/FlatCAMGUI.py:6014 +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "G-Code para Troca de Ferra." + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" "This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." msgstr "" -"Digite aqui os comandos do G-Code que você gostaria de executar\n" -"quando o evento Troca de Ferramentas for encontrado.\n" -"É um G-Code personalizado para Troca de Ferramentas\n" -"ou uma Macro de Troca de Ferramentas." +"Digite aqui os comandos do G-Code G que você gostaria de executar quando o " +"evento do Troca de Ferramentas for encontrado.\n" +"Ele será um G-Code personalizado para Troca de Ferramentas,\n" +"ou uma Macro.\n" +"As variáveis do FlatCAM são circundadas pelo símbolo '%'.\n" +"\n" +"ATENÇÃO: pode ser usado apenas com um arquivo de pós-processamento\n" +"que tenha 'toolchange_custom' em seu nome e este é construído tendo\n" +"como modelo o arquivo de pós-processamento 'Customização da troca de " +"ferramentas'." -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 msgid "Use Toolchange Macro" msgstr "Usar Macro de Troca de Ferramentas" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -8540,7 +8735,7 @@ msgstr "" "Marque esta caixa se você quiser usar a macro G-Code para Troca de " "Ferramentas." -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -8550,67 +8745,115 @@ msgstr "" "no evento Troca de Ferramentas.\n" "Elas devem estar cercadas pelo símbolo '%'" -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 -msgid "Parameters" -msgstr "Parâmetros" - -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "Parâmetros do FlatCAM CNC" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "tool = número da ferramenta" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "tooldia = diâmetro da ferramenta" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = para Excellon, número total de brocas" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = coord. X para troca de ferramentas" -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = coord. Y para troca de ferramentas" -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "z_toolchange = coord. Z para troca de ferramentas" -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "z_cut = profundidade Z para o corte" -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "z_move = altura Z para deslocamentos" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut = valor do passe para corte múltiplas profundidade" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed = velocidade do spindle" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "dwelltime = tempo de espera para o spindle atingir sua vel. RPM" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "Opções Área Sem Cobre (NCC)" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" -msgstr "Diâmetro da Ferramenta:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." +msgstr "" +"Cria um objeto Geometria com caminho de ferramenta\n" +"para cortar todas as regiões que não são de cobre." -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "Diâ. da Ferra." + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "Ordem de Ferramenta" + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" +"Isso define o modo como as ferramentas na tabela de ferramentas são usadas.\n" +"'Não' -> significa que a ordem usada é aquela na tabela de ferramentas\n" +"'Forward' -> significa que as ferramentas serão encomendadas de pequenas a " +"grandes\n" +"'Reverso' -> menas que as ferramentas serão encomendadas de grande a " +"pequena\n" +"\n" +"ATENÇÃO: usando a usinagem de descanso irá definir automaticamente a ordem\n" +"em reverso e desative este controle." + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "Para frente" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "Reverso" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "Taxa de Sobreposição" + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8635,12 +8878,23 @@ msgstr "" "Valores maiores = processamento lento e execução lenta no CNC devido\n" " ao número de caminhos." -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "Margem" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "Margem da caixa delimitadora." -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "Método" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -8650,18 +8904,29 @@ msgstr "" "
Baseado em semente: para fora a partir de uma semente." "
Baseado em linha: linhas paralelas." -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" -msgstr "Maquinagem Restante:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" +msgstr "Conectar" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "Contorno" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "Maquinagem Restante" + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" "Se marcada, usa 'usinagem de descanso'.\n" @@ -8671,13 +8936,9 @@ msgstr "" "retiradas com a ferramenta anterior.\n" "Se não estiver marcada, usa o algoritmo padrão." -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "Deslocamento:" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8689,40 +8950,52 @@ msgstr "" "dos recursos de cobre.\n" "O valor pode estar entre 0 e 10 unidades FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" -msgstr "Valor de deslocamento:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" +msgstr "Valor de deslocamento" -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "Se" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" -msgstr "Caixa" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" +msgstr "Área" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" -msgstr "Referência:" +#: flatcamGUI/FlatCAMGUI.py:6489 +#| msgid "Ref." +msgid "Ref" +msgstr "Ref" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "Referência" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Ao escolher a opção 'Se', a extensão de compensação não cobre\n" +"- 'Se' - a extensão de limpeza não cobre\n" "é baseado no objeto que é cobre limpo.\n" -"Escolhendo a opção de 'Caixa' fará limpeza de cobre não dentro da caixa\n" -"especificado por outro objeto diferente daquele que é o cobre limpo." +"  - 'Seleção de Área' - clique com o botão esquerdo do mouse para iniciar a " +"seleção da área a ser pintada.\n" +"Manter uma tecla modificadora pressionada (CTRL ou SHIFT) permitirá " +"adicionar várias áreas.\n" +"- 'Objeto de Referência' - fará limpeza não de cobre dentro da área\n" +"especificado por outro objeto." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "Opções da Ferramenta de Recorte" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -8731,11 +9004,17 @@ msgstr "" "Cria caminhos da ferramenta para cortar\n" "o PCB e separá-lo da placa original." -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" -msgstr "Tipo de obj:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." +msgstr "Diâmetro da ferramenta usada para cortar o entorno do PCB." -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "Tipo de obj" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -8747,45 +9026,49 @@ msgstr "" "PCB Gerber objeto, que é feito\n" "fora de muitos contornos PCB individuais." -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "Único" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "Painel" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -"Distância dos objetos\n" -"para desenhar o recorte." +"Margem além das bordas. Um valor positivo\n" +"tornará o recorte do PCB mais longe da borda da PCB" -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" -msgstr "Tamanho da Ponte:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" +msgstr "Tamanho da Ponte" -#: flatcamGUI/FlatCAMGUI.py:6276 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." msgstr "" -"Tamanho das pontes no caminho da ferramenta\n" -"que permanecerão para manter a placa no lugar." +"Tamanho das pontes no recorte, utilizadas\n" +"para manter a placa conectada ao material\n" +"circundante (de onde o PCB é recortado)." -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" -msgstr "Pontes:" +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" +msgstr "Pontes" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6571 msgid "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8796,6 +9079,7 @@ msgstr "" "Número de pontes utilizadas para o recorte.\n" "Pode haver um máximo de 8 pontes/lacunas.\n" "As opções são:\n" +"- Nenhum - sem lacunas\n" "- LR: esquerda + direita\n" "- TB: topo + baixo\n" "- 4: esquerda + direita + topo + baixo\n" @@ -8803,19 +9087,23 @@ msgstr "" "- 2TB: 2*topo + 2*baixo\n" "- 8: 2*esquerda + 2*direita + 2*topo + 2*baixo" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" -msgstr "Forma Convexa:" +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." +msgstr "Forma Convexa" -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." -msgstr "Crie uma forma convexa ao redor de toda a PCB." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." +msgstr "" +"Cria uma forma convexa ao redor de toda a PCB.\n" +"Utilize somente se o tipo de objeto de origem for Gerber." -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "Opções de PCB 2 Faces" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -8823,45 +9111,53 @@ msgstr "" "Uma ferramenta para ajudar na criação de um\n" "PCB de dupla face usando furos de alinhamento." -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" -msgstr "Diâmetro da Broca:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" +msgstr "Diâ. da Broca" -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Diâmetro da broca para os furos de alinhamento." -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Espelhar Eixo:" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Espelha verticalmente (X) ou horizontalmente (Y)." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Ponto" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" -msgstr "Eixo de Referência:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" +msgstr "Caixa" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "Eixo de Ref." + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" -"O eixo deve passar por um ponto ou cortar\n" -"no meio uma caixa especificada (em um objeto Geometria)." +"O eixo deve passar por um ponto ou cortar o centro de uma caixa especificada (em um objeto FlatCAM)." -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "Opções de Ferramenta de Pintura" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "Parâmetros:" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -8872,31 +9168,41 @@ msgstr "" "inteira de um polígono (remove todo o cobre).\n" "Você será solicitado a clicar no polígono desejado." -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "Seleção" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Quanta (fração) da largura da ferramenta\n" -"para sobrepor a cada passe." +"Como selecionar polígonos a serem pintados.\n" +"\n" +"- 'Seleção de Área' - clique com o botão esquerdo do mouse para iniciar a " +"seleção da área a ser pintada.\n" +"Manter uma tecla modificadora pressionada (CTRL ou SHIFT) permitirá " +"adicionar várias áreas.\n" +"- 'Todos os polígonos' - o Paint será iniciado após o clique.\n" +"- 'Objeto de Referência' - fará limpeza não de cobre dentro da área\n" +"especificado por outro objeto." -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" -msgstr "Seleção:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." +msgstr "Ref." -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "Como selecionar os polígonos para pintar." - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "Área" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "Opções da Ferramenta de Filme" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -8906,11 +9212,11 @@ msgstr "" "ou Geometria FlatCAM.\n" "O arquivo é salvo no formato SVG." -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "Tipo de Filme:" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -8926,11 +9232,11 @@ msgstr "" "em branco em uma tela preta.\n" "O formato do arquivo do filme é SVG ." -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" -msgstr "Borda:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" +msgstr "Borda" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -8950,11 +9256,11 @@ msgstr "" "brancos como o restante e podem ser confundidos\n" "com os limites, se não for usada essa borda)." -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" -msgstr "Espessura da Linha:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" +msgstr "Espessura da Linha" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -8965,11 +9271,11 @@ msgstr "" "A linha que envolve cada recurso SVG será mais espessa ou mais fina.\n" "Os recursos mais finos podem ser afetados por esse parâmetro." -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "Opções da Ferramenta Criar Painel" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -8979,11 +9285,11 @@ msgstr "" "Cada elemento é uma cópia do objeto de origem espaçado\n" "dos demais por uma distância X, Y." -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" -msgstr "Espaço entre Colunas:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" +msgstr "Espaço entre Colunas" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -8991,11 +9297,11 @@ msgstr "" "Espaçamento desejado entre colunas do painel.\n" "Nas unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" -msgstr "Espaço entre Linhas:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" +msgstr "Espaço entre Linhas" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -9003,35 +9309,35 @@ msgstr "" "Espaçamento desejado entre linhas do painel.\n" "Nas unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" -msgstr "Colunas:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" +msgstr "Colunas" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Número de colunas do painel desejado" -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" -msgstr "Linhas:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" +msgstr "Linhas" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Número de linhas do painel desejado" -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Geo" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" -msgstr "Tipo de Painel:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" +msgstr "Tipo de Painel" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -9041,11 +9347,11 @@ msgstr "" "- Gerber\n" "- Geometria" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" -msgstr "Restringir dentro de:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" +msgstr "Restringir dentro de" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -9059,11 +9365,11 @@ msgstr "" "o painel final terá tantas colunas e linhas quantas\n" "couberem completamente dentro de área selecionada." -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" -msgstr "Largura (DX):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" +msgstr "Largura (DX)" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -9071,11 +9377,11 @@ msgstr "" "A largura (DX) na qual o painel deve caber.\n" "Nas unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" -msgstr "Altura (DY):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" +msgstr "Altura (DY)" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -9083,15 +9389,15 @@ msgstr "" "A altura (DY) na qual o painel deve se ajustar.\n" "Nas unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "Opções das Calculadoras" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" -msgstr "Calculadora Ferramenta Ponta-em-V:" +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" +msgstr "Calculadora Ferramenta Ponta-em-V" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -9101,11 +9407,11 @@ msgstr "" "ferramenta em forma de V, com o diâmetro da ponta, o ângulo da ponta e a\n" "profundidade de corte como parâmetros." -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" -msgstr "Diâmetro da Ponta:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" +msgstr "Diâ. da Ponta" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -9113,11 +9419,11 @@ msgstr "" "Diâmetro da ponta da ferramenta.\n" "Especificado pelo fabricante." -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" -msgstr "Ângulo da Ponta:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" +msgstr "Ângulo da Ponta" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -9125,7 +9431,7 @@ msgstr "" "Ângulo na ponta da ferramenta.\n" "Especificado pelo fabricante." -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -9133,11 +9439,11 @@ msgstr "" "Profundidade para cortar o material.\n" "No objeto CNC, é o parâmetro Profundidade de Corte (z_cut)." -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" -msgstr "Calculadora ElectroPlating:" +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" +msgstr "Calculadora Eletrolítica" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -9147,27 +9453,27 @@ msgstr "" "(via/pad/broca) usando um método como tinta grahite ou tinta \n" "hipofosfito de cálcio ou cloreto de paládio." -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" -msgstr "Comprimento da Placa:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" +msgstr "Comprimento da Placa" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "Comprimento da placa, em centímetros." -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" -msgstr "Largura da Placa:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" +msgstr "Largura da Placa" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "Largura da placa, em centímetros." -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" -msgstr "Densidade de Corrente:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" +msgstr "Densidade de Corrente" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -9175,21 +9481,21 @@ msgstr "" "Densidade de corrente para passar pela placa.\n" "Em Ampères por Pés Quadrados ASF." -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" -msgstr "Espessura do Cobre:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" +msgstr "Espessura do Cobre" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." msgstr "Espessura da camada de cobre, em microns." -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "Opções Transformações" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -9197,47 +9503,35 @@ msgstr "" "Várias transformações que podem ser aplicadas\n" "a um objeto FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" -msgstr "Ângulo de Giro:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" +msgstr "Ângulo de Giro" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." -msgstr "Ângulo de rotação, em graus." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" +msgstr "Ângulo de Inclinação X" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" -msgstr "Ângulo de Inclinação X:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" +msgstr "Ângulo de Inclinação Y" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." -msgstr "Ângulo de inclinação no eixo X, em graus." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" +msgstr "Fator de Escala X" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "Ângulo de Inclinação Y:" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "Ângulo de inclinação no eixo X, em graus." - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "Fator de Escala X:" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Fator para redimensionamento no eixo X." -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" -msgstr "Fator de Escala Y:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" +msgstr "Fator de Escala Y" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Fator para redimensionamento no eixo Y." -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -9245,7 +9539,7 @@ msgstr "" "Redimensiona o(s) objeto(s) selecionado(s)\n" "usando o Fator de Escala X para ambos os eixos." -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -9256,27 +9550,27 @@ msgstr "" "de origem quando marcado, e o centro da maior caixa delimitadora\n" "do objeto selecionado quando desmarcado." -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" -msgstr "Deslocamento X:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" +msgstr "Deslocamento X" -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Distância para deslocar no eixo X, nas unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" -msgstr "Deslocamento Y:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" +msgstr "Deslocamento Y" -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Distância para deslocar no eixo Y, nas unidades atuais." -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Referência de Espelho" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9297,11 +9591,11 @@ msgstr "" "- ou digitar as coordenadas no formato (x, y) no campo\n" " Ponto de Ref. e clicar em Espelhar no X(Y)" -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" -msgstr "Ponto Ref. Espelho:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" +msgstr "Ponto Ref. Espelho" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -9311,11 +9605,11 @@ msgstr "" "O 'x' em (x, y) será usado ao usar Espelhar em X e\n" "o 'y' em (x, y) será usado ao usar Espelhar em Y." -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "Opções da Ferramenta Pasta de Solda" -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -9323,48 +9617,48 @@ msgstr "" "Uma ferramenta para criar G-Code para dispensar pasta\n" "de solda em um PCB." -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "Diâmetros dos bicos, separados por ','" -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" -msgstr "Diâmetro do Novo Bico:" +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" +msgstr "Diâ. do Novo Bico" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Diâmetro da nova ferramenta Bico para adicionar na tabela de ferramentas" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" -msgstr "Altura Inicial:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" +msgstr "Altura Inicial" -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "A altura (Z) que inicia a distribuição de pasta de solda." -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" -msgstr "Altura para Distribuir:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" +msgstr "Altura para Distribuir" -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "Altura (Z) para distribuir a pasta de solda." -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" -msgstr "Altura Final:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" +msgstr "Altura Final" -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "Altura (Z) após a distribuição de pasta de solda." -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" -msgstr "Altura para Deslocamento:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" +msgstr "Altura para Deslocamento" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -9372,19 +9666,19 @@ msgstr "" "Altura (Z) para deslocamento entre pads\n" "(sem dispensar pasta de solda)." -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" -msgstr "Altura Troca de Ferram.:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" +msgstr "Altura Troca de Ferram." -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "Altura (Z) para trocar ferramenta (bico)." -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" -msgstr "XY Troca de Ferra.:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" +msgstr "Troca de ferra. X-Y" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -9392,19 +9686,19 @@ msgstr "" "Posição X,Y para trocar ferramenta (bico).\n" "O formato é (x, y) onde x e y são números reais." -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" -msgstr "Avanço XY:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" +msgstr "Avanço X-Y" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Avanço (velocidade) para movimento no plano XY." -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" -msgstr "Avanço Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" +msgstr "Avanço Z" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -9412,11 +9706,11 @@ msgstr "" "Avanço (velocidade) para movimento vertical\n" "(no plano Z)." -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" -msgstr "Avanço Z Distribuição:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" +msgstr "Avanço Z Distribuição" -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -9424,11 +9718,11 @@ msgstr "" "Avanço (velocidade) para subir verticalmente\n" "para a posição Dispensar (no plano Z)." -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" -msgstr "Velocidade Spindle FWD:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" +msgstr "Velocidade Spindle FWD" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -9436,19 +9730,19 @@ msgstr "" "A velocidade do dispensador ao empurrar a pasta de solda\n" "através do bico do distribuidor." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" -msgstr "Espera FWD:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" +msgstr "Espera FWD" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Pausa após a dispensação de solda." -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" -msgstr "Velocidade Spindle REV:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" +msgstr "Velocidade Spindle REV" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -9456,11 +9750,11 @@ msgstr "" "A velocidade do dispensador enquanto retrai a pasta de solda\n" "através do bico do dispensador." -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" -msgstr "Espera REV:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" +msgstr "Espera REV" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -9468,19 +9762,20 @@ msgstr "" "Pausa após o dispensador de pasta de solda retrair, para permitir o " "equilíbrio de pressão." -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" -msgstr "Pós-processador:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" +msgstr "Pós-processador" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Arquivos que controlam a geração de G-Code." -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "Opções das ferramenta Substractor" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -9488,25 +9783,25 @@ msgstr "" "Uma ferramenta para subtrair um objeto Gerber ou Geometry\n" "de outro do mesmo tipo." -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Fechar caminhos" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Marcar isso fechará os caminhos cortados pelo objeto substractor Geometry." -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "Ocioso." -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "Aplicativo iniciado ..." -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "Olá!" @@ -9532,17 +9827,13 @@ msgstr "" "Editar -> Preferências -> Geral e verificar\n" "o botão de rádio 'Nível do Aplicativo\"." -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr "Escala:" - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "Altera o tamanho do objeto." #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" -msgstr "Fator:" +msgid "Factor" +msgstr "Fator" #: flatcamGUI/ObjectUI.py:91 msgid "" @@ -9556,17 +9847,13 @@ msgstr "" msgid "Perform scaling operation." msgstr "Realiza a operação de dimensionamento." -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "Deslocamento:" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "Altera a posição deste objeto." #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" -msgstr "Vetor:" +msgid "Vector" +msgstr "Vetor" #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -9585,9 +9872,9 @@ msgid "Gerber Object" msgstr "Objeto Gerber" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" -msgstr "Nome:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" +msgstr "Nome" #: flatcamGUI/ObjectUI.py:203 msgid "" @@ -9630,17 +9917,9 @@ msgstr "" "atual do recurso Gerber, use um valor negativo para\n" "este parâmetro." -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "Passes:" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "Combinar" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" -msgstr "Gerar Geometria de Isolação:" +msgid "Generate Isolation Geometry" +msgstr "Gerar Geometria de Isolação" #: flatcamGUI/ObjectUI.py:325 msgid "" @@ -9704,10 +9983,10 @@ msgstr "" "de isolação contendo somente a geometria interna." #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" -msgstr "Limpa N-cobre:" +msgid "Clear N-copper" +msgstr "Limpa N-cobre" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -9716,10 +9995,10 @@ msgstr "" "para roteamento sem cobre." #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" -msgstr "Recorte da placa:" +msgid "Board cutout" +msgstr "Recorte da placa" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "Ferramenta de Recorte" @@ -9729,35 +10008,9 @@ msgid "" "the board cutout." msgstr "Gera a geometria para o recorte da placa." -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr "Regiões sem cobre:" - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" -"Criar polígonos cobrindo as\n" -"áreas sem cobre no PCB.\n" -"Equivalente ao inverso do\n" -"objeto. Pode ser usado para remover todo o\n" -"cobre de uma região especificada." - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "Geo Arredondado" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "A geometria resultante terá cantos arredondados." - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Gerar Geo" @@ -9781,22 +10034,10 @@ msgstr "Objeto Excellon" msgid "Solid circles." msgstr "Círculos preenchidos ou vazados." -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr "Tabela de Ferramentas" - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "Furos" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "Fendas" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "Deslocamento Z" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -9808,7 +10049,7 @@ msgstr "" " será mostrado como T1, T2 ... Tn no Código da Máquina." #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -9842,57 +10083,11 @@ msgid "" "for this drill object." msgstr "Cria um objeto de trabalho CNC para a furação." -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" -msgstr "Troca de ferramentas" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" +msgstr "Altura para a troca" -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" -msgstr "Altura para a troca:" - -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "Posição do eixo Z (altura) para a troca de ferramenta." - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Altura da ferramenta antes de iniciar o trabalho.\n" -"Exclua o valor se você não precisar deste recurso." - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "Altura da ferramenta após o último movimento, no final do trabalho." - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "Avanço (Mergulho):" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" -"Velocidade da ferramenta durante a perfuração\n" -"(em unidades por minuto).\n" -"Para movimento linear G01." - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" -"O arquivo de pós-processamento (json) que define\n" -"a saída G-Code." - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." @@ -9900,11 +10095,7 @@ msgstr "" "Selecione na Tabela de Ferramentas acima\n" "as ferramentas que você deseja incluir." -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr "Tipo: " - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -9916,15 +10107,15 @@ msgstr "" "Quando escolher 'Fendas' ou 'Ambos', as fendas serão\n" "convertidas em uma série de brocas." -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "Criar G-Code" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "Gera o arquivo G-Code para o CNC." -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." @@ -9932,15 +10123,11 @@ msgstr "" "Selecione na Tabela de Ferramentas acima\n" "os diâmetros dos furo que serão fresados." -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "Diâmetro da Broca:" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "Geo Furos" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -9948,10 +10135,6 @@ msgstr "" "Cria o Objeto Geometria com\n" "os caminhos da ferramenta de FUROS." -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "Diâmetro da Fresa:" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "Geo Fendas" @@ -9998,12 +10181,12 @@ msgstr "" "de Corte é calculada automaticamente a partir das entradas do\n" "formulário da interface do usuário e do Ângulo da Ponta-V." -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "Dia" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TF" @@ -10107,8 +10290,8 @@ msgstr "" "para a ferramenta correspondente." #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" -msgstr "Deslocamento:" +msgid "Tool Offset" +msgstr "Deslocamento" #: flatcamGUI/ObjectUI.py:951 msgid "" @@ -10122,12 +10305,13 @@ msgstr "" "O valor pode ser positivo para corte 'por fora'\n" "e negativo para corte 'por dentro'." -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" -msgstr "Dia Ferramenta:" +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" +msgstr "Diâmetro da Ferramenta" -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -10152,8 +10336,8 @@ msgstr "" "primeiro uma linha na Tabela de Ferramentas." #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" -msgstr "Dados da Ferramenta" +msgid "Tool Data" +msgstr "Diâ. da Ferra." #: flatcamGUI/ObjectUI.py:1028 msgid "" @@ -10164,16 +10348,16 @@ msgstr "" "Cada loja de ferramentas possui seu próprio conjunto de dados." #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" -msgstr "Diâmetro Ponta-V:" +msgid "V-Tip Dia" +msgstr "Diâmetro Ponta-V" #: flatcamGUI/ObjectUI.py:1049 msgid "The tip diameter for V-Shape Tool" msgstr "O diâmetro da ponta da ferramenta em forma de V" #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" -msgstr "Ângulo Ponta-V:" +msgid "V-Tip Angle" +msgstr "Ângulo Ponta-V" #: flatcamGUI/ObjectUI.py:1060 msgid "" @@ -10181,102 +10365,11 @@ msgid "" "In degree." msgstr "O ângulo da ponta da ferramenta em forma de V, em graus." -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "Multi-Profundidade:" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" -"Usa vários passes para limitar a profundidade de corte\n" -"em cada passagem. Será cortado várias vezes até que a\n" -"Profundidade de Corte Z seja atingida.\n" -"Insira a profundidade de cada passe (valor positivo)." - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "Profundidade de cada passe (positivo)." -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Inclua a sequência de troca de ferramentas\n" -"no Código da Máquina (Pausa para troca de ferramentas)." - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" -"Esta é a altura (Z) em que o CNC\n" -"vai após o último movimento." - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "Taxa de Avanço Z (Mergulho):" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" -"Velocidade de corte no plano Z\n" -"em unidades por minuto" - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "Taxa de Avanço Rápido:" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Velocidade de corte no plano XY\n" -"em unidades por minuto\n" -"Usado para o movimento rápido G00.\n" -"É útil apenas para Marlin,\n" -"ignore para outros casos." - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "Cut over 1st pt" - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" -"Velocidade do spindle em RPM (opcional).\n" -"Se o pós-processador LASER é usado,\n" -"este valor é a potência do laser." - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "Pós-processador:" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" -"Arquivo de Pós-processamento que determina o código\n" -"de máquina de saída(como G-Code, RML, HPGL)." - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -10286,39 +10379,35 @@ msgstr "" "Clique no cabeçalho para selecionar todos ou Ctrl + Botão Esquerdo do Mouse\n" "para seleção personalizada de ferramentas." -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "Gerar" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "Gera o objeto de Trabalho CNC." -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" -msgstr "Área de Pintura:" +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" +msgstr "Área de Pintura" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "Inicia a ferramenta de pintura na guia Ferramentas." -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "Objeto de Trabalho CNC" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" -msgstr "Tipo de Gráfico:" +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" +msgstr "Tipo de Gráfico" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" -msgstr "Exibir Anotação:" +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." +msgstr "Dist. percorrida" -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr "Dist. percorrida:" - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -10326,11 +10415,11 @@ msgstr "" "Essa é a distância total percorrida no plano XY,\n" "nas unidades atuais." -#: flatcamGUI/ObjectUI.py:1406 -msgid "Estimated time:" -msgstr "Duração estimada:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" +msgstr "Duração estimada" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -10338,11 +10427,11 @@ msgstr "" "Este é o tempo estimado para fazer o roteamento / perfuração,\n" "sem o tempo gasto em eventos de Alteração de Ferramentas." -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" -msgstr "Tabela de Ferramentas CNC" +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" +msgstr "Tabela de Ferra. CNC" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -10365,84 +10454,49 @@ msgstr "" "O 'Tipo de Ferramenta' (TF) pode ser circular com 1 a 4 dentes (C1..C4),\n" "bola (B) ou Em forma de V (V)." -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "Atualizar Gráfico" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "Atualiza o gráfico." -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" -msgstr "Exportar Código CNC:" +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" +msgstr "Incluir no Início do Código CNC" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" -msgstr "Incluir no Início do Código CNC:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" +msgstr "Incluir no Final do Código CNC" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" -"Digite aqui comandos G-Code que você gostaria de adicionar ao início do " -"arquivo gerado." - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "Incluir no Final do Código CNC:" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" -"Digite aqui os comandos do G-Code G que você gostaria de executar quando o " -"evento do Troca de Ferramentas for encontrado.\n" -"Ele será um G-Code personalizado para Troca de Ferramentas,\n" -"ou uma Macro.\n" -"As variáveis do FlatCAM são circundadas pelo símbolo '%'.\n" -"\n" -"ATENÇÃO: pode ser usado apenas com um arquivo de pós-processamento\n" -"que tenha 'toolchange_custom' em seu nome e este é construído tendo\n" -"como modelo o arquivo de pós-processamento 'Customização da troca de " -"ferramentas'." - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "z_cut = profundidade de corte" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "z_move = altura para deslocamentos" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "Ver Código CNC" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." msgstr "Abre uma ABA para visualizar/modificar/imprimir o arquivo G-Code." -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "Salvar Código CNC" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -10452,18 +10506,10 @@ msgstr "Abre o diálogo para salvar o arquivo G-Code." msgid "Calculators" msgstr "Calculadoras" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "Calculadora Ferramenta Ponta-em-V" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "Calculadora de Unidades" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "Calculadora Eletrolítica" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "Aqui você insere o valor a ser convertido de polegadas para mm" @@ -10472,19 +10518,7 @@ msgstr "Aqui você insere o valor a ser convertido de polegadas para mm" msgid "Here you enter the value to be converted from MM to INCH" msgstr "Aqui você insere o valor a ser convertido de mm para polegadas" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" -"Diâmetro da ponta da ferramenta.\n" -"Especificado pelo fabricante." - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "Ângulo da Ponta:" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -10492,7 +10526,7 @@ msgstr "" "Ângulo da ponta da ferramenta.\n" "Especificado pelo fabricante." -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -10500,11 +10534,11 @@ msgstr "" "Esta é a profundidade para cortar material.\n" "No Trabalho CNC é o parâmetro Corte Z." -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" -msgstr "Diâmetro da ferramenta:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" +msgstr "Diâ. da ferra." -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -10514,11 +10548,11 @@ msgstr "" "FlatCAM Gerber.\n" "Na seção Trabalho CNC é chamado de Diâmetro da Ferramenta." -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "Calcular" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -10526,11 +10560,11 @@ msgstr "" "Calcula a Profundidade de Corte Z ou o diâmetro efetivo da\n" "ferramenta, dependendo do que é desejado e do que é conhecido." -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" -msgstr "Valor da Corrente:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" +msgstr "Valor da Corrente" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -10538,17 +10572,17 @@ msgstr "" "Este é o valor de intensidade de corrente\n" "a ser ajustado na fonte de alimentação. Em Ampères." -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" -msgstr "Tempo:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" +msgstr "Tempo" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." msgstr "Tempo calculado necessário para o procedimento, em minutos." -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -10556,7 +10590,7 @@ msgstr "" "Calcula o valor da intensidade atual e o tempo do\n" "procedimento, dependendo dos parâmetros acima" -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "Calculadoras" @@ -10564,9 +10598,10 @@ msgstr "Calculadoras" msgid "Cutout PCB" msgstr "Recorte PCB" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" -msgstr "Tipo de Objeto:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" +msgstr "Tipo de Objeto" #: flatcamTools/ToolCutOut.py:56 msgid "" @@ -10580,47 +10615,19 @@ msgstr "" "O que estiver selecionado aqui irá ditar o tipo\n" "de objetos que preencherão a caixa de combinação 'Objeto'." -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" -msgstr "Objeto:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" +msgstr "Objeto" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "Objeto a ser recortado." -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "Diâmetro da ferramenta usada para cortar o entorno do PCB." - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" -"Margem além das bordas. Um valor positivo\n" -"tornará o recorte do PCB mais longe da borda da PCB" - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" -"Tamanho das pontes no recorte, utilizadas\n" -"para manter a placa conectada ao material\n" -"circundante (de onde o PCB é recortado)." - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." -msgstr "" -"Cria uma forma convexa ao redor de toda a PCB.\n" -"Utilize somente se o tipo de objeto de origem for Gerber." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" +msgstr "Tamanho da Ponte:" #: flatcamTools/ToolCutOut.py:138 msgid "A. Automatic Bridge Gaps" @@ -10635,6 +10642,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10645,6 +10653,7 @@ msgstr "" "Número de pontes utilizadas no recorte automático.\n" "Pode haver um máximo de 8 pontes/lacunas.\n" "As opções são:\n" +"- Nenhum - sem lacunas\n" "- LR - esquerda + direita\n" "- TB - topo + baixo\n" "- 4 - esquerda + direita + topo + baixo\n" @@ -10652,11 +10661,11 @@ msgstr "" "- 2TB - 2*topo + 2*baixo\n" "- 8 - 2*esquerda + 2*direita + 2*topo + 2*baixo" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" -msgstr "Forma Livre:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" +msgstr "Forma Livre" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." @@ -10664,7 +10673,7 @@ msgstr "" "O recorte pode ter qualquer forma.\n" "Útil quando o PCB tem uma forma não retangular." -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -10674,11 +10683,11 @@ msgstr "" "O recorte pode ter qualquer forma.\n" "Útil quando o PCB tem uma forma não retangular." -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" -msgstr "Retangular:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" +msgstr "Retangular" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -10688,7 +10697,7 @@ msgstr "" "sempre em forma de retângulo e será\n" "a caixa delimitadora do objeto." -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -10700,11 +10709,11 @@ msgstr "" "sempre em forma de retângulo e será\n" "a caixa delimitadora do objeto." -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "B. Pontes Manuais" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -10714,19 +10723,19 @@ msgstr "" "Isso é feito clicando com o mouse no perímetro do objeto\n" "de Geometria que é usado como objeto de recorte." -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" -msgstr "Obj Geo:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" +msgstr "Obj Geo" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "Objeto de geometria usado para criar o recorte manual." -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" -msgstr "Geo Manual:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" +msgstr "Geo Manual" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -10738,11 +10747,11 @@ msgstr "" "para ser usado como recorte, caso ainda não exista.\n" "Selecione o arquivo Gerber de origem na combobox do objeto." -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" -msgstr "Adicionar Pontes Manuais:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" +msgstr "Adicionar Pontes Manuais" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10751,11 +10760,11 @@ msgstr "" "Use o botão esquerdo do mouse (BEM), clique para criar\n" "pontes (para separar o PCB do material circundante)." -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "Gerar Ponte" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10768,18 +10777,19 @@ msgstr "" "O clique deve ser feito no perímetro\n" "do objeto Geometria usado como uma geometria de recorte." -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "[ERROR_NOTCL] Não foi possível recuperar o objeto: %s" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." @@ -10787,7 +10797,7 @@ msgstr "" "[ERROR_NOTCL] Não há objeto selecionado para Recorte.\n" "Selecione um e tente novamente." -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10795,36 +10805,36 @@ msgstr "" "[WARNING_NOTCL] O diâmetro da ferramenta está zerado. Mude para um número " "real positivo." -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] O valor da margem está ausente ou no formato errado. Altere " "e tente novamente." -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] O valor do tamanho da ponte está ausente ou no formato " "incorreto. Altere e tente novamente." -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "" "[WARNING_NOTCL] O número de pontes está ausente. Altere e tente novamente." -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" -"[WARNING_NOTCL] O valor das pontes pode ser apenas: 'lr', 'tb', '2lr', " -"'2tb', 4 ou 8. Preencha um valor correto e tente novamente." +"[WARNING_NOTCL] O valor das lacunas pode ser apenas um de: 'Nenhum', 'lr', " +"'tb', '2lr', '2tb', 4 ou 8. Preencha um valor correto e tente novamente." -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -10837,18 +10847,18 @@ msgstr "" "Única,\n" "e depois disso, executar Recorte." -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "[success] Operação de Recorte Livre finalizada." -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "[ERROR_NOTCL] Objeto não encontrado: %s" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10856,38 +10866,38 @@ msgstr "" "[ERROR_NOTCL] O diâmetro da ferramenta está zerado. Mude para um número real " "positivo." -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Clique no perímetro do objeto de geometria selecionado para criar uma " "ponte ..." -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "Fazendo ponte manual ..." - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "[ERROR_NOTCL] Não foi possível recuperar o objeto Geometria: %s" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "Fazendo ponte manual ..." + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "" "[ERROR_NOTCL] Objeto de geometria para recorte manual não encontrado: %s" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "[success] Ponte Manual Adicionada." -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "[ERROR_NOTCL] Não foi possível recuperar o objeto Gerber: %s" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -10895,7 +10905,7 @@ msgstr "" "[ERROR_NOTCL] Não há nenhum objeto Gerber selecionado para o Recorte.\n" "Selecione um e tente novamente." -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -10903,14 +10913,15 @@ msgstr "" "[ERROR_NOTCL] O objeto selecionado deve ser do tipo Gerber.\n" "Selecione um arquivo Gerber e tente novamente." +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" +msgstr "[ERROR_NOTCL] Geometria não suportada para recorte: %s" + #: flatcamTools/ToolDblSided.py:18 msgid "2-Sided PCB" msgstr "PCB de 2 faces" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" -msgstr "GERBER:" - #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 #: flatcamTools/ToolDblSided.py:100 msgid "Mirror" @@ -10927,34 +10938,21 @@ msgstr "" "cria um novo\n" "objeto, mas o modifica." -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "EXCELLON:" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "Objeto Excellon a ser espelhado." -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "GEOMETRIA:" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "Objeto Geometria a ser espelhado." -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." -msgstr "" -"O eixo deve passar por um ponto ou cortar o centro de uma caixa especificada (em um objeto FlatCAM)." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" +msgstr "Eixo de Referência:" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" -msgstr "Ponto/Caixa de Referência:" +msgid "Point/Box Reference" +msgstr "Ponto/Caixa de Referência" #: flatcamTools/ToolDblSided.py:154 msgid "" @@ -10984,21 +10982,24 @@ msgstr "" "As coordenadas (x, y) são capturadas pressionando a tecla SHIFT\n" "e clicar o botão esquerdo do mouse na tela ou inseridas manualmente." -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "Objeto Caixa de Referência Gerber" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "Objeto Caixa de Referência Excellon" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "Objeto Caixa de Referência de Geometria" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" -msgstr "Coordenadas de Alinhamento de Broca:" +msgid "Alignment Drill Coordinates" +msgstr "Coords de Alinhamento de Broca:" #: flatcamTools/ToolDblSided.py:194 msgid "" @@ -11069,11 +11070,11 @@ msgstr "Redefinir" msgid "Resets all the fields." msgstr "Redefine todos os campos." -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "PCB 2 Faces" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." @@ -11081,14 +11082,14 @@ msgstr "" "[WARNING_NOTCL] A referência 'Ponto' está selecionada e as coordenadas do " "'Ponto' estão faltando. Adicione-as e tente novamente." -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" "[WARNING_NOTCL] Não há objeto Caixa de referência carregado. Carregue um e " "tente novamente." -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." @@ -11096,7 +11097,7 @@ msgstr "" "[WARNING_NOTCL] Nenhum valor ou formato incorreto para Diâmetro de Broca. " "Altere e tente novamente." -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." @@ -11104,23 +11105,23 @@ msgstr "" "[WARNING_NOTCL] Não há Coordenadas de Broca de Alinhamento para usar. " "Adicione-as e tente novamente." -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "[success] Objeto Excellon com brocas de alinhamento criado ..." -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "[WARNING_NOTCL] Não há objeto Gerber carregado ..." -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "[ERROR_NOTCL] Apenas objetos Gerber, Excellon e Geometria podem ser " "espelhados." -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." @@ -11128,21 +11129,21 @@ msgstr "" "[WARNING_NOTCL] Faltando as Coordenadas do 'Ponto'. Usando Origem (0, 0) " "como referência de espelhamento." -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "[WARNING_NOTCL] Não há objeto Caixa carregado ..." -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "[success] Gerber %s foi espelhado ..." -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "[WARNING_NOTCL] Não há objeto Excellon carregado ..." -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." @@ -11150,16 +11151,16 @@ msgstr "" "[WARNING_NOTCL] Faltando as Coordenadas do 'Ponto'. Adicione as coordenadas " "e tente novamente ..." -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "[success] Excellon %s foi espelhado ..." -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "[WARNING_NOTCL] Não há objeto Geometria carregado ..." -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "[success] Geometria %s foi espelhada ..." @@ -11169,9 +11170,9 @@ msgid "Film PCB" msgstr "Filme PCB" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" -msgstr "Tipo de Objeto:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" +msgstr "Tipo de Objeto" #: flatcamTools/ToolFilm.py:58 msgid "" @@ -11186,14 +11187,14 @@ msgstr "" "na caixa de combinação Objeto de Filme." #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" -msgstr "Objeto de Filme:" +msgid "Film Object" +msgstr "Objeto de Filme" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "Objeto para o qual criar o filme." -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "Tipo de Caixa:" @@ -11211,8 +11212,8 @@ msgstr "" "na caixa de combinação Objeto Caixa." #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" -msgstr "Objeto Caixa:" +msgid "Box Object" +msgstr "Objeto Caixa" #: flatcamTools/ToolFilm.py:106 msgid "" @@ -11250,37 +11251,37 @@ msgstr "" "FlatCAM, mas salva-o diretamente no formato SVG\n" "que pode ser aberto com o programa Inkscape." -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" "[ERROR_NOTCL] Nenhum objeto FlatCAM selecionado. Carregue um objeto para " "Filme e tente novamente." -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" "[ERROR_NOTCL] Nenhum objeto FlatCAM selecionado. Carregue um objeto para " "Caixa e tente novamente." -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "Gerando Filme ..." -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "Exportar SVG positivo" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "[WARNING_NOTCL] Exportar SVG positivo cancelado." -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "Exportar SVG negativo" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "[WARNING_NOTCL] Exportar SVG negativo cancelado." @@ -11301,8 +11302,8 @@ msgstr "" "Pode ser do tipo: Gerber ou Geometria." #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" -msgstr "Valor de DPI:" +msgid "DPI value" +msgstr "Valor de DPI" #: flatcamTools/ToolImage.py:65 msgid "Specify a DPI value for the image." @@ -11390,11 +11391,11 @@ msgstr "Importar imagem" msgid "Open a image of raster type and then import it in FlatCAM." msgstr "Abre uma imagem do tipo raster e importe-a no FlatCAM." -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "Ferramenta de Imagem" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "Importar IMAGEM" @@ -11402,10 +11403,6 @@ msgstr "Importar IMAGEM" msgid "Measurement" msgstr "Medição" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "Unidades:" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "Unidade em que a distância é medida." @@ -11439,16 +11436,16 @@ msgid "This is the measuring Stop point coordinates." msgstr "Coordenadas do ponto final da medição." #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" -msgstr "Dx:" +msgid "Dx" +msgstr "Dx" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 msgid "This is the distance measured over the X axis." msgstr "Distância medida no eixo X." #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" -msgstr "Dy:" +msgid "Dy" +msgstr "Dy" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 msgid "This is the distance measured over the Y axis." @@ -11531,11 +11528,23 @@ msgstr "[WARNING_NOTCL] Objeto(s) não selecionado(s)" msgid "Non-Copper Clearing" msgstr "Área Sem Cobre (NCC)" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " -msgstr "Objeto Gerber do qual será retirado o cobre." +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Especifique o tipo de objeto a ser limpo do excesso de cobre.\n" +"Pode ser do tipo: Gerber ou Geometry.\n" +"O que é selecionado aqui irá ditar o tipo\n" +"de objetos que preencherão a caixa de combinação 'Objeto'." -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "Objeto a ser limpo de excesso de cobre." + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -11543,7 +11552,7 @@ msgstr "" "Conjunto de ferramentas do qual o algoritmo\n" "escolherá aquelas usados para limpeza de cobre." -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -11559,7 +11568,7 @@ msgstr "" "resultante. Isso ocorre porque com algumas ferramentas esta função\n" "não será capaz de criar geometria de pintura." -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -11583,16 +11592,12 @@ msgstr "" "
Escolhendo o tipo Forma em V automaticamente selecionará o Tipo " "de Operação Isolação." -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "Diâmetro da Ferramenta" - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 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" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -11601,40 +11606,23 @@ msgstr "" "Apague uma seleção de ferramentas na Tabela de Ferramentas selecionando " "primeiro a(s) linha(s) na Tabela de Ferramentas." -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." -msgstr "" -"Se marcada, usa 'usinagem de descanso'.\n" -"Basicamente, limpará o cobre fora dos recursos do PCB, utilizando\n" -"a maior ferramenta e continuará com as próximas ferramentas, da\n" -"maior para a menor, para limpar áreas de cobre que não puderam ser\n" -"retiradas com a ferramenta anterior.\n" -"Se não estiver marcada, usa o algoritmo padrão." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" +msgstr "Seleção de Área" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." -msgstr "" -"- 'Se': a extensão da limpeza não cobre\n" -"é baseado no objeto que é cobre limpo.\n" -"- 'Caixa': fará limpeza não cobre dentro da caixa\n" -"especificado pelo objeto selecionado na referência. Combobox de objetos." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" +msgstr "Objeto de referência" -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" -msgstr "Tipo de ref.:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" +msgstr "Referência:" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "Tipo de ref." + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -11642,41 +11630,41 @@ msgstr "" "O tipo de objeto FlatCAM a ser usado como referência de limpeza não cobre.\n" "Pode ser Gerber, Excellon ou Geometria." -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" -msgstr "Objeto de ref.:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" +msgstr "Objeto de ref." -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "O objeto FlatCAM a ser usado como referência de limpeza não cobre." -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "Gerar Geometria" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "" "[WARNING_NOTCL] Insira um diâmetro de ferramenta para adicionar, no formato " "Flutuante." -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Adição cancelada. Ferramenta já está na Tabela de " "Ferramentas." -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "[success] Nova ferramenta adicionada à Tabela de Ferramentas." -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "[sucss] A ferramenta da Tabela de Ferramentas foi editada." -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." @@ -11684,61 +11672,80 @@ msgstr "" "[WARNING_NOTCL] Editar cancelado. O novo valor de diâmetro já está na tabela " "de ferramentas." -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "" "[WARNING_NOTCL] Exclusão falhou. Selecione uma ferramenta para excluir." -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "[success] Ferramenta(s) excluída(s) da Tabela de Ferramentas." -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "[WARNING_NOTCL] Clique no ponto inicial da área." + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "[WARNING_NOTCL] Clique no ponto final da área de pintura." + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "Zona adicionada. Clique com o botão direito para terminar." + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "[ERROR_NOTCL] O valor de sobreposição deve estar entre 0 (inclusive) e 1 " "(exclusivo)," -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "[ERROR_NOTCL] Nenhum objeto disponível." -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "[WARNING_NOTCL] Carregando ..." -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "[success] Buffering terminou ..." -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "" +"[ERROR_NOTCL] O objeto selecionado não é adequado para limpeza de cobre." + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" "[ERROR_NOTCL] Não foi possível obter a extensão da área para não ser de " "cobre limpo." -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "Limpando áreas Sem-Cobre." -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "[success] Limpeza de Área Sem-Cobre com Diâmetro = %s iniciada." -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "[success] Retirada de cobre concluída." -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." @@ -11747,17 +11754,17 @@ msgstr "" "PCB\n" "não puderam ser retirados. Verifique o resultado." -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "[success] Limpeza de cobre iniciada com diâmetro = %s." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -11795,19 +11802,23 @@ msgstr "[ERROR_NOTCL] Falha ao abrir arquivo PDF." msgid "[success] Rendered: %s" msgstr "[success] Processado: %s" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" -msgstr "Área de Pintura" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Especifique o tipo de objeto a ser pintado.\n" +"Pode ser do tipo: Gerber ou Geometry.\n" +"O que é selecionado aqui irá ditar o tipo\n" +"de objetos que preencherão a caixa de combinação 'Objeto'." -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" -msgstr "Geometria:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." +msgstr "Objeto a ser pintado." -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "Objeto de geometria a ser pintado." - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -11815,7 +11826,7 @@ msgstr "" "Conjunto de ferramentas do qual o algoritmo\n" "escolherá os usados para a pintura." -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -11832,11 +11843,11 @@ msgstr "" "na geometria resultante. Isso ocorre porque com algumas ferramentas\n" "não são capazes de criar geometria de pintura nesta função." -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "Diâmetro para a nova ferramenta." -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -11854,74 +11865,93 @@ msgstr "" "retiradas com a ferramenta anterior.\n" "Se não estiver marcada, usa o algoritmo padrão." -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -"Como selecionar os polígonos para pintar.
Opções:
- Único: " -"clique com o botão esquerdo do mouse no polígono a ser pintado.
- " -"Todos: pintar todos os polígonos." +"Como selecionar os polígonos para pintar.
Opções:
- Single " +"Polygons : clique com o botão esquerdo do mouse no polígono a ser " +"pintado.
- Seleção de Área : clique com o botão esquerdo do " +"mouse para iniciar a seleção da área a ser pintada.
- Todos os " +"polígonos : pintar todos os polígonos.
- Objeto de referência : pintar uma área descrita por um objeto de referência externo." -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "Polígono Único" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "Todos os polígonos" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"O tipo de objeto FlatCAM a ser usado como referência de pintura.\n" +"Pode ser Gerber, Excellon ou Geometria." + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "Criar Geometria de Pintura" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Depois de clicar aqui, clique dentro
do polígono que você deseja pintar " -"se Único estiver selecionado.
Se Todos for selecionado, a " -"Pintura será iniciada após o clique.
Será criado um novo objeto Geometria " -"com os caminhos da ferramenta." +"- 'Seleção de Área' - clique com o botão esquerdo do mouse para iniciar a " +"seleção da área a ser pintada.\n" +"Manter uma tecla modificadora pressionada (CTRL ou SHIFT) permitirá " +"adicionar várias áreas.\n" +"- 'Todos os polígonos' - o Paint será iniciado após o clique.\n" +"- 'Objeto de Referência' - fará limpeza não de cobre dentro da área\n" +"especificado por outro objeto." -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "geometry_on_paint_button" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "[WARNING_NOTCL] Clique dentro do polígono desejado." -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "[ERROR_NOTCL] Não é possível pintar geometrias MultiGeo ..." -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "Pintando o polígono..." -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "[WARNING_NOTCL] Clique no ponto inicial da área de pintura." -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "[WARNING_NOTCL] Clique no ponto final da área de pintura." - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "Pronto." - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "[WARNING] Nenhum polígono encontrado." -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "Pintando o polígono." -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "[ERROR_NOTCL] A geometria não pode ser pintada completamente" -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -11932,18 +11962,18 @@ msgstr "" "parâmetros ou uma estratégia diferente de pintura\n" "%s" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "Pintura de polígonos iniciada ..." -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -11954,7 +11984,7 @@ msgstr "" "parâmetros, ou um método diferente de pintura\n" "%s" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -11966,11 +11996,11 @@ msgstr "" "geometria pintada.\n" "Mude os parâmetros de pintura e tente novamente." -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "[success] Pintura finalizada." -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -11982,7 +12012,7 @@ msgstr "" "geometria pintada.\n" "Mude os parâmetros de pintura e tente novamente." -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "[success] Pintura finalizada." @@ -12010,17 +12040,9 @@ msgstr "" "Objeto para criar painel. Isso significa\n" "que ele será duplicado em uma matriz de linhas e colunas." -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "Objeto" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "Caixa Delimitadora" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" -msgstr "Referência para Criação de Painel:" +msgid "Penelization Reference" +msgstr "Referência para Criação de Painel" #: flatcamTools/ToolPanelize.py:88 msgid "" @@ -12042,6 +12064,10 @@ msgstr "" "a este objeto de referência, portanto, mantendo os objetos\n" "sincronizados no painel." +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "Tipo de Caixa" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -12063,8 +12089,8 @@ msgstr "" "selecionado para o qual será criado um painel." #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" -msgstr "Dados do Painel:" +msgid "Panel Data" +msgstr "Dados do Painel" #: flatcamTools/ToolPanelize.py:136 msgid "" @@ -12082,10 +12108,6 @@ msgstr "" "Os espaçamentos definirão a distância entre os\n" "elementos da matriz do painel." -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "Tipo de Painel:" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -12097,8 +12119,8 @@ msgstr "" "- Gerber" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" -msgstr "Restringir painel dentro de:" +msgid "Constrain panel within" +msgstr "Restringir painel dentro de" #: flatcamTools/ToolPanelize.py:227 msgid "Panelize Object" @@ -12114,16 +12136,16 @@ msgstr "" "Em outras palavras, ele cria várias cópias do objeto de origem,\n" "arranjado em uma matriz 2D de linhas e colunas." -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "Ferramenta de Painel" -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Nenhuma caixa de objeto. Usando em vez de %s" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." @@ -12131,15 +12153,15 @@ msgstr "" "[ERROR_NOTCL] Colunas ou Linhas com valor zero. Altere-os para um inteiro " "positivo." -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "Gerando painel ... Por favor, aguarde." -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "[success] Painel criado..." -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " @@ -12148,7 +12170,7 @@ msgstr "" "[WARNING] Grande demais para a área restrita.. O painel final tem {col} " "colunas e {row} linhas" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "[success] Painel criado com sucesso." @@ -12161,12 +12183,12 @@ msgid "Import 2-file Excellon" msgstr "Importar Excellon 2-arquivos" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" -msgstr "Carregar arquivos:" +msgid "Load files" +msgstr "Carregar arquivos" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" -msgstr "Arquivo Excellon:" +msgid "Excellon file" +msgstr "Arquivo Excellon" #: flatcamTools/ToolPcbWizard.py:59 msgid "" @@ -12177,8 +12199,8 @@ msgstr "" "Normalmente ele tem uma extensão .DRL" #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" -msgstr "Arquivo INF:" +msgid "INF file" +msgstr "Arquivo INF" #: flatcamTools/ToolPcbWizard.py:67 msgid "Load the INF file." @@ -12193,20 +12215,20 @@ msgid "Tool diameter in file units." msgstr "Diâmetro da ferramenta em unidades de arquivo." #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" -msgstr "Formato Excellon:" +msgid "Excellon format" +msgstr "Formato Excellon" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" -msgstr "Dígitos Int.:" +msgid "Int. digits" +msgstr "Dígitos Int." #: flatcamTools/ToolPcbWizard.py:97 msgid "The number of digits for the integral part of the coordinates." msgstr "O número de dígitos da parte integral das coordenadas." #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" -msgstr "Dígitos Frac.:" +msgid "Frac. digits" +msgstr "Dígitos Frac." #: flatcamTools/ToolPcbWizard.py:106 msgid "The number of digits for the fractional part of the coordinates." @@ -12217,8 +12239,8 @@ msgid "No Suppression" msgstr "Sem supressão" #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" -msgstr "Sup. Zeros:" +msgid "Zeros supp." +msgstr "Sup. Zeros" #: flatcamTools/ToolPcbWizard.py:116 msgid "" @@ -12234,10 +12256,6 @@ msgstr "" "- TZ = zeros à direita são mantidos\n" "- Sem supressão = sem supressão de zeros" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "Unidades" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -12261,19 +12279,19 @@ msgstr "" "que armazena suas informações em 2 arquivos.\n" "Um geralmente possui extensão .DRL e o outro tem extensão .INF." -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "Ferramenta PCBWizard" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "Carregar o arquivo PcbWizard Excellon" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "Carregar arquivo PcbWizard INF" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" @@ -12283,55 +12301,113 @@ msgstr "" "Tente abrir o arquivo Excellon em Arquivo -> Abrir -> Excellon\n" "e edite os diâmetros das brocas manualmente." -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "[success] Arquivo PcbWizard .INF carregado." -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "[success] Arquivo PcbWizard Excellon carregado." -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "[ERROR_NOTCL] Não é possível analisar o arquivo: %s" -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "Importando Excellon." -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "[ERROR_NOTCL] Falha na importação do arquivo Excellon." -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "[success] Importado: %s" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "" "[WARNING_NOTCL] A fusão do Excellon está em andamento. Por favor, espere..." -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "[ERROR_NOTCL] O arquivo Excellon importado é None." -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "" "[ERROR_NOTCL] A ferramenta de propriedades não foi exibida. Nenhum objeto " "selecionado." -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "[success] Propriedades do Objeto exibidas." -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "Propriedades de Ferramenta" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "TIPO" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "NOME" + +#: flatcamTools/ToolProperties.py:127 +msgid "Dimensions" +msgstr "Dimensões" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "Opções" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "Tipo Geo." + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "Geo. Única" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "Geo. Múltipla" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "Largura" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "Área da Caixa" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "Área Convexa do Casco" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "Polegada" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "Métrico" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "Presente" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "Nenhum" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "...processando..." @@ -12396,8 +12472,8 @@ msgid "Generate solder paste dispensing geometry." msgstr "Gerar geometria de distribuição de pasta de solda." #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" -msgstr "PASSO 1:" +msgid "STEP 1" +msgstr "PASSO 1" #: flatcamTools/ToolSolderPaste.py:144 msgid "" @@ -12436,8 +12512,8 @@ msgstr "" "nos pads de PCB." #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" -msgstr "PASSO 2:" +msgid "STEP 2" +msgstr "PASSO 2" #: flatcamTools/ToolSolderPaste.py:308 msgid "" @@ -12448,8 +12524,8 @@ msgstr "" "de um arquivo Gerber Máscara de Pasta de Solda." #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" -msgstr "Geo Result:" +msgid "Geo Result" +msgstr "Geo Result" #: flatcamTools/ToolSolderPaste.py:326 msgid "" @@ -12462,8 +12538,8 @@ msgstr "" "'_solderpaste'." #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" -msgstr "PASSO 3:" +msgid "STEP 3" +msgstr "PASSO 3" #: flatcamTools/ToolSolderPaste.py:337 msgid "" @@ -12482,8 +12558,8 @@ msgstr "" "e só depois disso você pode gerar um Trabalho CNC atualizado." #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" -msgstr "Resultado CNC:" +msgid "CNC Result" +msgstr "Resultado CNC" #: flatcamTools/ToolSolderPaste.py:359 msgid "" @@ -12522,8 +12598,8 @@ msgstr "" "nos pads de PCB, em um arquivo." #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" -msgstr "PASSO 4:" +msgid "STEP 4" +msgstr "PASSO 4" #: flatcamTools/ToolSolderPaste.py:383 msgid "" @@ -12538,48 +12614,48 @@ msgstr "" msgid "Delete Object" msgstr "Excluir Objeto" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Adição de ferramenta Bocal cancelada. Ferramenta já está na " "Tabela de Ferramentas." -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "[success] Nova Ferramenta Bocal adicionada à tabela de ferramentas." -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "[success] A ferramenta do bocal da tabela de ferramentas foi editada." -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "" "[WARNING_NOTCL] Exclusão falhou. Selecione uma ferramenta bico para excluir." -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "[success] Ferramenta(s) de bico excluída(s) da tabela de ferramentas." -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "" "[WARNING_NOTCL] Nenhum objeto Gerber de máscara de Pasta de Solda carregado." -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "Criação da geometria de distribuição da pasta de solda." -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "[WARNING_NOTCL] Nenhuma ferramenta de Bico na tabela de ferramentas." -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "[success] Geometria da pasta de solda gerada com sucesso ..." -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." @@ -12587,15 +12663,15 @@ msgstr "" "[WARNING_NOTCL] Alguns ou todos os pads não possuem pasta de solda devido a " "diâmetros inadequados dos bicos..." -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "Gerando geometria dispensadora de Pasta de Solda ..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "[WARNING_NOTCL] Não há objeto de Geometria disponível." -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." @@ -12603,13 +12679,13 @@ msgstr "" "[WARNING_NOTCL] Esta geometria não pode ser processada. NÃO é uma geometria " "solder_paste_tool." -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "[success] Trabalho CNC para Ferramenta de Pasta de Solda criado: %s" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." @@ -12617,34 +12693,34 @@ msgstr "" "[WARNING_NOTCL] Este objeto Trabalho CNC não pode ser processado. NÃO é um " "objeto solder_paste_tool." -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "[ERROR_NOTCL] Nenhum G-Code no objeto ..." -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "Exportar G-Code ..." -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "" "[success] Arquivo G-Code com dispensador de pasta de solda salvo em: %s" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" -msgstr "Objetos Gerber" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" +msgstr "Objetos Gerber" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" -msgstr "Alvo:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" +msgstr "Alvo" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." @@ -12652,11 +12728,11 @@ msgstr "" "Objeto Gerber do qual subtrair\n" "o objeto Gerber substrator." -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" -msgstr "Substrator:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" +msgstr "Substrator" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." @@ -12664,11 +12740,11 @@ msgstr "" "Objeto Gerber que será subtraído\n" "do objeto Gerber de destino." -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "Gerber Substrator" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -12680,11 +12756,11 @@ msgstr "" "Pode ser usado para remover a serigrafia sobreposta\n" "sobre a máscara de solda." -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" -msgstr "Objetos de Geometria" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" +msgstr "Objetos Geometria" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." @@ -12692,7 +12768,7 @@ msgstr "" "Objeto de geometria a partir do qual subtrair\n" "o objeto de geometria do substrator." -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." @@ -12700,11 +12776,11 @@ msgstr "" "Objeto de geometria que será subtraído\n" "do objeto de geometria de destino." -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "Geometria Substrator" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." @@ -12712,48 +12788,49 @@ msgstr "" "Removerá a área ocupada pela geometria substrator\n" "da Geometria de destino." -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "Ferramenta Sub" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "[ERROR_NOTCL] Nenhum objeto de destino foi carregado." -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "[ERROR_NOTCL] Nenhum objeto Substrator carregado." -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "Analisando a geometria de abertura %s ..." -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "Gerando novo objeto ..." -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "[ERROR_NOTCL] A geração de novo objeto falhou." -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "[success] Criado: %s" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" "[ERROR_NOTCL] Atualmente, a geometria do Substrator não pode ser do tipo " "MultiGeo." -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "Analisando solid_geometry ..." -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "Analisando a geometria da ferramenta %s ..." @@ -12792,15 +12869,7 @@ msgstr "" "O ponto de referência depende\n" "do estado da caixa de seleção Escala de referência." -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" -"Redimensiona o(s) objeto(s) selecionado(s) usando o\n" -"Fator de Escala X para ambos os eixos." - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -12810,7 +12879,7 @@ msgstr "" "O ponto de referência é o meio da\n" "caixa delimitadora para todos os objetos selecionados.\n" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" @@ -12820,61 +12889,448 @@ msgstr "" "Não cria um novo objeto.\n" " " -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "para girar!" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "Objetos Trabalho CNC não podem ser girados." -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "[success] Giro pronto ..." -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "para espelhar!" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "Objetos Trabalho CNC não podem ser espelhados/invertidos." -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "para inclinar!" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "Objetos Trabalho CNC não podem ser inclinados." -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "para redimensionar!" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "Objetos Trabalho CNC não podem ser redimensionados." -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "" "[WARNING_NOTCL] Nenhum objeto selecionado. Por favor, selecione um objeto " "para deslocar!" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "Objetos Trabalho CNC não podem ser deslocados." +#~ msgid "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." +#~ msgstr "" +#~ "Ao escolher a opção 'Se', a extensão de compensação não cobre\n" +#~ "é baseado no objeto que é cobre limpo.\n" +#~ "Escolhendo a opção de 'Caixa' fará limpeza de cobre não dentro da caixa\n" +#~ "especificado por outro objeto diferente daquele que é o cobre limpo." + +#~ msgid "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." +#~ msgstr "" +#~ "Como selecionar os polígonos para pintar.
Opções:
- Single : clique com o botão esquerdo do mouse no polígono a ser pintado.
-" +#~ " Área : left clique do mouse para iniciar a seleção da área a ser " +#~ "pintada.
- Todos : pintar todos os polígonos.
- Ref : pintar uma área descrita por uma referência externa objeto." + +#~ msgid "Geometry object to be painted. " +#~ msgstr "Objeto de geometria a ser pintado." + +#~ msgid "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." +#~ msgstr "" +#~ "Depois de clicar aqui, clique dentro
do polígono que deseja pintar se " +#~ " Único estiver selecionado.
Se Área estiver " +#~ "selecionada, a seleção da área será selecionada. ser pintado
será " +#~ "iniciado por um primeiro clique e terminado com o segundo clique do " +#~ "mouse.
Se All for selecionado, o Paint iniciará após o " +#~ "clique.
Se Ref é selecionado, então o Paint será iniciado " +#~ "após o clique,
e a área pintada será descrita por um objeto " +#~ "selecionado.
Um novo objeto Geometry com os caminhos da ferramenta " +#~ "será criado." + +#~ msgid "Done." +#~ msgstr "Pronto." + +#~ msgid "Apertures:" +#~ msgstr " Aberturas: " + +#~ msgid "Aperture Code:" +#~ msgstr "Código de Abertura:" + +#~ msgid "Languages:" +#~ msgstr "Idioma:" + +#~ msgid "Width (# passes):" +#~ msgstr "Largura (passes):" + +#~ msgid "Clear non-copper" +#~ msgstr "Limpar não-cobre" + +#~ msgid "Rounded corners" +#~ msgstr "Cantos arredondados" + +#~ msgid "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." +#~ msgstr "" +#~ "Cria um objeto Geometria com polígonos\n" +#~ "cobrindo as áreas livres de cobre do PCB." + +#~ msgid "Bounding Box:" +#~ msgstr "Caixa Delimitadora:" + +#~ msgid "Units:" +#~ msgstr "Unidades:" + +#~ msgid "Zeros:" +#~ msgstr "Zeros:" + +#~ msgid "INCH:" +#~ msgstr "POLEGADAS:" + +#~ msgid "Tool change:" +#~ msgstr "Troca de ferramentas:" + +#~ msgid "Toolchange Z position." +#~ msgstr "Posição do eixo Z (altura) para a troca de ferramentas." + +#~ msgid "Feedrate:" +#~ msgstr "Avanço Z (Mergulho):" + +#~ msgid "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." +#~ msgstr "" +#~ "Velocidade da ferramenta durante a perfuração\n" +#~ "(em unidades por minuto)." + +#~ msgid "Gcode: " +#~ msgstr "G-Code: " + +#~ msgid "Offset Z:" +#~ msgstr "Ajuste de Altura:" + +#~ msgid "Slots:" +#~ msgstr "Ranhuras:" + +#~ msgid "Create CNC Job:" +#~ msgstr "Criar um Trabalho CNC:" + +#~ msgid "Multidepth" +#~ msgstr "Múltiplas Profundidades" + +#~ msgid "Multidepth usage: True or False." +#~ msgstr "Usar Múltiplas Profundidades." + +#~ msgid "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." +#~ msgstr "Arquivo de pós-processamento que define o G-Code de saída." + +#~ msgid "Display Annotation:" +#~ msgstr "Exibir Anotação:" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." +#~ msgstr "" +#~ "Digite aqui os comandos do G-Code que você gostaria de executar\n" +#~ "quando o evento Troca de Ferramentas for encontrado.\n" +#~ "É um G-Code personalizado para Troca de Ferramentas\n" +#~ "ou uma Macro de Troca de Ferramentas." + +#~ msgid "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." +#~ msgstr "" +#~ "Se marcada, usa 'usinagem de descanso'.\n" +#~ "Basicamente, limpará o cobre fora dos recursos do PCB, utilizando\n" +#~ "a maior ferramenta e continuará com as próximas ferramentas, da\n" +#~ "maior para a menor, para limpar áreas de cobre que não puderam ser\n" +#~ "retiradas com a ferramenta anterior.\n" +#~ "Se não estiver marcada, usa o algoritmo padrão." + +#~ msgid "Offset:" +#~ msgstr "Deslocamento:" + +#~ msgid "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." +#~ msgstr "" +#~ "Distância dos objetos\n" +#~ "para desenhar o recorte." + +#~ msgid "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." +#~ msgstr "" +#~ "Tamanho das pontes no caminho da ferramenta\n" +#~ "que permanecerão para manter a placa no lugar." + +#~ msgid "Create a convex shape surrounding the entire PCB." +#~ msgstr "Crie uma forma convexa ao redor de toda a PCB." + +#~ msgid "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." +#~ msgstr "" +#~ "O eixo deve passar por um ponto ou cortar\n" +#~ "no meio uma caixa especificada (em um objeto Geometria)." + +#~ msgid "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." +#~ msgstr "" +#~ "Quanta (fração) da largura da ferramenta\n" +#~ "para sobrepor a cada passe." + +#~ msgid "Panel Type:" +#~ msgstr "Tipo de Painel:" + +#~ msgid "Tip angle:" +#~ msgstr "Ângulo da Ponta:" + +#~ msgid "Angle for rotation. In degrees." +#~ msgstr "Ângulo de rotação, em graus." + +#~ msgid "Angle for Skew/Shear on X axis. In degrees." +#~ msgstr "Ângulo de inclinação no eixo X, em graus." + +#~ msgid "Angle for Skew/Shear on Y axis. In degrees." +#~ msgstr "Ângulo de inclinação no eixo X, em graus." + +#~ msgid "XY Toolchange:" +#~ msgstr "XY Troca de Ferra.:" + +#~ msgid "PostProcessors:" +#~ msgstr "Pós-processador:" + +#~ msgid "Scale:" +#~ msgstr "Escala:" + +#~ msgid "Offset:" +#~ msgstr "Deslocamento:" + +#~ msgid "Combine" +#~ msgstr "Combinar" + +#~ msgid "Tools Table" +#~ msgstr "Tabela de Ferramentas" + +#~ msgid "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." +#~ msgstr "" +#~ "Altura da ferramenta antes de iniciar o trabalho.\n" +#~ "Exclua o valor se você não precisar deste recurso." + +#~ msgid "" +#~ "Z-axis position (height) for\n" +#~ "the last move." +#~ msgstr "Altura da ferramenta após o último movimento, no final do trabalho." + +#~ msgid "" +#~ "The json file that dictates\n" +#~ "gcode output." +#~ msgstr "" +#~ "O arquivo de pós-processamento (json) que define\n" +#~ "a saída G-Code." + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Drills Tool dia:" +#~ msgstr "Diâmetro da Broca:" + +#~ msgid "Slots Tool dia:" +#~ msgstr "Diâmetro da Fresa:" + +#~ msgid "Tool Dia:" +#~ msgstr "Dia Ferramenta:" + +#~ msgid "Tool Data" +#~ msgstr "Dados da Ferramenta" + +#~ msgid "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." +#~ msgstr "" +#~ "Esta é a altura (Z) em que o CNC\n" +#~ "vai após o último movimento." + +#~ msgid "Feed Rate Z (Plunge):" +#~ msgstr "Taxa de Avanço Z (Mergulho):" + +#~ msgid "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" +#~ msgstr "" +#~ "Velocidade de corte no plano Z\n" +#~ "em unidades por minuto" + +#~ msgid "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." +#~ msgstr "" +#~ "Velocidade de corte no plano XY\n" +#~ "em unidades por minuto\n" +#~ "Usado para o movimento rápido G00.\n" +#~ "É útil apenas para Marlin,\n" +#~ "ignore para outros casos." + +#~ msgid "Cut over 1st pt" +#~ msgstr "Cut over 1st pt" + +#~ msgid "Paint Area:" +#~ msgstr "Área de Pintura:" + +#~ msgid "CNC Tools Table" +#~ msgstr "Tabela de Ferramentas CNC" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." +#~ msgstr "" +#~ "Digite aqui comandos G-Code que você gostaria de adicionar ao início do " +#~ "arquivo gerado." + +#~ msgid "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." +#~ msgstr "" +#~ "Diâmetro da ponta da ferramenta.\n" +#~ "Especificado pelo fabricante." + +#~ msgid "Object:" +#~ msgstr "Objeto:" + +#~ msgid "Units:" +#~ msgstr "Unidades:" + +#~ msgid "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." +#~ msgstr "" +#~ "- 'Se': a extensão da limpeza não cobre\n" +#~ "é baseado no objeto que é cobre limpo.\n" +#~ "- 'Caixa': fará limpeza não cobre dentro da caixa\n" +#~ "especificado pelo objeto selecionado na referência. Combobox de objetos." + +#~ msgid "Geometry:" +#~ msgstr "Geometria:" + +#~ msgid "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." +#~ msgstr "" +#~ "Redimensiona o(s) objeto(s) selecionado(s) usando o\n" +#~ "Fator de Escala X para ambos os eixos." + +#~ msgid "Excellon Format:" +#~ msgstr "Formato Excellon:" + +#~ msgid "Tools:" +#~ msgstr "Ferramentas:" + +#~ msgid "Export G-Code:" +#~ msgstr "Exportar G-Code:" + +#~ msgid "How to select the polygons to paint." +#~ msgstr "Como selecionar os polígonos para pintar." + +#~ msgid "V-Shape Tool Calculator:" +#~ msgstr "Calculadora Ferramenta Ponta-em-V:" + +#~ msgid "ElectroPlating Calculator:" +#~ msgstr "Calculadora ElectroPlating:" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Plot kind:" +#~ msgstr "Tipo de Gráfico:" + +#~ msgid "Display Annotation:" +#~ msgstr "Exibir Anotação:" + +#~ msgid "GERBER:" +#~ msgstr "GERBER:" + +#~ msgid "EXCELLON:" +#~ msgstr "EXCELLON:" + +#~ msgid "GEOMETRY:" +#~ msgstr "GEOMETRIA:" + +#~ msgid "Panel Type:" +#~ msgstr "Tipo de Painel:" + +#~ msgid "Excellon format:" +#~ msgstr "Formato Excellon:" + +#~ msgid "Gerber Objects" +#~ msgstr "Objetos Gerber" + +#~ msgid "Geometry Objects" +#~ msgstr "Objetos de Geometria" + #~ msgid "Save &Defaults" #~ msgstr "Salvar Pa&drões" @@ -13408,9 +13864,6 @@ msgstr "Objetos Trabalho CNC não podem ser deslocados." #~ msgstr "" #~ "[ERROR_NOTCL] The aperture scale factor value is missing or wrong format." -#~ msgid "[ERROR_NOTCL] The aperture buffer value is missing or wrong format." -#~ msgstr "[ERROR_NOTCL] The aperture buffer value is missing or wrong format." - #~ msgid "[ERROR_NOTCL]Cancelled. Empty file, it has no geometry..." #~ msgstr "[ERROR_NOTCL]Cancelled. Empty file, it has no geometry..." diff --git a/locale/ro/LC_MESSAGES/strings.mo b/locale/ro/LC_MESSAGES/strings.mo index e25978e9..b8508a68 100644 Binary files a/locale/ro/LC_MESSAGES/strings.mo and b/locale/ro/LC_MESSAGES/strings.mo differ diff --git a/locale/ro/LC_MESSAGES/strings.po b/locale/ro/LC_MESSAGES/strings.po index d6ac185d..ee57f5d2 100644 --- a/locale/ro/LC_MESSAGES/strings.po +++ b/locale/ro/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-08-17 15:17+0300\n" -"PO-Revision-Date: 2019-08-17 15:17+0300\n" +"POT-Creation-Date: 2019-08-23 23:04+0300\n" +"PO-Revision-Date: 2019-08-23 23:19+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: ro\n" @@ -23,16 +23,16 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: tests\n" "X-Poedit-SearchPathExcluded-2: doc\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "Proiect nou - Nu a fost salvat" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Nu am gasit fişierele cu traduceri. Mesajele aplicaţiei lipsesc." -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "Taburi detașabile" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" @@ -40,26 +40,30 @@ msgstr "" "(Tastează help pt. a începe)\n" "\n" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "Proiect nou - Nu a fost salvat" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Deschidere anulată." -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "Deschiderea fişierului de configurare a eşuat." -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "Deschiderea fişierului Script eşuat." -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" "[WARNING_NOTCL] Selectează un obiect tip Geometrie Gerber sau Excellon " "pentru editare." -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -69,91 +73,93 @@ msgstr "" "obiect tip Geometrie MultiGeo nu este posibilă.\n" "Se poate edita numai o singură geometrie de fiecare dată." -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editorul este activ. .." -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "Vrei sa salvezi obiectul editat?" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "Inchide Editorul" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "Da" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "Nu" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "Anuleaza" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Obiectul nu are date dupa editare." -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Selectează un obiect tip Gerber, Geometrie sau Excellon " "pentru salvare." -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s este actualizat, întoarcere la aplicaţie." -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Nu am putut incărca fişierul cu valori default." -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Parsarea fişierului cu valori default a eșuat." -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "Importa Preferințele FlatCAM" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] Importul preferințelor FlatCAM a eșuat." -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "" "[ERROR_NOTCL] Nu a fost posibilă incărcarea fişierului cu valori default." -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Parsarea fişierului cu valori default a eșuat." -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Valorile default au fost importate din %s" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "Exporta Preferințele FlatCAM" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] Exportul preferințelor FlatCAM este anulat." -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -161,29 +167,29 @@ msgstr "" "[WARNING] Permisiune refuzată, salvarea nu este posibilă.\n" "Cel mai probabil o altă aplicație ține fișierul deschis și inaccesibil." -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Salvarea valorilor default intr-un fişier a eșuat." -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" "[ERROR_NOTCL] Deschiderea fişierului cu >fişiere recente< pentru a fi salvat " "a eșuat." -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "" "[ERROR_NOTCL] Deschiderea fişierului cu >proiecte recente< pentru a fi " "salvat a eșuat." -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" "[ERROR_NOTCL] A apărut o eroare internă. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -192,11 +198,11 @@ msgstr "" "Obiectul ({kind}) a eșuat din cauza: {error} \n" "\n" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "Se convertesc unitătile la " -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -227,40 +233,40 @@ msgstr "" "flatcam/src/Beta/\">aici.
Sectiunea DOWNLOAD este aici.
" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "Închide" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "[success] Valorile default au fost salvate." -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "" "[ERROR_NOTCL] Fişierul cu valori default de fabrică nu a fost posibil să fie " "deschis." -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "" "[ERROR_NOTCL] Parsarea fişierului cu valori default de fabrică a eșuat." -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" "[ERROR_NOTCL]] Salvarea fişierului cu valori default de fabrică intr-un " "fişier a eșuat." -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "Valori default de fabrică au fost salvate." -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Aplicația salvează proiectul. Vă rugăm aşteptați ..." -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -268,11 +274,11 @@ msgstr "" "FlatCAM are fişiere/obiecte care au fost modificate. \n" "Dorești să Salvezi proiectul?" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Salvează modificarile." -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -289,45 +295,45 @@ msgstr "" "informatii și rezultatul ar putea să nu fie cel dorit. \n" "Verifică codul G-Code generat." -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Eșuat. Fuzionarea Excellon functionează doar cu obiecte de tip " "Excellon." -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Eșuat. Fuzionarea Gerber functionează doar cu obiecte de tip " "Gerber ." -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" "[ERROR_NOTCL] Eșuat. Selectează un obiect Geometrie și încearcă din nou." -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Se astepta o Geometrie FlatCAM, s-a primit %s" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Un obiect Geometrie a fost convertit la tipul MultiGeo." -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Un obiect Geometrie a fost convertit la tipul SingleGeo ." -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "Comută Unitati" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." -msgstr "Schimbă unitătile de măsură.." +#: FlatCAMApp.py:4172 +msgid "Change project units ..." +msgstr "Schimbă unitătile de măsură ..." -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -337,43 +343,43 @@ msgstr "" "geometrice ale obiectelor sa fie scalate corespunzător.\n" "Continuati?" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Conversie unitati la %s" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Conversia unitatilor este anulată." -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "Deschide fişierul ..." -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "Exporta G-Code ..." -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL Exportul GCode este anulat." -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "[WARNING] Nu exista un aşa fişier sau director" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "Salvat in: %s" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." @@ -381,12 +387,12 @@ msgstr "" "[WARNING_NOTCL] Introdu un diametru al uneltei valid: valoare ne-nula in " "format Real." -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Adăugarea unei unelte anulată ..." -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -394,11 +400,11 @@ msgstr "" "Adăugarea de unelte noi functionează doar in modul Avansat.\n" "Pentru aceasta mergi in Preferințe -> General - Activează Modul Avansat." -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "Șterge obiectele" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -406,67 +412,67 @@ msgstr "" "Sigur doriți să ștergeți definitiv\n" "obiectele selectate?" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "Obiect(ele) șters(e)." -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "Eșuat. Nici-un obiect nu este selectat." -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "Salvează continutul din Editor și încearcă din nou." -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "Click pentru a seta originea..." -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "Sari la ..." -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "Introduceți coordonatele in format X,Y:" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Coordonate gresite. Introduceți coordonatele in format X,Y." -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "[success] Executat." -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect și " "incearcă din nou." -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "[success] Originea a fost setată ..." -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "Preferințe" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "[WARNING_NOTCL] Preferințele au fost editate dar nu au fost salvate." -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -474,166 +480,166 @@ msgstr "" "Una sau mai multe valori au fost schimbate.\n" "Dorești să salvezi Preferințele?" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "Salvează Pref" -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "[success] Preferințele au fost salvate." -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "" "[WARNING_NOTCL] Nu sete nici-un obiect selectat pentru oglindire pe axa Y." -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "[success] Oglindire pe axa Y executată." -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Datorita %s, oglindirea a eșuat." -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "" "[WARNING_NOTCL] Nu sete nici-un obiect selectat pentru oglindire pe axa X." -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "[success] Oglindirea pe axa X executată." -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Rotaţie." -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "Transformare" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "Introduceți valoaea Unghiului:" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "[success] Rotaţie executată." -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Datorita %s, Rotatia a eșuat." -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Deformare pe axa X." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "[success] Deformare pe axa X executată." -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Deformare pe axa Y." -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "[success] Deformare pe axa Y executată." -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "Grid On/Off" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "Adaugă" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Șterge" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "Grid nou ..." -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "Introduceti of valoare pt Grid:" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." msgstr "" "[WARNING_NOTCL] Introduceți o valoare pentru Grila ne-nula și in format Real." -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "[success] O noua valoare pt Grila a fost adăugată..." -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Grila există deja." -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Adăugarea unei valori de Grilă a fost anulată ..." -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Valoarea Grilei nu există ..." -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "[success] Valoarea Grila a fost stearsă." -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Ștergerea unei valori de Grilă a fost anulată ..." -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "Lista de shortcut-uri" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat pentru i se copia valoarea" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "Numele a fost copiat pe Clipboard ..." -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "[success] Coordonatele au fost copiate in clipboard." -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} selectat" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -643,111 +649,111 @@ msgstr "" "Crearea unui nou Proiect le va șterge..\n" "Doriti să Salvati proiectul curentt?" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "[success] Un nou Proiect a fost creat..." -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "Încarcă Gerber" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier Gerber este anulată." -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "Încarcă Excellon" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier Excellon este anulată." -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "Încarcă G-Code" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier G-Code este anulată." -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "Încarcă Project" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui Proiect a fost anulată." -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "Încarcă un fişier de Configurare" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier de Configurare este anulată." -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Nici-un obiect selectat." -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "Selectează un obiect Geometrie pentru export" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" "[ERROR_NOTCL] Doar obiectele Geometrie, Gerber și CNCJob pot fi folosite." -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "Exporta SVG" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Exportul SVG este anulat." -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" "[[WARNING_NOTCL]] Datele trebuie să fie organizate intr-o arie 3D cu ultima " "dimensiune cu valoarea 3 sau 4." -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "Exporta imagine PNG" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "Exportul imagine PNG este anulat." -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Gerber pentru " "export." -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Eșuat. Doar obiectele tip Gerber pot fi salvate ca fişiere " "Gerber..." -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "Salvează codul sursa Gerber ca fişier" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Salvarea codului sursa Gerber este anulată." -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -755,22 +761,22 @@ msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Excellon " "pentru export." -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Eșuat. Doar obiectele tip Excellon pot fi salvate ca fişiere " "Excellon ..." -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "Salvează codul sursa Excellon ca fişier" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Salvarea codului sursa Excellon este anulată." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -778,94 +784,94 @@ msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Excellon " "pentru export." -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "Exporta Excellon" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Exportul Excellon anulat." -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Gerber pentru " "export." -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "Exporta Gerber" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Exportul Gerber este anulat." -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Doar obiecte tip Geometrie pot fi folosite." -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "Exporta DXF" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Exportul DXF anulat." -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "Importa SVG" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Importul SVG anulat." -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "Importa DXF" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Incărcarea fişier DXF anulată." -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Selectati un obiect Gerber sau Excellon pentru a-i vedea " "codul sursa." -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru a-i vedea codul sursa." -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "Editor Script." -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -909,99 +915,99 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "Încarcă TCL script" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Incărcarea TCL script anulată." -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "Ruleaza TCL script" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Rularea fisierului Script a fost anulată." -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "Salvează Proiectul ca ..." -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Proiect_{date}" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Salvarea Proiect anulată." -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "SVG in curs de export" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] Fişier SVG exportat in %s" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "" "[WARNING_NOTCL] Nu este nici-un container Box pentru obiect. Se foloseşte %s" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "Filmul se generează ... Aşteaptă!" -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Fişierul Excellon exportat in %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "Excellon in curs de export" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Fişierul Excellon nu a fost posibil să fie exportat." -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Fişier Gerber exportat in %s" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "Gerber in curs de export" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Fişierul Gerber nu a fost posibil să fie exportat." -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] Fişierul DXF exportat in %s" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "DXF in curs de export" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Fişierul DXF nu a fost posibil să fie exportat." -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -1009,102 +1015,102 @@ msgstr "" "[ERROR_NOTCL] Typul parametrului nu este compatibil. Doar Geometrie is " "Gerber sunt acceptate." -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "SVG in curs de ia fi importat" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Incărcat: %s" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "DXF in curs de a fi importat" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "Imaginea in curs de a fi importata" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului %s" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Eşec in parsarea fişierului: {name}. {error}" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "" "[ERROR] A apărut o eroare internă. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Obiectul nu estetip Gerber sau este gol. Se anulează crearea " "obiectului." -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "Gerber in curs de incărcare" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Incărcarea Gerber a eșuat. Probabil nu este de tip Gerber." -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Acesta nu este un fişier Excellon." -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Fişierul %s nu se poate incărca." -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" "[ERROR_NOTCL] A apărut o eroare interna. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "" "[ERROR_NOTCL] Nici-o informaţie de tip geometrie nu s-a gasit in fişierul: %s" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "Excellon in curs de incărcare" -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Incărcarea Excellon a eșuat. Probabil nu este de tip Excellon." -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Incărcarea fişierului %s a eșuat." -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Acest obiect nu este de tip GCode" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "G-Code in curs de incărcare" -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1115,26 +1121,34 @@ msgstr "" "Incercarea de a crea un obiect CNCJob din G-Code a eșuat in timpul " "procesarii." -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului de configurare: %s" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "Se încarcă proiectul ... Vă rugăm să așteptați ..." + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului proiect: %s" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "Se încarcă proiectul ... se restabileste" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Proeictul a fost incărcat din: %s" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "Comenzi disponibile:\n" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1146,35 +1160,35 @@ msgstr "" "Introduceți help pentru utilizare.\n" "Exemplu: help open_gerber" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "Arata o lista de comenzi." -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Eşec in incărcarea listei cu fişiere recente." -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Eşec in parsarea listei cu fişiere recente." -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "[ERROR_NOTCL] Eşec in incărcarea listei cu proiecte recente." -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "[ERROR_NOTCL] Eşec in parsarea listei cu proiecte recente." -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "Sterge fişierele recente" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr "Lista cu taste Shortcut" -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1272,27 +1286,27 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Verificarea pentru ultima versiune a eșuat. Nu a fost " "posibilă conectarea la server." -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] Informatia cu privire la ultima versiune nu s-a putut " "interpreta." -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM este la ultima versiune!" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "O nouă versiune este disponibila" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1300,86 +1314,86 @@ msgstr "" "O nouă versiune de FlatCAM este disponibilă pentru download::\n" "\n" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "Informaţie" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "[success] Toate afişările sunt dezactivate." -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "[success] Toate afişările care nu sunt selectate sunt dezactivate." -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "[success] Toate afişările sunt activate." -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "[success] Toate afişările sunt activate..." -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "[success] Toate afişările sunt dezactivate..." -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "Se lucrează..." -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "Proiectul FlatCAM este in curs de salvare" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Proiectul s-a salvat in: %s" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Verificarea proiectului salvat a eșuat: %s. Incearcă să il " "salvezi din nou." -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Parsarea proiectului salvat a eșuat: %s. Incearcă să il " "salvezi din nou." -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Salvarea proiectului a eșuat: %s. Incearcă să il salvezi din " "nou." -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Numele schimbat din {old} in {new}" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "Baza" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "Avansat" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "[ERROR_NOTCL] Geometria nu a fost posibil să fie 'generată." -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "Grosier" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Geometria de izolare creată: %s" @@ -1388,34 +1402,34 @@ msgstr "[success] Geometria de izolare creată: %s" msgid "Plotting Apertures" msgstr "Aperturile sunt in curs de afișare" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "Nr. Tot. Op. Găurire" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "Nr. Tot. Sloturi" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] O valoare gresita a fost introdusa. Foloseşte un număr." @@ -1438,9 +1452,9 @@ msgid "Tool_nr" msgstr "Nr. Unealtă" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Diametru" @@ -1479,8 +1493,8 @@ msgstr "" msgid "Generating CNC Code" msgstr "CNC Code in curs de generare" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1490,16 +1504,16 @@ msgstr "" "să fie in formatul (x, y) \n" "dar are o singură valoare in loc de doua. " -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "Izo." -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "Finisare" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "Copiază" @@ -1570,21 +1584,21 @@ msgstr "" "val. nu este oferita.\n" "Adaugă un ofset pt unealtă sau schimbă Tipul Ofset." -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Anulat. Fişier gol, nu are date geometrice." -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] Factorul de scalare trebuie să fie un număr: natural sau real." -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "[success] Scalare Geometrie executată." -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1592,29 +1606,29 @@ msgstr "" "[ERROR_NOTCL] O pereche de valori (x,y) este necesară. Probabil că ai " "introdus numai o singură valoare in câmpul Offset." -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "[success] Ofset Geometrie executat." -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "Exporta CNC Cod Masina ..." -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Exportul codului masina CNC a fost anulat ..." -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Fişierul cu cod CNC este salvat in: %s" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1623,11 +1637,11 @@ msgstr "" "[WARNING_NOTCL] Acest obiect CNCJob nu poate fi procesar deoarece este un " "obiect CNCJob tip %s." -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] G-code nu contine codul pt unitati: G20 sau G21" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1635,17 +1649,17 @@ msgstr "" "[ERROR_NOTCL] Anulat. Codul G-Code din Macro-ul Schimbare unealtă este " "activat dar nuc contine nimic." -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" "[success] G-Code-ul pt schimbare unealtă a fost inlocuit cu un cod " "pesonalizat." -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Nu exista un asemenea fişier sau director" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1653,7 +1667,7 @@ msgstr "" "[WARNING_NOTCL] Postprocesorul folosit trebuie să aibă in numele sau: " "'toolchange_custom'" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Nu exista nici-un fişier postprocesor." @@ -1685,41 +1699,41 @@ msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "" "[ERROR_NOTCL] self.solid_geometry nu este tip BaseGeometry sau tip lista." -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "[success] Obiectul a fost oglindit ..." -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Oglindire eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "[success] Obiectul a fost rotit ..." -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Rotaţie eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "[success] Obiectul a fost deformat ..." -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Deformare eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordonatele lipsesc, linia este ignorata: %s" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" "[WARNING_NOTCL] Fişierul Gerber poate fi corrupt. Verificati fişierul!!!" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1728,7 +1742,7 @@ msgstr "" "[ERROR] Regiunea Gerber nu are suficiente puncte. Fişierul va fi procesat " "dar sunt erori de parsare. Numărul liniei: %s" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1737,32 +1751,32 @@ msgstr "" "[ERROR] Eroare in parserul Gerber.\n" "%s:" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "[success] Scalarea Gerber efectuata." -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "[success] Offsetare Gerber efectuata." -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "[success] Oglindirea Gerber efectuata." -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "[success] Deformarea Gerber efectuata." -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "[success] Rotatia Gerber efectuata." -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Acesta este un marcaj Gerber: %s" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1778,7 +1792,7 @@ msgstr "" "Userul trebuie să editeze obictul Excellon rezultat si sa ajusteze " "diametrele a.i sa reflecte diametrele reale." -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1788,7 +1802,7 @@ msgstr "" "Parsare eșuata. Linia {l_nr}: {line}\n" "\n" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1798,12 +1812,12 @@ msgstr "" "deoarece nu are o unealtă asociata.\n" "Verifică codul G-Code rezultat." -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Nu exista un asemenea parametru: %s" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1816,7 +1830,7 @@ msgstr "" "Se presupune că este o eroare de tastare astfel ca aplicaţia va converti " "intr-o valoare negativă. Verifică codul masina (G-Code etc) rezultat." -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1824,15 +1838,15 @@ msgstr "" "[WARNING] Parametrul >Z tăiere< este nul. Nu va fi nici-o tăiere prin urmare " "nu procesam fişierul %s" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] Fişierul Excellon incărcat nu are găuri ..." -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Un tip de optimizare incorrect a fost selectat." -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1840,7 +1854,7 @@ msgstr "" "[ERROR_NOTCL] Parametrul >Z tăiere< este None sau zero. Cel mai probabil o " "combinaţie nefericita de parametri." -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1853,11 +1867,11 @@ msgstr "" "Se presupune că este o eroare de tastare astfel ca aplicaţia va converti " "intr-o valoare negativă. Verifică codul masina (G-Code etc) rezultat." -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Parametrul >Z deplasare< este None sau zero." -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1871,7 +1885,7 @@ msgstr "" "Se presupune că este o eroare de tastare astfel ca aplicaţia va converti " "intr-o valoare pozitivă. Verifică codul masina (G-Code etc) rezultat." -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1879,12 +1893,12 @@ msgstr "" "[WARNING] Parametrul >Z deplasare< este zero. Aceasta este periculos, prin " "urmare fişierul %s nu se procesează." -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Se astepta o Geometrie, am primit in schimb %s" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1892,7 +1906,7 @@ msgstr "" "[ERROR_NOTCL] Se încearcă generarea unui CNC Job dintr-un obiect Geometrie " "fără atributul solid_geometry." -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1902,54 +1916,54 @@ msgstr "" "fi folosita. \n" "Mareste valoarea absoluta și încearcă din nou." -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] Nu exista date cu privier la unealtă in geometria SolderPaste." -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "Click pt a plasa ..." -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "" "[WARNING_NOTCL] Pentru a adăuga o operaţie de găurire mai intai selectează " "un burghiu (unealtă)" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "[success] Executat. Operaţie de găurire adăugată." -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Pentru a adăuga o arie de operațiuni de găurire mai intai " "selectează un burghiu (unealtă)" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "Click pe locatia tinta ..." -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "Click pe punctul de Start al ariei de operațiuni de găurire" -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." @@ -1957,117 +1971,117 @@ msgstr "" "[ERROR_NOTCL] Valoarea nu este număr Real. Verifică să nu fi folosit virgula " "in loc de punct ca și separator decimal." -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "[ERROR_NOTCL] Valoarea este gresita. Verifică valoarea. %s" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Prea multe operațiuni de găurire pentru unghiul selectat." -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "[success] Executat. Aria de operațiuni de găurire a fost adăugată." -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "[WARNING_NOTCL] Pentru a adăuga un slot mai întâi, selectați o unealtă" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Valoarea lipsește sau formatul greșit. Adăugați-l și " "încercați din nou." -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "[success] Terminat. Adăugarea slotului finalizată." -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Pentru a adăuga o arie de sloturi, selectați mai întâi un " "instrument din tabelul instrumentelor" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "Faceți clic pe poziția de pornire a ariei circulare de slotuluri" -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "[ERROR_NOTCL] Valoarea este gresita. Verifică ce ai introdus." -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Prea multe sloturi pentru unghiul de distanțare selectat." -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "[success] Terminat. S-a adăugat aria de sloturi." -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "" "Click pe operațiunile de găurire care se dorește să fie redimensionate ..." -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "[ERROR_NOTCL] Redimensionarea operațiunilor de găurire a eșuat. Adaugă o " "valoare pentru dimetrul la care se face redimensionarea." -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "[ERROR_NOTCL] Anulat." -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "[success] Executat. Redimensionarea Perforării / slotului finalizată." -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "" "[WARNING_NOTCL] Anulat. Nu au fost selectate găuri / sloturi pentru " "redimensionare ..." -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "Click pe locatia de referinţă ..." -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "[success] Executat. Operatiile de găurire au fost mutate." -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "[success] Executat. Operatiile de găurire au fost copiate." -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "Editor Excellon" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "Nume:" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Tabela Unelte" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2075,11 +2089,11 @@ msgstr "" "Burghie (unelte) in acest obiect Excellon\n" "când se face găurire." -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "Adaugă/Șterge Unealta" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2087,20 +2101,20 @@ msgstr "" "Adaugă/Șterge o unealtă la lista de unelte\n" "pentru acest obiect Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "Dia. Unealtă:" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "Diametru pentru noua unealtă (burghiu, freza)" -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "Adaugă Unealta" -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2108,11 +2122,11 @@ msgstr "" "Adaugă o unealtă noua la lista de unelte\n" "cu diametrul specificat deasupra." -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "Șterge Unealta" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2120,41 +2134,41 @@ msgstr "" "Șterge o unealtă in lista de unelte\n" "prin selectarea unei linii in tabela de unelte." -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "Redimensionare operațiuni de găurire" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "" "Redimensionează o operaţie de găurire sau o selecţie de operațiuni de " "găurire." -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "Redimensionare Dia:" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "Diametrul la care se face redimensionarea." -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "Redimensionează" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "Redimensionează op. de găurire." -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "Adaugă o arie de op. găurire" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "Adaugă o arie de operațiuni de găurire (arie lineara sau circulara)." -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2162,40 +2176,38 @@ msgstr "" "Selectează tipul de arii de operațiuni de găurire.\n" "Poate fi Liniar X(Y) sau Circular." -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "Liniar" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "Nr. op. găurire" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "Specifica cate operațiuni de găurire să fie incluse in arie." -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "Direcţie:" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2207,61 +2219,62 @@ msgstr "" "- 'Y' - pe axa verticala sau \n" "- 'Unghi' - un unghi particular pentru inclinatia ariei" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Unghi" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 +#: flatcamEditors/FlatCAMExcEditor.py:1642 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "Pitch:" msgstr "Pas:" -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 msgid "Pitch = Distance between elements of the array." msgstr "Pas = Distanta între elementele ariei." -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Angle:" msgstr "Unghi:" -#: flatcamEditors/FlatCAMExcEditor.py:1642 -#: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2273,9 +2286,9 @@ msgstr "" "Val minima este: -359.99 grade.\n" "Val maxima este: 360.00 grade." -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 +#: flatcamEditors/FlatCAMExcEditor.py:1877 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -2283,37 +2296,38 @@ msgstr "" "Directia pentru aria circulara. Poate fi CW = in sensul acelor de ceasornic " "sau CCW = invers acelor de ceasornic" -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 msgid "CW" msgstr "Orar" -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 msgid "CCW" msgstr "Antiorar" -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "" "Unghiul la care fiecare element al ariei circulare este plasat fata de " "originea ariei." -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "Parametrii pt slot" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2321,15 +2335,15 @@ msgstr "" "Parametri pentru adăugarea unui slot (gaură cu formă ovală)\n" "fie single sau ca parte a unei arii." -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "Lungime:" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "Lungime = Lungimea slotului." -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2341,7 +2355,7 @@ msgstr "" "- „Y” - axa verticală sau\n" "- „Unghi” - un unghi personalizat pentru înclinarea slotului" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2353,15 +2367,15 @@ msgstr "" "Valoarea minimă este: -359,99 grade.\n" "Valoarea maximă este: 360,00 grade." -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "Parametri Arie sloturi" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Parametri pentru Aria de sloturi (arie circulară sau liniară)" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2369,15 +2383,15 @@ msgstr "" "Selectați tipul de slot pentru creare.\n" "Poate fi liniar X (Y) sau circular" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "Nr de sloturi:" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "Specificați câte sloturi trebuie să fie în arie." -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2386,25 +2400,25 @@ msgstr "" "Salvează și reeditează obiectul Excellon daca ai nevoie să adaugi aceasta " "unealtă." -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "[success] O noua unealtă este adăugată cu diametrul: {dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "[WARNING_NOTCL] Selectează o unealtă in Tabela de Unelte" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "[success] Unealta stearsa cu diametrul: {del_dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "[success] Terminat. Editarea uneltei a fost finalizată." -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." @@ -2412,46 +2426,44 @@ msgstr "" "[ERROR_NOTCL] Nu exista definitii de unelte in fişier. Se anulează crearea " "de obiect Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "" "[ERROR] A apărut o eroare interna. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "In curs de creere Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "[success] Editarea Excellon a fost terminată." -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "" "[WARNING_NOTCL] Anulata. Nu este selectată nici-o unealtă sau op. de găurire." -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Executat. Operatiile de găurire șterse." -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "Click pe punctul de Centru al ariei circulare." -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "Distanta pt bufer:" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "Coltul pt bufer:" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2465,45 +2477,45 @@ msgstr "" " - 'Beveled:' coltul este inlocuit cu o linie care uneste capetele liniilor " "care formează coltul" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "Rotund" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "Patrat" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "Beveled" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "Bufer interior" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "Bufer Exterior" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "Bufer complet" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "Unealta Bufer" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2511,22 +2523,19 @@ msgstr "" "[WARNING_NOTCL] Valoarea distantei bufer lipseste sau este intr-un format " "gresit. Adaugă din nou și reîncearcă." -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "Unealta Text" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "Unealta" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "Dia unealtă:" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2534,13 +2543,13 @@ msgstr "" "Diametrul uneltei care este utilizata in operaţie. \n" "Este și lăţimea de tăiere pentru uneltele cilindrice." -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "Rata suprapunere:" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2566,15 +2575,12 @@ msgstr "" "Valori mari= procesare lenta cat și o execuţie la fel de lenta a PCB-ului,\n" "datorita numărului mai mare de treceri-tăiere." -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "Margine:" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" @@ -2584,13 +2590,11 @@ msgstr "" "poligonului care trebuie\n" "să fie >pictat<." -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "Metoda:" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." @@ -2598,33 +2602,31 @@ msgstr "" "Algoritm pentru a picta poligonul
Standard: Pas fix spre interior." "
Samanta: Spre exterior pornind de la un punct-samanta." -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Standard" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "Punct-samanta" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Linii drepte" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "Conectează:" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -2633,15 +2635,13 @@ msgstr "" "rezultate pentru a minimiza miscarile\n" "de ridicare a uneltei." -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "Contur:" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -2649,23 +2649,23 @@ msgstr "" "Taie de-a lungul perimetrului poligonului\n" "pentru a elimina bavurile." -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "Pictează" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Unealta Paint" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "[WARNING_NOTCL] Operaţie Paint anulată. Nici-o forma selectată." -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." @@ -2673,14 +2673,14 @@ msgstr "" "[WARNING_NOTCL] Diametrul uneltei lipseste sau este intr-un format " "incompatibil. Adaugă-l și reîncearcă." -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Valoarea de suprapunere a uneltei lipseste sau este intr-un " "format incompatibil. Adaugă-o și reîncearcă." -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." @@ -2688,63 +2688,66 @@ msgstr "" "[WARNING_NOTCL] Valoarea de margine lipseste sau este intr-un format " "incompatibil. Adaugă-o și reîncearcă." -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "Unelte" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "Unealta Transformare" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Rotaţie" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Deformare" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Scalare" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Oglindire" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Ofset" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "Editor %s" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2755,8 +2758,8 @@ msgstr "" "Numerele pozitive inseamna o mișcare in sens ace ceasornic.\n" "Numerele negative inseamna o mișcare in sens invers ace ceasornic." -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2767,15 +2770,16 @@ msgstr "" "formei înconjurătoare care cuprinde\n" "toate formele selectate." -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "Unghi X:" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2784,15 +2788,15 @@ msgstr "" "Valoarea unghiului de Deformare, in grade.\n" "Ia valori Reale între -360 and 359 grade." -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Deformare X" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2803,35 +2807,35 @@ msgstr "" "formei înconjurătoare care cuprinde\n" "toate formele selectate." -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "Unghi Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Deformare Y" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "Factor X:" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "Factor pentru scalarea pe axa X" -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Scalează X" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2841,29 +2845,29 @@ msgstr "" "Punctul de referinţă depinde de \n" "starea checkbox-ului >Referința scalare<." -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "Factor Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "Factor pentru scalarea pe axa Y." -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Scalează Y" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Legatura" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2871,14 +2875,14 @@ msgstr "" "Scalează formele selectate\n" "folsoind factorul: Factor X pentru ambele axe." -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Referința scalare" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2891,25 +2895,25 @@ msgstr "" "toate formele selectate când nu este\n" "bifat și este originea când este bifat." -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "Valoare X:" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "Valoare pentru deplasarea pe axa X." -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "Ofset pe X" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2920,30 +2924,30 @@ msgstr "" "formei înconjurătoare care cuprinde\n" "toate formele selectate.\n" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "Valoare Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "Valoare pentru deplasarea pe axa Y." -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "Ofset pe Y" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "Oglindește pe X" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2951,18 +2955,18 @@ msgstr "" "Oglindește formele selectate peste axa X\n" "Nu crează noi forme." -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "Oglindește pe Y" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "Pt ref" -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2985,13 +2989,13 @@ msgstr "" "Alternativ se pot introduce manual in formatul (x, y). \n" "La final click pe >Oglindește pe X(Y)<." -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "Punct:" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -3001,8 +3005,8 @@ msgstr "" "Valoarea 'x' in (x, y) va fi folosita când se face oglindire pe X\n" "și valoarea 'y' in (x, y) va fi folosita când se face oglindire pe Y." -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -3013,393 +3017,393 @@ msgstr "" "tasta SHIFT.\n" "La final, apasa butonul >Adaugă< pt a le insera." -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformare anulată. Nici-o formă nu este selectată." -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Rotaţie, foloseşte un număr " "Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Deformare X, foloseşte un " "număr Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Deformare Y, foloseşte un " "număr Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Scalare X, foloseşte un " "număr Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Scalare Y, foloseşte un " "număr Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Ofset pe X, foloseşte un " "număr Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Ofset pe Y, foloseşte un " "număr Real." -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Rotaţie!" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "Execuţie Rotaţie" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "[success] Executat. Rotaţie finalizata." -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Oglindire!" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "Execuţie Oglindire" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "Oglindirea pe axa X efectuata ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "Oglindirea pe axa Y efectuata ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Deformare!" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "Execuţie Deformare" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Deformarea pe axa %s executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "[ERROR_NOTCL] Datorită erorii: %s, Deformarea a fost anulată." -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Scalare!" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "Execuţie Scalare" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Scalarea pe axa %s executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "[ERROR_NOTCL] Datorită erorii: %s, Scalarea a fost anulată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Ofset!" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "Execuţie Ofset" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Deplasarea pe axa %s executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "[ERROR_NOTCL] Datorită erorii: %s, Deplasarea a fost anulată." -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "Rotaţie ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "Introdu o valoare in grade pt Unghi:" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "[success] Rotatia formei geometrice executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Rotatia formei geometrice anulată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "Ofset pe axa X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "Introdu of valoare pt Distanta (%s):" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Deplasarea formei geometrice pe axa X executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Deplasarea formei geometrice pe axa X anulată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "Ofset pe axa Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Deplasarea formei geometrice pe axa Y executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Deplasarea formei geometrice pe axa Y anulată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "Deformare pe axa X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Deformarea formei geometrice pe axa X executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Deformarea formei geometrice pe axa X anulată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "Deformare pe axa Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Deformarea formei geometrice pe axa Y executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[success] Deformarea formei geometrice pe axa Y executată ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "Click pe punctul de Centru ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "Click pe un punct aflat pe Circumferintă pentru terminare ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "[success] Executat. Adăugarea unei forme Cerc terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "Click pe punctul de Start ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "Click pe Punctul3 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "Click pe punctulde Stop ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "Click pe punctul de Stop pentru terminare ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "Click pe Punctul2 pentru terminare ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "Click pe punctul de Centru pentru terminare ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "Direcţie: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Mod: Start -> Stop -> Centru. Click pe punctul de Start ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Mod: Point1 -> Point3 -> Point2. Click pe Punctul1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Mod: Center -> Start -> Stop. Click pe punctul de Centru ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "[success] Executat. Adăugarea unei forme Arc terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "Click pe primul colt ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "Click pe punctul opus pentru terminare ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "[success] Executat. Rotaţie finalizata." -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" "Click pe punctul următor sau click buton dreapta al mousului pentru " "terminare ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "[success] Executat. Adăugarea unei forme Poligon terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "Revenit la penultimul Punct ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "[success] Executata. Adăugarea unei forme tip Cale terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "" "[WARNING_NOTCL] MUTARE: Nici-o forma nu este selectată. Selectează o forma " "pentru a putea face deplasare!" -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr "MUTARE: Click pe punctul de referinţă ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr " Click pe punctul de Destinaţie ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "[success] Executat. Mutarea Geometriilor terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "[success] Executat. Copierea Geometriilor terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " @@ -3408,71 +3412,71 @@ msgstr "" "[ERROR] Fontul nu este compatibil. Doar cele tip: Regular, Bold, Italic și " "BoldItalic sunt acceptate. Eroarea:: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "[WARNING_NOTCL] Niciun text de adăugat." -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "[success] Executat. Adăugarea de Text terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "Crează o geometrie de tipe Bufer ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "" "[WARNING_NOTCL] Crearea de geometrie Bufer anulată. Nici-o forma geometrică " "nu este selectată." -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Executat. Unealta Bufer terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "[success] Executat. Unealta Bufer Intern terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "[success] Executat. Unealta Bufer Extern terminată." -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "Selectează o formă geometrică ca formă de stergere ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "Click pentru a activa forma de stergere..." -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "Click pt a sterge ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "[success] Executat. Unealta Stergere s-a terminat." -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "Crează o geometrie Paint ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "Transformări de forme geometrice ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" @@ -3480,20 +3484,20 @@ msgstr "" "[WARNING_NOTCL] Se editeaza un obiect tip Geometrie MultiGeo , unealta: " "{tool} cu diametrul: {dia}" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "" "[WARNING_NOTCL] Copiere anulată. Nici-o forma geometrică nu este selectată." -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "Click pe punctul tinta." -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." @@ -3501,9 +3505,8 @@ msgstr "" "[WARNING_NOTCL] Cel puțin o selecţie de doua forme geometrice este necesară " "pentru a face o Intersecţie." -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" @@ -3511,57 +3514,61 @@ msgstr "" "[ERROR_NOTCL] O valoare de bufer negativă nu se acceptă. Folosete Bufer " "Interior pentru a genera o forma geo. interioara." -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "" "[WARNING_NOTCL] Nici-o forma geometrică nu este selectată pentru a face " "Bufer." -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "[WARNING_NOTCL] Distanta invalida pentru a face Bufer." -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" "[ERROR_NOTCL] Eșuat, rezultatul este gol. Foloseşte o valoare diferita " "pentru Bufer." -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "[success] Geometrie tip Bufer Complet creată." -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "[ERROR_NOTCL] Valoarea bufer negativă nu este acceptată." + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" "[ERROR_NOTCL] Eșuat, rezultatul este gol. Foloseşte of valoare mai mica pt. " "Bufer." -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "[success] Geometrie Bufer interior creată." -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "[success] Geometrie Bufer Exterior creată." -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "" "[WARNING_NOTCL] Nici-o forma geometrică nu este selectată pentru Paint." -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "[WARNING] Valoare invalida pentru {}" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." @@ -3569,7 +3576,7 @@ msgstr "" "[ERROR_NOTCL] Nu se poate face Paint. Valoarea de suprapunere trebuie să fie " "mai puțin de 1.00 (100%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3580,63 +3587,63 @@ msgstr "" "Or o metoda diferita de Paint\n" "%s" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "[success] Paint executat." -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Pentru a adăuga un Pad mai intai selectează o apertură " "(unealtă) in Tabela de Aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" "[WARNING_NOTCL] Dimens. aperturii este zero. Trebuie sa fie mai mare ca zero." -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" "Tip de apertură incompatibil. Selectează o apertură cu tipul 'C', 'R' sau " "'O'." -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "[success] Executat. Adăugarea padului terminată." -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Pentru a adăuga o arie de paduri mai intai selectează o " "apertura (unealtă) in Tabela de Aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "Click pe punctul de Start al ariei de paduri" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "[WARNING_NOTCL] Prea multe paduri pentru unghiul selectat." -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "[success] Executat. Aria de paduri a fost adăugată." -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "Selectează formele si apoi click ..." -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "[ERROR_NOTCL] Eșuat. Nu este nimic selectat." -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." @@ -3644,140 +3651,142 @@ msgstr "" "[WARNING_NOTCL] Esuat. Poligonizarea lucrează doar asupra geometriilor care " "apartin aceleasi aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "[success] Executat. Poligonizare completă." -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "Mod Colt 1: 45 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "Click pe primul punct ..." -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" "Click pe punctul următor sau click buton dreapta al mousului pentru " "terminare ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Mod Colt 2: Invers 45 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "Mod Colt 3: 90 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Mod Colt 4: Invers 90 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "Mod Colt 5: Unghi liber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "Mod Traseu 1: 45 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Mod Traseu 2: Invers 45 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "Mod Traseu 3: 90 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Mod Traseu 4: Invers 90 grade ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "Mod Traseu 5: Unghi liber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "Șterge aperturile Gerber selectate ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "Bufereaza aperturile selectate." -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Marchează ariile poligonale in obiectul Gerber editat ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "[WARNING_NOTCL] Nimic nu este selectat pentru mutare ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "[success] Executat. Mutarea Aperturilor terminată." -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "[success] Executat. Aperturile au fost copiate." -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "Editor Gerber" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" -msgstr "Aperturi:" +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" +msgstr "Aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "Tabela de aperturi pt obiectul Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "Cod" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "Tip" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "Dimens." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "Index" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "Cod" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "" "Tipul aperturilor:\n" @@ -3786,12 +3795,11 @@ msgstr "" "- macro-uri\n" "etc" -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "Dim. aper." -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -3801,15 +3809,15 @@ msgstr "" "- (latime, inaltime) pt tipurile R, O.\n" "- (diametru, nVertices) pt tipul P" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "Cod apertură" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "Diametru pentru noua apertură" -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "Dim. aper" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3822,11 +3830,11 @@ msgstr "" "valoarea este calculată automat prin:\n" "sqrt(lătime**2 + inăltime**2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" -msgstr "Tip aper." +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" +msgstr "Tip aper" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3838,11 +3846,11 @@ msgstr "" "R = rectangular\n" "O = oval" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" -msgstr "Dim. aper." +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" +msgstr "Dim. aper" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -3852,31 +3860,39 @@ msgstr "" "Activă doar pentru aperturile rectangulare (tip 'R').\n" "Formatul este (lătime, inăltime)" -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "Adaugă/Șterge aper." -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "Adaugă/Șterge o apertură din lista de aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "Adaugă o nouă apertură in lista de aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "Șterge o apertură din lista de aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "Bufer pt apertură:" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "Fă bufer pt o apertură din lista de aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "Distanta pt bufer" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "Coltul pt bufer" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3890,25 +3906,25 @@ msgstr "" " - 'Beveled:' coltul este inlocuit cu o linie care uneste capetele liniilor " "care formează coltul" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "Bufer" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" -msgstr "Scalează ap.:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" +msgstr "Scalează aper." -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "Scalează o apertură in lista de aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" -msgstr "Factor Scalare:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" +msgstr "Factor Scalare" -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -3916,19 +3932,19 @@ msgstr "" "Factorul cu care se va face scalarea aperturii selectate.\n" "Poate lua valori intre: 0.000 si 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" -msgstr "Marchează ariile poligonale:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" +msgstr "Marchează ariile poligonale" -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "Marchează ariile poligonale." -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" -msgstr "Pragul de sus pt. arie:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" +msgstr "Pragul de sus pt. arie" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3936,11 +3952,11 @@ msgstr "" "Valoare de prag, toate poligoanele cu arii mai mici vor fi marcate.\n" "Poate lua valori intre: 0.000 si 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" -msgstr "Pragul de jos pt. arie:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" +msgstr "Pragul de jos pt. arie" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3948,20 +3964,20 @@ msgstr "" "Valoare de prag, toate poligoanele cu arii mai mari vor fi marcate.\n" "Poate lua valori intre: 0.000 si 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "Execută!" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "Adaugă o arie de paduri" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "Adaugă o arie de paduri (arie lineara sau circulara)." -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -3969,16 +3985,26 @@ msgstr "" "Selectează tipul de arii de paduri.\n" "Poate fi Liniar X(Y) sau Circular." -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" -msgstr "Nr. paduri:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" +msgstr "Nr. paduri" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "Specifica cate paduri să fie incluse in arie." -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "Direcţie" + +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "Pas" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 +#: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" "[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " "retry." @@ -3986,7 +4012,7 @@ msgstr "" "[WARNING_NOTCL] Valoarea codului aperturii lipseste sau este in format " "greșit. Adaugă din nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:3136 +#: flatcamEditors/FlatCAMGrbEditor.py:3172 msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." @@ -3994,7 +4020,7 @@ msgstr "" "[WARNING_NOTCL] Dimensiunile aperturii lipsesc sau sunt intr-un format " "greșit. Adaugă din nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." @@ -4002,35 +4028,35 @@ msgstr "" "[WARNING_NOTCL] Valoarea mărimii aperturii lipseste sau este in format " "greșit. Adaugă din nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "[WARNING_NOTCL] Apertura este deja in lista de aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "[success] O nouă apertură este adăugată cu codul: {apid}" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "[WARNING_NOTCL] Selectează o unealtă in Tabela de Aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "[WARNING_NOTCL] Selectează o unealtă in Tabela de Aperturi --> %s" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "[success] Unealta cu diametrul: {del_dia} a fost stearsă" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "Se adaugă apertura: %s geo ..." -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." @@ -4038,28 +4064,28 @@ msgstr "" "[ERROR_NOTCL] Nu există definitii de aperturi in fişier. Se anulează crearea " "de obiect Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "Gerber in curs de creare." -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "[success] Editarea Gerber a fost terminată." -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Anulat. Nici-o apertură nu este selectată." -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" "[WARNING_NOTCL] Anulat. Nici-o geometrie de apertură nu este selectată." -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Executat. Geometriile aperturilor au fost șterse." -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -4067,7 +4093,7 @@ msgstr "" "[WARNING_NOTCL] Nici-o apertură sel. pt a face bufer. Selectează cel puțin o " "apertură și încearcă din nou." -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" @@ -4076,7 +4102,7 @@ msgstr "" "[ERROR_NOTCL] Actiune esuată.\n" "%s" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -4084,7 +4110,7 @@ msgstr "" "[WARNING_NOTCL] Valoarea factorului de scalare lipseste sau este in format " "gresit. Adaugă din nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -4092,108 +4118,108 @@ msgstr "" "[WARNING_NOTCL] Nici-o apertură sel. pt scalare. Selectează cel puțin o " "apertură și încearcă din nou." -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "[success] Executat. Unealta Scalare a terminat." -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "[success] Ariile poligonale sunt marcate." -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "[WARNING_NOTCL] Nu există poligoane care sa fie marcate." -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "&Fişiere" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "&Proiect Nou...\tCTRL+N" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "Se va crea un proiect nou, fără continut" -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "&Nou" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "Geometrie\tN" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "Va crea un obiect nou de tip Geometrie, fără continut." -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "Va crea un obiect nou de tip Gerber, fără continut." -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "Va crea un obiect nou de tip Excellon, fără continut." -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Încarcă" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "Încarcă &Project ..." -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "Încarcă &Gerber ...\tCTRL+G" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "Încarcă &Excellon ...\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "Încarcă G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "Încarcă Config ..." -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "Proiectele recente" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "Fişierele Recente" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "Scripting" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "Script nou ..." -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "Încarcă &Script..." -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "Rulează Script ...\tSHIFT+S" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4203,43 +4229,43 @@ msgstr "" "o automatizare a anumitor functii\n" "din FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "Import" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "&SVG ca și obiect Geometrie ..." -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "&SVG ca și obiect Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "&DXF ca și obiect Geometrie ..." -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "&DXF ca și obiect Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "Export" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "Exporta &SVG ..." -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "Exporta DXF ..." -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "Exporta &PNG ..." -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -4249,11 +4275,11 @@ msgstr "" "imagina salvata va contine elementele vizuale\n" "afisate in zona de afișare." -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "Exporta Excellon ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -4263,11 +4289,11 @@ msgstr "" "Formatul coordonatelor, unitatile de masura și tipul\n" "de zerouri se vor seta in Preferințe -> Export Excellon." -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "Exporta &Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -4277,59 +4303,59 @@ msgstr "" "Formatul coordonatelor, unitatile de măsură și tipul\n" "de zerouri se vor seta in Preferințe -> Export Gerber." -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "Backup" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "Importați Preferințele din fișier ..." -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "Exportați Preferințele într-un fișier ..." -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "Salvează" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "&Salvează Proiect ..." -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "Salvează Proiect &ca ...\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "Salvează o C&opie Proiect..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "Iesire" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "&Editare" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "Editare Obiect\tE" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "Salvează Editor\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "Conversii" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "&Fuzionează Geo/Gerber/Exc -> Geo" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -4343,29 +4369,29 @@ msgstr "" "- Geometrie\n" "intr-un nou obiect tip Geometrie >combo<." -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "Fuzionează Excellon(s) -> Excellon" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" "Fuzionează o selecţie de obiecte Excellon intr-un nou obiect Excellon >combo<" -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "Fuzionează Gerber(s) -> Gerber" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "" "Fuzionează o selecţie de obiecte Gerber intr-un nou obiect Gerber >combo<" -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "Converteste SingleGeo in MultiGeo" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -4373,11 +4399,11 @@ msgstr "" "Va converti un obiect Geometrie din tipul simpla geometrie (SingleGeo)\n" "la tipul geometrie complexa (MultiGeo)." -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "Converteste MultiGeo in SingleGeo" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -4385,632 +4411,632 @@ msgstr "" "Va converti un obiect Geometrie din tipul geometrie complexa (MultiGeo)\n" "la tipul geometrie simpla (SingleGeo)." -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "Converteste Oricare to Geo" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "Converteste Oricare in Gerber" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "&Copiază\tCTRL+C" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "&Șterge\tDEL" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "Se&tează Originea\tO" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "Sari la Locaţie\tJ" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "Comută Unitati\tQ" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "&Selectează Tot\tCTRL+A" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "&Preferințe\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "&Opțiuni" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "&Roteste Selectia\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "&Deformează pe axa X\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "Deformează pe axa Y\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "Oglindește pe axa &X\tX" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "Oglindește pe axa &Y\tY" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "Vezi sursa\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "&Vizualizare" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "Activează toate afişările\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "Dezactivează toate afişările\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "Dezactivează non-selectate\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "&Mărește și potrivește\tV" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "&Măreste\t=" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "&Micșorează\t-" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "Comută Editorul de cod\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "Comută FullScreen\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "Comută Aria de Afișare\tCTRL+F10" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "Comută Proiect/Sel/Unealta\t`" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "Comută Grid\tG" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "Comută Axe\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "Comută Suprafata de lucru\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "Unelte" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "&Linie de comanda\tS" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "Ajutor" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "Ajutor\tF1" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "FlatCAM.org" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "Lista shortcut-uri\tF3" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "YouTube \tF4" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "Despre" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "Adaugă Cerc\tO" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "Adaugă Arc\tA" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "Adaugă Patrulater\tR" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "Adaugă Poligon\tN" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "Adaugă Cale\tP" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "Adaugă Text\tT" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "Uniune Poligoane\tU" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "Intersecţie Poligoane\tE" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "Substracţie Poligoane\tS" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "Tăiere Cale\tX" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "Copiază Geo\tC" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "Șterge forma Geo.\tDEL" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "Muta\tM" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "Unealta Bufer\tB" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "Unealta Paint\t" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "Unealta Transformare\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "Comută lipire colt\tK" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr ">Editor Excellon<" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "Adaugă Arie Găuriri\tA" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "Adaugă Găurire\tD" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "Adăugați Arie de Sloturi\tQ" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "Adăugați Slot\tW" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "Redimens. Găuriri\tR" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "Copiază\tC" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "Șterge\tDEL" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "Muta Găuriri\tM" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr ">Editor Gerber<" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "Adaugă Pad\tP" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "Adaugă Arie paduri\tA" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "Adaugă Traseu\tA" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "Adaugă Regiune\tN" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "Poligonizare\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "Adaugă SemiDisc\tE" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "Adaugă Disc\tD" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "Bufer\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "Scalare\tS" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "Marchează aria\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "Radieră\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "Unealta Transformare\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "Activează Afișare" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "Dezactivează Afișare" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "Generează CNC" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "Vizualiz. Sursa" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "Editează" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "Proprietati" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "Toolbar Fişiere" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "Toolbar Editare" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "Toolbar Vizualizare" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "Toolbar Linie de comanda" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "Toolbar Unelte" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "Toolbar Editor Excellon" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "Toolbar Editor Geometrii" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "Toolbar Editor Gerber" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "Toolbar Grid-uri" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "Încarcă Proiect" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "Salvează Proiect" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "Geometrie Noua (goală)" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "Gerber Nou (gol)" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "Excellon nou (gol)" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "Editor" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "Salvează Obiectul și inchide Editorul" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "&Șterge" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "&Reafișare" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "&Șterge Afișare" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "Marire" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "Micsorare" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "Marire și ajustare" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "&Linie de comanda" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "Unealta 2-fețe" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "Unealta Decupare" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "Unealta NCC" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "Unealta Panel" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "Unealta Film" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "Unealta Dispenser SP" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "Unealta Scădere" -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "Unealta Calculatoare" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "Selectează" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "Adaugă o Găurire" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "Adaugă o arie de Găuriri" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "Adaugă Slot" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "Adaugă o Arie sloturi" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "Redimens. Găurire" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "Copiază Găurire" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "Șterge Găurire" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "Muta Găurire" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "Adaugă Cerc" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "Adaugă Arc" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "Adaugă Patrulater" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "Adaugă Cale" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "Adaugă Poligon" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "Adaugă Text" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "Adaugă Bufer" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "Paint o forma" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "Stergere Selectivă" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "Uniune Poligoane" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "Intersecţie Poligoane" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "Substracţie Poligoane" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "Taie Cale" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "Copiază forme geo." -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "Șterge forme geo." -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "Transformări" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "Muta obiecte" -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "Adaugă Pad" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "Adaugă Traseu" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "Adaugă Regiune" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "Poligonizare" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "SemiDisc" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "Disc" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "Marc. aria" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "Mutare" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "Lipire la grid" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "Distanta de lipire la grid pe axa X" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "Distanta de lipire la grid pe axa Y" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -5018,64 +5044,64 @@ msgstr "" "când este activ, valoarea de pe Grid_X\n" "este copiata și in Grid_Y" -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "Lipire la colt" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "Distanta magnetica maxima" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "Proiect" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "Selectat" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "Arie Afișare" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "General" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "Default for App" -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "Opțiuni Proiect" -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "GEOMETRIE" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "CNCJob" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "Unelte" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "Importa Preferințele" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -5089,11 +5115,11 @@ msgstr "" "FlatCAM salvează automat un fişier numit 'factory_defaults'\n" "la prima pornire. Nu șterge acel fişier." -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "Exporta Preferințele" -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -5101,15 +5127,15 @@ msgstr "" "Exporta un set complet de setări ale FlatCAM\n" "intr-un fişier care se salvează pe HDD." -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "Deschide Pref Dir" -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Deschide directorul unde FlatCAM salvează fişierele cu setări." -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -5117,7 +5143,7 @@ msgstr "" "Salvează setările curente in fişierul numit: 'current_defaults'\n" "fişier care este cel unde se salvează preferințele cu care se va lucra." -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" "
 
Editor Shortcut list
\n" "
\n" @@ -6357,134 +6383,133 @@ msgstr "" "
\n" " " -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "Comută Vizibilitate" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "Comută Panel" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "Nou" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "Geometrie" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "Grid-uri" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "Vizualizare" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "Șterge Afișare" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "Reafișare" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "Editor Geometrii" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "Pe cale" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "Patrulater" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "Cerc" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "Poligon" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "Arc" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "Text" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "Uniune" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "Intersecţie" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "Scădere" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "Tăiere" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "Pad" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "Arie de paduri" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "Traseu" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "Regiune" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "Editor EXC." -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "Adaugă găurire" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "Preview tiparire" -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "Tipareste Cod" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "Cauta in Cod" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "Inlocuieste cu" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "Toate" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -6493,199 +6518,203 @@ msgstr "" "'Cauta'\n" "cu textul din casuta 'Inlocuieste'" -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "Deschide Cod" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "Salvează Cod" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" msgstr "" -"Masuratoare relativa.\n" +"Măsurătoare relativă.\n" "Referința este poziţia ultimului click pe canvas." -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" msgstr "" -"Masuratoare absoluta.\n" +"Măsurătoare absolută.\n" "Referința este originea (0, 0)." -#: flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" +msgstr "Blochează Toolbar-uri" + +#: flatcamGUI/FlatCAMGUI.py:2013 msgid "Select 'Esc'" msgstr "Select" -#: flatcamGUI/FlatCAMGUI.py:2011 +#: flatcamGUI/FlatCAMGUI.py:2038 msgid "Copy Objects" msgstr "Copiază Obiecte" -#: flatcamGUI/FlatCAMGUI.py:2013 +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "Șterge forme geo" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" -msgstr "Muta Obiecte" +msgstr "Mută Obiecte" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" "out of the first item. In the end press ~X~ key or\n" "the toolbar button." msgstr "" -"Mai intai selectează o forma geometrică care trebuie taiata\n" -"apoi selectează forma geo. taietoare. La final apasa tasta ~X~ sau\n" +"Mai intai selectează o forma geometrică care trebuie tăiată\n" +"apoi selectează forma geo. tăietoare. La final apasă tasta ~X~ sau\n" "butonul corespunzator din Toolbar." -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "Atenţie" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "[WARNING_NOTCL] Anulat." -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." msgstr "" -"Selectează forma geometrică asupra careia să se\n" +"Selectează forma geometrică asupra căreia să se\n" "aplice Unealta Intersecţie." -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." msgstr "" -"Selectează forma geometrică asupra careia să se\n" +"Selectează forma geometrică asupra căreia să se\n" "aplice Unealta Substracţie." -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." msgstr "" -"Selectează forma geometrică asupra careia să se\n" +"Selectează forma geometrică asupra căreia să se\n" "aplice Unealta Uniune." -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "[WARNING_NOTCL] Anulat. Nimic nu este selectat pentru ștergere." -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "[WARNING_NOTCL] Anulat. Nimic nu este selectat pentru copiere." -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "[WARNING_NOTCL] Anulat. Nimic nu este selectat pentru mutare." -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "O noua Unealtă ..." -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" -msgstr "Introdu un Diametru de Unealtă:" +msgstr "Introduceti un Diametru de Unealtă:" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "Măsurătoarea s-a terminat ..." -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "Preferințe GUI" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "Valoarea Grid_X:" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "Aceasta este valoare pentru lipire pe Grid pe axa X." -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "Valoarea Grid_Y:" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "Aceasta este valoare pentru lipire pe Grid pe axa Y." -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "Lipire Max:" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "Spatiu de lucru:" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." msgstr "" -"Desenează un patrulater care delimitează o asuprafata de lucru.\n" +"Desenează un patrulater care delimitează o suprafată de lucru.\n" "Scopul este de a ilustra limitele suprafetei noastre de lucru." -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "Format SL:" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." msgstr "" "Selectează tipul de patrulater care va fi desenat pe canvas,\n" -"pentru a delimita suprafata de lucru disponibila (SL)." +"pentru a delimita suprafata de lucru disponibilă (SL)." -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "Culoare Afișare:" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" "digits are for alpha (transparency) level." msgstr "" "Setează culoarea pentru obiectele afisate.\n" -"Primii 6 digiti sunt culoarea efectiva și ultimii\n" +"Primii 6 digiti sunt culoarea efectivă și ultimii\n" "doi sunt pentru nivelul de transparenţă (alfa)." -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "Nivel Alfa:" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." -msgstr "Setează nivelul de transparenţa pentru obiectele afisate." +msgstr "Setează nivelul de transparenţă pentru obiectele afisate." -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "Culoare contur:" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "Setează culoarea conturului." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "Culoare Selecţie:" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6694,30 +6723,30 @@ msgid "" msgstr "" "Setează culoarea pentru forma de selectare in cazul\n" "in care selectia se face de la stânga la dreapta.\n" -"Primii 6 digiti sunt culoarea efectiva și ultimii\n" +"Primii 6 digiti sunt culoarea efectivă și ultimii\n" "doi sunt pentru nivelul de transparenţă (alfa)." -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" "Setează transparenţa formei de selecţie când selectia\n" "se face de la stânga la dreapta." -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "Contur Selecţie:" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "" "Setează transparenţa conturului formei de selecţie\n" "când selectia se face de la stânga la dreapta." -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "Culoare Selecţie 2:" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6729,53 +6758,53 @@ msgstr "" "Primii 6 digiti sunt culoarea efectiva și ultimii\n" "doi sunt pentru nivelul de transparenţă (alfa)." -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" "Setează transparenţa formei de selecţie când selectia\n" "se face de la dreapta la stânga." -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "Contur Selecţie 2:" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "" "Setează transparenţa conturului formei de selecţie\n" "când selectia se face de la dreapta la stânga." -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "Desen Editor:" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "Setează culoarea pentru forma geometrică din Editor." -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "Sel. Desen Editor:" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "" "Setează culoarea formei geometrice in Editor\n" "când se face o selecţie." -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "Elemente Proiect:" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "Setează culoarea elementelor din tab-ul Proiect." -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "Elem. proj. dez." -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -6783,39 +6812,39 @@ msgstr "" "Setează culoarea elementelor din tab-ul Proiect\n" "in cazul in care elementele sunt dezactivate." -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "Setări GUI" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "Amplasare:" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." msgstr "" "Selectează un stil de amplasare a elementelor GUI in FlatCAM.\n" -"Se aplica imediat." +"Se aplică imediat." -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "Stil:" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." msgstr "" "Selectează un stil pentru FlatCAM.\n" -"Se va aplica la urmatoarea pornire a aplicaţiei." +"Se va aplic la următoarea pornire a aplicaţiei." -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "Suport H-DPI:" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -6824,11 +6853,11 @@ msgstr "" "Util pentru monitoarele 4k.\n" "Va fi aplicată la următoarea pornire a aplicaţiei." -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "Șterge setările GUI:" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6836,29 +6865,29 @@ msgstr "" "Șterge setările GUI pentru FlatCAM,\n" "cum ar fi: amplasare, stare UI, suport HDPI sau traducerea." -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "Șterge" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "Forma Hover:" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" "over any kind of not-selected object." msgstr "" -"Activează o forma când se tine mouse-ul deasupra unui obiect\n" -"in canvas-ul FlatCAM. Forma este afișată doar daca obiectul \n" +"Activează o formă când se tine mouse-ul deasupra unui obiect\n" +"in canvas-ul FlatCAM. Forma este afișată doar dacă obiectul \n" "nu este selectat." -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "Forma Sel.:" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -6867,49 +6896,51 @@ msgid "" msgstr "" "Activează o formă de selectie pt obiectele FlatCAM.\n" "Se afisează când mouse-ul selectează un obiect\n" -"pe canvas-ul FlatCAM fie facând click pe obiect fie prin\n" +"pe canvas-ul FlatCAM fie făcând click pe obiect fie prin\n" "crearea unei ferestre de selectie." -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "Dim. font NB:" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" "and include the Project, Selected and Tool tabs." msgstr "" -"Aceasta stabilește dimensiunea fontului pentru elementele găsite în " -"Notebook.\n" +"Aceasta stabilește dimensiunea fontului pentru elementele \n" +"găsite în Notebook.\n" "Notebook-ul este zona pliabilă din partea stângă a GUI,\n" "și include filele Proiect, Selectat și Unelte." -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "Dim. font axe:" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "Aceasta setează dimensiunea fontului pentru axele zonei de afisare." -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Esti sigur că dorești să ștergi setările GUI?\n" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "Șterge Setările GUI" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "Preferințele Aplicaţie" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" -msgstr "Unitati:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" +msgstr "Unităti" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -6918,21 +6949,21 @@ msgstr "" "Unitatea de masura pt FlatCAM.\n" "Este setată la fiecare pornire a programului." -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "Inch" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" -msgstr "Nivel aplic.:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" +msgstr "Nivel aplicatie" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -6948,27 +6979,45 @@ msgstr "" "Alegerea efectuata aici va influenta ce aparamtri sunt disponibili\n" "in Tab-ul SELECTAT dar și in alte parti ale FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "Baza" -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "Avansat" -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" -msgstr "Traduceri:" +#: flatcamGUI/FlatCAMGUI.py:3988 +msgid "Portable app" +msgstr "Aplicație portabilă" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" +"Alegeți dacă aplicația ar trebui să funcționeze in modul portabil.\n" +"\n" +"Dacă e bifat, aplicația va rula portabil,\n" +"ceea ce înseamnă că fișierele de preferințe vor fi salvate\n" +"în folderul aplicației, în subfolderul lib \\ config." + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "Traduceri" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "Setează limba folosita pentru textele din FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "Aplica Traducere" -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -6984,11 +7033,11 @@ msgstr "" "Program Files este posibil ca aplicatia să nu se restarteze\n" "după click datorită unor setări de securitate ale Windows. " -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" -msgstr "Shell la pornire:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" +msgstr "Shell la pornire" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -6997,11 +7046,11 @@ msgstr "" "automata a ferestrei Shell (linia de comanda)\n" "la initializarea aplicaţiei." -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" -msgstr "Verificare versiune:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" +msgstr "Verificare versiune" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -7010,11 +7059,11 @@ msgstr "" "daca exista o versiune mai noua,\n" "la pornirea aplicaţiei." -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" -msgstr "Statistici:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" +msgstr "Statistici" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -7024,11 +7073,11 @@ msgstr "" "aplicaţia. In acest fel dezvoltatorii vor sti unde să se focalizeze\n" "in crearea de inbunatatiri." -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" -msgstr "Buton Pan (mișcare):" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" +msgstr "Buton Pan (mișcare)" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -7038,35 +7087,35 @@ msgstr "" "- MMB - butonul din mijloc al mouse-ului\n" "- RMB - butonul in dreapta al mouse-ului." -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "MMB" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "RMB" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" -msgstr "Sel. multipla:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" +msgstr "Sel. multiplă" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "Selectează tasta folosita pentru selectia multipla." -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" -msgstr "Proiect la pornire:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" +msgstr "Proiect la pornire" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -7074,11 +7123,11 @@ msgstr "" "Bifează aici daca dorești ca zona Notebook să fie\n" "afișată automat la pornire." -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" -msgstr "Ascundere Proiect:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" +msgstr "Ascundere Proiect" -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -7088,11 +7137,11 @@ msgstr "" "când nu sunt obiecte incărcate și să fie afișată automat\n" "când un obiect nou este creat/incărcat." -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" -msgstr "Activează ToolTip-uri:" +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" +msgstr "Activează ToolTip-uri" -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -7100,11 +7149,11 @@ msgstr "" "Bifează daca dorești ca să fie afisate texte explicative când se\n" "tine mouse-ul deasupra diverselor texte din FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" -msgstr "Număr de worker's:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" +msgstr "Număr de worker's" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -7120,11 +7169,11 @@ msgstr "" "Valoarea standard este 2.\n" "Dupa schimbarea valoarii, se va aplica la următoarea pornire a aplicatiei." -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" -msgstr "Toleranta geometrică:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" +msgstr "Toleranta geometrică" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -7140,11 +7189,11 @@ msgstr "" "O valoare mai mare va oferi mai multă performantă dar in\n" "defavoarea nievelului de detalii." -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "Stil \"Încarcare\"" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -7162,11 +7211,11 @@ msgstr "" "ambele \n" "cazuri: fie că se deschide un fisier, fie că se salvează un fisier." -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "Confirmare de ștergere a obiectului" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -7176,11 +7225,11 @@ msgstr "" "ori de câte ori este declanșat evenimentul de Ștergere a \n" "unor obiecte, fie de cu ajutorul meniurilor sau cu combinatii de taste." -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "Salvează Proiectul comprimat" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -7189,11 +7238,11 @@ msgstr "" "Când este bifat aici, se va salva o arhiva a proiectului\n" "lucru care poate reduce dimensiunea semnificativ." -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" -msgstr "Nivel compresie:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" +msgstr "Nivel compresie" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -7204,53 +7253,55 @@ msgstr "" "dar cu consum redus de resurse in timp ce valoarea 9 cere multa memorie RAM\n" "și in plus, durează semnificativ mai mult." -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "Gerber General" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" -msgstr "Opțiuni afișare:" +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" +msgstr "Opțiuni afișare" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "Solid" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "Poligoane color solide." -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "M-Color" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "" "Desenează poligoanele Gerber din multiple culori\n" "alese in mod aleator." -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "Afisează" -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "Afisează (arata) acest obiect." -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" -msgstr "Aprox. Cerc" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" +msgstr "Pași pt. cerc" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -7258,15 +7309,15 @@ msgstr "" "Numărul de segmente utilizate pentru\n" "aproximarea lineara a aperturilor Gerber circulare." -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "Opțiuni Gerber" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" -msgstr "Izolare:" +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" +msgstr "Izolare" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7275,17 +7326,23 @@ msgstr "" "care să fie taiate in afara poligoanelor,\n" "urmărindu-le conturul." -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "Dia unealtă" + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "Diametrul uneltei taietoare." -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" -msgstr "Latime(# treceri):" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" +msgstr "# Treceri" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7293,11 +7350,11 @@ msgstr "" "Lăţimea spatiului de izolare\n" "in număr intreg de grosimi ale uneltei." -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" -msgstr "Suprapunere:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" +msgstr "Suprapunere" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7311,11 +7368,11 @@ msgstr "" "Exemplu:\n" "O valoare de 0.25 reprezinta o suprapunere de 25%% din diametrul uneltei." -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" -msgstr "Tip Frezare:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" +msgstr "Tip Frezare" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7326,42 +7383,45 @@ msgstr "" "uneltei\n" "- conventional -> pentru cazul când nu exista o compensare a 'backlash-ului'" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "Urcare" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "Conv." -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "Combina" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "Combina toate trecerile intr-un singur obiect" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" -msgstr "Curăță non-Cu:" +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" +msgstr "Regiuni fără Cu" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -"Crează un obiect tip Geometrie cu traiectorii unealtă\n" -"care să curete de cupru toate zonele unde se dorește să nu \n" -"fie cupru." +"Crează poligoane acopering zonele fără\n" +"cupru de pe PCB. Echivalent cu inversul\n" +"obiectului sursa. Poate fi folosit pt a indeparta\n" +"cuprul din zona specificata." -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" -msgstr "Margine:" +msgid "Boundary Margin" +msgstr "Margine" -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7372,23 +7432,23 @@ msgstr "" "unei forme patratice de jur imprejurul la toate obiectele\n" "la o distanţa minima cu valoarea din acest câmp." -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" -msgstr "C. rotunjite" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" +msgstr "Geo rotunjita" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." msgstr "" -"Crează un obiect tip Geometrie conținând poligoane\n" -"care acopera toate suprafetele libere de cupru ale PCB-ului." +"Obiectul Geometrie rezultat \n" +"va avea colțurile rotunjite." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" -msgstr "Forma înconjurătoare::" +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" +msgstr "Forma înconjurătoare::" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7396,7 +7456,7 @@ msgstr "" "Distanta de la marginile formei înconjurătoare\n" "pana la cel mai apropiat poligon." -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7406,15 +7466,15 @@ msgstr "" "Daca forma înconjurătoare să aibă colțuri rotunjite.\n" "Raza acesor colțuri va fi egală cu parametrul Margine." -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "Opțiuni Av. Gerber" -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" -msgstr "Param. avansati.:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." +msgstr "Param. avansați" -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -7425,11 +7485,11 @@ msgstr "" "când este selectat Nivelul Avansat pentru\n" "aplicaţie in Preferințe - > General" -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "\"Urmareste\"" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7439,11 +7499,11 @@ msgstr "" "Mai exact, in loc să se genereze un poligon se va genera o 'linie'.\n" "In acest fel se taie prin mijlocul unui traseu și nu in jurul lui." -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "Arata/Ascunde Tabela" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -7453,15 +7513,15 @@ msgstr "" "când se ascunde aceasta, se vor șterge și toate\n" "posibil afisatele marcaje ale aperturilor." -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "Export Gerber" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" -msgstr "Opțiuni Export::" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" +msgstr "Opțiuni de Export" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -7470,25 +7530,21 @@ msgstr "" "se exporta un fişier Gerber folosind:\n" "File -> Exportă -> Exportă Gerber" -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "Unitati:" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "Unitătile de măsură folosite in fişierul Gerber." -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "Inch" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" -msgstr "Int/Zecimale:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" +msgstr "Înt/Zecimale:" -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -7496,7 +7552,7 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "intreagă si in partea fractională a numărului." -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -7504,7 +7560,7 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "intreagă a coordonatelor Gerber." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -7512,11 +7568,11 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "zecimală a coordonatelor Gerber." -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" -msgstr "Zero-uri:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" +msgstr "Zero-uri" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7532,35 +7588,36 @@ msgstr "" "cele de la final sunt păstrate.\n" "(Invers fată de fişierele Excellon)." -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" -msgstr "Parametri:" +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 +msgid "Parameters" +msgstr "Parametri" -#: flatcamGUI/FlatCAMGUI.py:4500 +#: flatcamGUI/FlatCAMGUI.py:4569 msgid "A list of Gerber Editor parameters." msgstr "O listă de parametri ai Editorului Gerber." -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" -msgstr "Limita selecţie:" +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" +msgstr "Limita selecţie" -#: flatcamGUI/FlatCAMGUI.py:4510 +#: flatcamGUI/FlatCAMGUI.py:4579 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -7573,15 +7630,109 @@ msgstr "" "Creste performanta cand se mută un număr mai mare\n" "de elemente geometrice." -#: flatcamGUI/FlatCAMGUI.py:4530 +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "Cod pt aperture noua" + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "Dim. pt aperture noua" + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "Dim. pentru noua apertură" + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "Tip pt noua apaertura" + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" +"Tipul noii aperture.\n" +"Poate fi „C”, „R” sau „O”." + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "Dim. aper" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "Diametrele pentru unelte tăietoare, separate cu virgula" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +msgid "%s:" +msgstr "%s:" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "Dir. Lineara" + +#: flatcamGUI/FlatCAMGUI.py:4686 +msgid "Circular Pad Array" +msgstr "Arie de Sloturi circ" + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "Directie circ." + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" +"Directia pentru aria circulară.\n" +"Poate fi CW = in sensul acelor de ceasornic sau CCW = invers acelor de " +"ceasornic" + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "Unghi circ." + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "Distanța la care se bufferează elementul Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "Unalta de Scalare" + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "Factor pentru scalarea elementului Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "Unealta de Marc. Arie" + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "Prag minim" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "Valoarea pragului sub care aperturile nu sunt marcate." + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "Valoarea pragului peste care nu sunt marcate aperturile." + +#: flatcamGUI/FlatCAMGUI.py:4770 msgid "Excellon General" msgstr "Excellon General" -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" -msgstr "Formatul Excellon" +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" +msgstr "Format Excellon" -#: flatcamGUI/FlatCAMGUI.py:4554 +#: flatcamGUI/FlatCAMGUI.py:4794 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7627,18 +7778,14 @@ msgstr "" "Sprint Layout 2:4 INCH LZ\n" "KiCAD 3:5 INCH TZ" -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "Inch" - -#: flatcamGUI/FlatCAMGUI.py:4582 +#: flatcamGUI/FlatCAMGUI.py:4822 msgid "Default values for INCH are 2:4" msgstr "" "Valorile default pentru Inch sunt 2:4\n" "adica 2 parti intregi și 4 zecimale." -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -7646,8 +7793,8 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "intreaga a coordonatelor Excellon." -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -7655,21 +7802,21 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "zecimala a coordonatelor Excellon." -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" msgstr "Metric" -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4855 msgid "Default values for METRIC are 3:3" msgstr "" "Valorile default pentru Metric sunt 3:3\n" "adica 3 parti intregi și 3 zecimale." -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" -msgstr "Suprimare Zero:" +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" +msgstr "Suprimare Zero" -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7685,7 +7832,7 @@ msgstr "" "cele de la final sunt pastrate.\n" "(Invers fata de fişierele Gerber)." -#: flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4900 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -7704,11 +7851,11 @@ msgstr "" "cele de la final sunt pastrate.\n" "(Invers fata de fişierele Gerber)." -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" -msgstr "Unitati Excellon:" +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" +msgstr "Unitati Excellon" -#: flatcamGUI/FlatCAMGUI.py:4673 +#: flatcamGUI/FlatCAMGUI.py:4913 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -7722,7 +7869,7 @@ msgstr "" "(unde se gasesc unitatile) și atunci se va folosi\n" "aceasta valoare." -#: flatcamGUI/FlatCAMGUI.py:4684 +#: flatcamGUI/FlatCAMGUI.py:4924 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -7735,15 +7882,15 @@ msgstr "" "(unde se gasesc unitatile) și atunci se va folosi\n" "aceasta valoare." -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" -msgstr "Optimizarea traseului Excellon:" +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" +msgstr "Optimizare Excellon" -#: flatcamGUI/FlatCAMGUI.py:4695 +#: flatcamGUI/FlatCAMGUI.py:4935 msgid "Algorithm: " msgstr "Algoritm:" -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -7767,15 +7914,15 @@ msgstr "" "care nu este compatibila cu pachetul OR Tools și in acest caz se foloseşte\n" "algoritmul default: Travelling Salesman (vanzatorul ambulant)." -#: flatcamGUI/FlatCAMGUI.py:4708 +#: flatcamGUI/FlatCAMGUI.py:4948 msgid "MH" msgstr "MH" -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " -msgstr "Durata optimiz.:" +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" +msgstr "Durata optimiz." -#: flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -7786,15 +7933,16 @@ msgstr "" "reprezinta cat timp se sta pentru fiecare element in\n" "incercarea de a afla calea optima." -#: flatcamGUI/FlatCAMGUI.py:4768 +#: flatcamGUI/FlatCAMGUI.py:5008 msgid "Excellon Options" msgstr "Opțiuni Excellon" -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" -msgstr "Crează CNCJob" +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" +msgstr "Crează CNCJob" -#: flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -7802,13 +7950,13 @@ msgstr "" "Parametrii folositi pentru a crea un obiect FlatCAM tip CNCJob\n" "din acest obiect Excellon." -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" -msgstr "Z tăiere:" +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" +msgstr "Z tăiere" -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -7817,12 +7965,12 @@ msgstr "" "Daca se foloseşte o val. pozitivă, aplicaţia\n" "va incerca in mod automat să schimbe semnul." -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" -msgstr "Z Deplasare:" +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" +msgstr "Z Deplasare" -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -7831,12 +7979,12 @@ msgstr "" "in planul X-Y, fără a efectua taieri, adica\n" "in afara materialului." -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" -msgstr "Schimbare unealtă:" +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" +msgstr "Schimb unealtă" -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -7845,36 +7993,36 @@ msgstr "" "in codul G-Code (pauza pentru schimbare unealtă).\n" "De obicei este folosita comanda G-Code M6." -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" -msgstr "Z schimb. unealtă:" +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" +msgstr "Z schimb. unealtă" -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." -msgstr "" -"Înălţimea la care se efectuează schimbarea uneltei.\n" -"Poate reprezenta Înălţimea unde se gaseste un\n" -"'toolchanger' automat sau acolo unde utilizatorul\n" -"schimba unealtă manual." +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "Înălţimea, pe axa Z, pentru schimbul uneltei." -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" -msgstr "Feedrate:" +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" +msgstr "Feedrate (Plonjare):" -#: flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 msgid "" "Tool speed while drilling\n" -"(in units per minute)." +"(in units per minute).\n" +"This is for linear move G01." msgstr "" -"Viteza cu care se misca unealtă (burghiul) când se fac\n" -"operațiuni de găurire. In unitati pe minut." +"Viteza uneltei când se face găuriea\n" +"(in unitati pe minut).\n" +"Aceasta este mișcarea lineara G01." -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" -msgstr "Viteza Motor:" +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" +msgstr "Viteza Motor" -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7884,11 +8032,11 @@ msgstr "" "Acest parametru este optional și se poate lasa gol\n" "daca nu se foloseşte." -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" -msgstr "Directie Motor:" +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." +msgstr "Directie Motor" -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -7900,13 +8048,13 @@ msgstr "" "- CW = in sensul acelor de ceasornic\n" "- CCW = in sensul invers acelor de ceasornic" -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" -msgstr "Pauza:" +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" +msgstr "Pauza" -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7914,34 +8062,33 @@ msgstr "" "O pauza care permite motorului să ajunga la turatia specificata,\n" "inainte de a incepe mișcarea spre poziţia de tăiere (găurire)." -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 +#: flatcamGUI/FlatCAMGUI.py:5098 msgid "Duration:" msgstr "Durata:" -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." -msgstr "Timpul (ori secunde ori milisec) cat se sta in pauza." +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." +msgstr "Timpul (ori secunde ori milisec) cat se stă in pauză." -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" -msgstr "Postprocesor:" +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" +msgstr "Postprocesor" -#: flatcamGUI/FlatCAMGUI.py:4872 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 msgid "" -"The postprocessor file that dictates\n" -"gcode output." +"The postprocessor JSON file that dictates\n" +"Gcode output." msgstr "" -"Un fişier care prelucrează codul G-Code astfel încât să\n" -"respecte un anumit format care să fie ințeles de diverse\n" -"utilaje. Este responsabil de 'personalizarea' G-Code." +"Fișierul JSON postprocesor care dictează\n" +"codul Gcode." -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " -msgstr "G-Code:" +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" +msgstr "Gcode" -#: flatcamGUI/FlatCAMGUI.py:4883 +#: flatcamGUI/FlatCAMGUI.py:5125 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7955,41 +8102,41 @@ msgstr "" "Când se alege Sloturi sau Ambele, sloturile vor fi convertite in serii de " "găuri." -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" -msgstr "Frezare găuri" +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" +msgstr "Frezare găuri" -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 msgid "Create Geometry for milling holes." msgstr "Crează un obiect tip Geometrie pentru frezarea găurilor." -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" -msgstr "Dia. Burghiu Găurire:" +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" +msgstr "Dia. Burghiu Găurire" -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" -msgstr "Dia. Freza Slot:" +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" +msgstr "Dia. Freza Slot" -#: flatcamGUI/FlatCAMGUI.py:4914 +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 msgid "" "Diameter of the cutting tool\n" "when milling slots." msgstr "Diametrul frezei când se frezează sloturile." -#: flatcamGUI/FlatCAMGUI.py:4926 +#: flatcamGUI/FlatCAMGUI.py:5168 msgid "Defaults" msgstr "Val. Implicite" -#: flatcamGUI/FlatCAMGUI.py:4939 +#: flatcamGUI/FlatCAMGUI.py:5181 msgid "Excellon Adv. Options" msgstr "Opțiuni Avans. Excellon" -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" -msgstr "Opțiuni avansate:" +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" +msgstr "Opțiuni avansate" -#: flatcamGUI/FlatCAMGUI.py:4947 +#: flatcamGUI/FlatCAMGUI.py:5189 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." @@ -7998,11 +8145,11 @@ msgstr "" "pt acest obiect Excellon, parametri care sunt disponibili\n" "doar in modul Avansat al aplicaţiei." -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" -msgstr "Z ofset:" +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" +msgstr "Ofset Z:" -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" @@ -8015,20 +8162,20 @@ msgstr "" "Valoarea de aici efectuează o compensare asupra\n" "parametrului >Z tăiere<." -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" -msgstr "X,Y schimb. unealtă:" +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" +msgstr "X,Y schimb. unealtă" -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 msgid "Toolchange X,Y position." msgstr "Poziţia X,Y in format (x,y) unde se face schimbarea uneltei." -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 #: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" -msgstr "Z pornire:" +msgid "Start move Z" +msgstr "Z pornire" -#: flatcamGUI/FlatCAMGUI.py:4974 +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -8036,23 +8183,23 @@ msgstr "" "Înălţimea uneltei imediat dupa ce se porneste operatia CNC.\n" "Lasa casuta goala daca nu se foloseşte." -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" -msgstr "Z oprire:" +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" +msgstr "Z oprire" -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 msgid "" "Height of the tool after\n" "the last move at the end of the job." msgstr "Înălţimea la care se parchează freza dupa ce se termina lucrul." -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" -msgstr "Feedrate rapizi:" +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" +msgstr "Feedrate rapizi" -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -8065,13 +8212,13 @@ msgstr "" "printerul 3D Marlin, implicit când se foloseşte fişierul\n" "postprocesor: Marlin. Ignora aceasta parametru in rest." -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" -msgstr "Z sonda:" +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" +msgstr "Z sonda" -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -8079,21 +8226,21 @@ msgstr "" "Adâncimea maxima la care este permis sondei să coboare.\n" "Are o valoare negativă, in unitatile curente." -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" -msgstr "Feedrate sonda:" +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" +msgstr "Feedrate sonda" -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 msgid "The feedrate used while the probe is probing." msgstr "Viteza sondei când aceasta coboara." -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/FlatCAMGUI.py:5263 msgid "Fast Plunge:" msgstr "Plonjare rapida:" -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -8110,11 +8257,11 @@ msgstr "" "schimba\n" "unealta. Daca aveti ceva plasat sub unealtă ceva se va strica." -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" -msgstr "Retragere rapida:" +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" +msgstr "Retragere rapida" -#: flatcamGUI/FlatCAMGUI.py:5034 +#: flatcamGUI/FlatCAMGUI.py:5276 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -8133,11 +8280,11 @@ msgstr "" "adâncimea\n" "de deplasare cu viteza maxima G0, intr-o singură mișcare." -#: flatcamGUI/FlatCAMGUI.py:5053 +#: flatcamGUI/FlatCAMGUI.py:5295 msgid "Excellon Export" msgstr "Export Excellon" -#: flatcamGUI/FlatCAMGUI.py:5058 +#: flatcamGUI/FlatCAMGUI.py:5300 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -8146,11 +8293,11 @@ msgstr "" "se exporta un fişier Excellon folosind:\n" "File -> Exporta -> Exporta Excellon" -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 msgid "The units used in the Excellon file." msgstr "Unitatile de masura folosite in fişierul Excellon." -#: flatcamGUI/FlatCAMGUI.py:5083 +#: flatcamGUI/FlatCAMGUI.py:5325 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -8162,11 +8309,11 @@ msgstr "" "Aici se setează formatul Excellon când nu se utilizează\n" "coordonate cu zecimale." -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" -msgstr "Format:" +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" +msgstr "Format" -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -8185,15 +8332,15 @@ msgstr "" "- LZ = zerourile prefix sunt pastrate și cele sufix eliminate\n" "- TZ = zerourile prefix sunt eliminate și cele sufix pastrate." -#: flatcamGUI/FlatCAMGUI.py:5128 +#: flatcamGUI/FlatCAMGUI.py:5370 msgid "Decimal" msgstr "Cu dec." -#: flatcamGUI/FlatCAMGUI.py:5129 +#: flatcamGUI/FlatCAMGUI.py:5371 msgid "No-Decimal" msgstr "Fără dec." -#: flatcamGUI/FlatCAMGUI.py:5155 +#: flatcamGUI/FlatCAMGUI.py:5397 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8205,11 +8352,11 @@ msgstr "" "- LZ = zerourile prefix sunt pastrate și cele sufix eliminate\n" "- TZ = zerourile prefix sunt eliminate și cele sufix pastrate." -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" -msgstr "Tip slot:" +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" +msgstr "Tip slot" -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -8223,19 +8370,19 @@ msgstr "" "Dacă sunt Găurite (G85) sloturile vor fi exportate\n" "folosind comanda slotului găurit (G85)." -#: flatcamGUI/FlatCAMGUI.py:5175 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "Routed" msgstr "Decupate" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5418 msgid "Drilled(G85)" msgstr "Găurite(G85)" -#: flatcamGUI/FlatCAMGUI.py:5208 +#: flatcamGUI/FlatCAMGUI.py:5450 msgid "A list of Excellon Editor parameters." msgstr "O listă de parametri ai Editorului Excellon." -#: flatcamGUI/FlatCAMGUI.py:5218 +#: flatcamGUI/FlatCAMGUI.py:5460 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -8249,56 +8396,56 @@ msgstr "" "Creste performanta cand se muta un număr mai mare de \n" "elemente geometrice." -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" -msgstr "Dia. nou unealtă:" +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" +msgstr "Dia. nou unealtă" -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" -msgstr "Arie de găuri lineara:" +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" +msgstr "Nr. op. găurire" -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "Arie lineară de găuri" + +#: flatcamGUI/FlatCAMGUI.py:5499 msgid "Linear Dir.:" msgstr "Dir. Lineara:" -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" -msgstr "Arie de găuri circ.:" +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +msgid "%s:" +msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" -msgstr "Directie circ.:" +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" +msgstr "Arie circ. de găuri" -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." -msgstr "" -"Directia pentru aria circulară.\n" -"Poate fi CW = in sensul acelor de ceasornic sau CCW = invers acelor de " -"ceasornic" +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" +msgstr "Sloturi" -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" -msgstr "Unghi circ.:" +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" +msgstr "Lungime" -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" -msgstr "Sloturi:" +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" +msgstr "Arie lineară de Sloturi" -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" -msgstr "Arie de Sloturi lineară:" +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" +msgstr "Nr de sloturi" -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" -msgstr "Arie de Sloturi circ.:" +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" +msgstr "Arie circ. de Sloturi" -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5700 msgid "Geometry General" msgstr "Geometrie General" -#: flatcamGUI/FlatCAMGUI.py:5477 +#: flatcamGUI/FlatCAMGUI.py:5719 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -8306,23 +8453,11 @@ msgstr "" "Numărul de segmente utilizate pentru\n" "aproximarea lineara a Geometriilor circulare." -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "Unelte:" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Diametrele pentru unelte tăietoare, separate cu virgula" - -#: flatcamGUI/FlatCAMGUI.py:5505 +#: flatcamGUI/FlatCAMGUI.py:5747 msgid "Geometry Options" msgstr "Opțiuni Geometrie" -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr "Crează CNCJob:" - -#: flatcamGUI/FlatCAMGUI.py:5512 +#: flatcamGUI/FlatCAMGUI.py:5754 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -8331,7 +8466,7 @@ msgstr "" "Crează un obiect CNCJob care urmăreste conturul\n" "acestui obiect tip Geometrie." -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -8339,21 +8474,27 @@ msgstr "" "Adâncimea la care se taie sub suprafata de cupru.\n" "Valoare negativă." -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" -msgstr "MultiPas" +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" +msgstr "Multi-Pas" -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." msgstr "" -"Dacă se folosesc sau nu pasi multipli de tăiere\n" -"pentru a ajunge la adâncimea de tăiere." +"Folosiți mai multe pase pentru a limita\n" +"adâncimea tăiată în fiecare trecere. Se\n" +"va tăia de mai multe ori până când este\n" +"atins Z de tăiere, Z Cut." -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" msgstr "Adânc./Trecere" -#: flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5788 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -8366,7 +8507,7 @@ msgstr "" "Valoarea este pozitivă desi reprezinta o fracţie\n" "a adancimii de tăiere care este o valoare negativă." -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 msgid "" "Height of the tool when\n" "moving without cutting." @@ -8374,11 +8515,20 @@ msgstr "" "Înălţimea la care se misca unealta când nu taie,\n" "deasupra materialului." -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" -msgstr "Feedrate X-Y:" +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Include o secventa de schimb unealtă in \n" +"codul masina CNC. O pauza pentru schimbul\n" +"uneltei (M6)." -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "Feedrate X-Y" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 msgid "" "Cutting speed in the XY\n" "plane in units per minute" @@ -8386,11 +8536,11 @@ msgstr "" "Viteza de tăiere in planul X-Y\n" "in unitati pe minut." -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" -msgstr "Feedrate Z:" +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" +msgstr "Feedrate Z" -#: flatcamGUI/FlatCAMGUI.py:5596 +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -8400,25 +8550,39 @@ msgstr "" "in unitati pe minut.\n" "Mai este numita și viteza de plonjare." -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" -msgstr "Viteza motor:" +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" +msgstr "Viteza motor" -#: flatcamGUI/FlatCAMGUI.py:5648 +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." msgstr "" -"Un fişier care prelucrează codul G-Code astfel încât să\n" -"respecte un anumit format care să fie ințeles de diverse\n" -"utilaje. Este responsabil de 'personalizarea' G-Code." +"Viteza motorului in RPM (optional).\n" +"Daca postprocesorul Laser este folosit,\n" +"valoarea să este puterea laserului." -#: flatcamGUI/FlatCAMGUI.py:5664 +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "Durată" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." +msgstr "" +"Fişierul postprocesor care controlează generarea\n" +"codului masina CNC (GCode, RML, HPGL) care \n" +"mai apoi este salvat." + +#: flatcamGUI/FlatCAMGUI.py:5919 msgid "Geometry Adv. Options" msgstr "Opțiuni Avans. Geometrie" -#: flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamGUI/FlatCAMGUI.py:5926 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." @@ -8426,7 +8590,7 @@ msgstr "" "Parametrii folositi pentru a crea un obiect CNCJob,\n" "urmărind contururile unui obiect tip Geometrie." -#: flatcamGUI/FlatCAMGUI.py:5691 +#: flatcamGUI/FlatCAMGUI.py:5946 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -8434,7 +8598,11 @@ msgstr "" "Înălţimea uneltei la care se gaseste la inceputul lucrului.\n" "Lasa câmpul gol daca nu folosești aceasta." -#: flatcamGUI/FlatCAMGUI.py:5711 +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "Feedrate rapizi" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -8447,11 +8615,11 @@ msgstr "" "Este utila doar când se foloseşte cu un printer 3D Marlin,\n" "pentru toate celelalte cazuri ignora acest parametru." -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 msgid "Re-cut 1st pt." msgstr "Re-tăiere 1-ul pt." -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -8463,11 +8631,15 @@ msgstr "" "cu sfârşitul acesteia (este vorba de un contur), sunt eliminate\n" "prin taierea peste acest punct." -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" -msgstr "Dim. seg X." +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" +msgstr "Plonjare rapidă" -#: flatcamGUI/FlatCAMGUI.py:5766 +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "Dim. seg X" + +#: flatcamGUI/FlatCAMGUI.py:6020 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -8478,11 +8650,11 @@ msgstr "" "O valoare de 0 inseamnaca nu se face segmentare\n" "pe axa X." -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" -msgstr "Dim. seg Y." +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" +msgstr "Dim. seg Y" -#: flatcamGUI/FlatCAMGUI.py:5777 +#: flatcamGUI/FlatCAMGUI.py:6031 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -8493,15 +8665,15 @@ msgstr "" "O valoare de 0 inseamnaca nu se face segmentare\n" "pe axa Y." -#: flatcamGUI/FlatCAMGUI.py:5793 +#: flatcamGUI/FlatCAMGUI.py:6047 msgid "Geometry Editor" msgstr "Editor Geometrii" -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6052 msgid "A list of Geometry Editor parameters." msgstr "O lista de parametri ai Editorului de Geometrii." -#: flatcamGUI/FlatCAMGUI.py:5808 +#: flatcamGUI/FlatCAMGUI.py:6062 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -8515,20 +8687,20 @@ msgstr "" "Creste performanta cand se muta un număr mai mare de \n" "elemente geometrice." -#: flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/FlatCAMGUI.py:6081 msgid "CNC Job General" msgstr "CNCJob General" -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 msgid "Plot Object" msgstr "Afisează" -#: flatcamGUI/FlatCAMGUI.py:5847 +#: flatcamGUI/FlatCAMGUI.py:6099 msgid "Plot kind:" msgstr "Tip afișare:" -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -8541,15 +8713,15 @@ msgstr "" "- Tăiere -> miscarile in material, tăiere\n" "- Amandoua" -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 msgid "Travel" msgstr "Voiaj" -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" -msgstr "Afiseaza notatii:" +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" +msgstr "Afişează notații" -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -8559,23 +8731,23 @@ msgstr "" "Cand este selectat va afisa numerele in ordine pt fiecare\n" "capat al liniilor de traversare." -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" -msgstr "Dim. anotate:" +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" +msgstr "Dim. anotate" -#: flatcamGUI/FlatCAMGUI.py:5882 +#: flatcamGUI/FlatCAMGUI.py:6134 msgid "The font size of the annotation text. In pixels." msgstr "Dimensiunea fontului pt. textul cu notatii. In pixeli." -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" -msgstr "Culoarea anotatii:" +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" +msgstr "Culoarea anotatii" -#: flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/FlatCAMGUI.py:6144 msgid "Set the font color for the annotation texts." msgstr "Setează culoarea pentru textul cu anotatii." -#: flatcamGUI/FlatCAMGUI.py:5915 +#: flatcamGUI/FlatCAMGUI.py:6167 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -8583,17 +8755,17 @@ msgstr "" "Numărul de segmente utilizate pentru\n" "aproximarea lineara a reprezentarilor GCodului circular." -#: flatcamGUI/FlatCAMGUI.py:5925 +#: flatcamGUI/FlatCAMGUI.py:6177 msgid "" "Diameter of the tool to be\n" "rendered in the plot." msgstr "Diametrul uneltei care să fie redat prin afișare." -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" -msgstr "Coord. zec.:" +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." +msgstr "Coord. zec." -#: flatcamGUI/FlatCAMGUI.py:5935 +#: flatcamGUI/FlatCAMGUI.py:6187 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -8601,11 +8773,11 @@ msgstr "" "Numărul de zecimale care să fie folosit in \n" "coordonatele X,Y,Z in codul CNC (GCode etc)." -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" -msgstr "Feedrate zec.:" +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." +msgstr "Feedrate zec." -#: flatcamGUI/FlatCAMGUI.py:5945 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -8613,28 +8785,28 @@ msgstr "" "Numărul de zecimale care să fie folosit in \n" "parametrul >Feedrate< in codul CNC (GCode etc)." -#: flatcamGUI/FlatCAMGUI.py:5960 +#: flatcamGUI/FlatCAMGUI.py:6212 msgid "CNC Job Options" msgstr "Opțiuni CNCJob" -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" -msgstr "Exporta G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" +msgstr "Exportă G-Code" -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 msgid "" "Export and save G-Code to\n" "make this object to a file." msgstr "" -"Exporta și salvează codul G-Code intr-un fişier\n" +"Exportă și salvează codul G-Code intr-un fişier\n" "care este salvat pe HDD." -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" -msgstr "Adaugă la inceputul G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" +msgstr "Adaugă la inceputul G-Code" -#: flatcamGUI/FlatCAMGUI.py:5973 +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -8642,11 +8814,11 @@ msgstr "" "Adaugă aici orice comenzi G-Code care se dorește să fie\n" "inserate la inceputul codului G-Code." -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" -msgstr "Adaugă la sfârşitul G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" +msgstr "Adaugă la sfârşitul G-Code" -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -8655,31 +8827,45 @@ msgstr "" "Adaugă aici orice comenzi G-Code care se dorește să fie\n" "inserate la sfârşitul codului G-Code." -#: flatcamGUI/FlatCAMGUI.py:6001 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "CNC Job Adv. Options" msgstr "Opțiuni Avans. CNCJob" -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" -msgstr "G-Code pt schimb unealtă:" +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" +msgstr "Exporta codul masina CNC" -#: flatcamGUI/FlatCAMGUI.py:6014 +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "G-Code pt schimb unealtă" + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" "This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." msgstr "" -"Adaugă aici orice comenzi G-Code care se dorește să fie\n" -"inserate in codul G-Code atunci când se intalneste comanda M6.\n" -"Comanda M6 este inlocuita.\n" -"Aceata va constitui un macro pentru schimbul uneltelor." +"Plasează aici acele comenzi G-Code care se dorește să fie executate\n" +"atunci când evenimentul de tip Schimb Unealtă este intalnit.\n" +"Aceasta va constitui un Macro pentru schimbare unealtă.\n" +"Variabilele FlatCAM folosite aici sunt inconjurate de simbolul %.\n" +"\n" +"ATENTIE:\n" +"poate fi folosit doar cu un fişier postprocesor care contine " +"'toolchange_custom'\n" +"in numele sau." -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 msgid "Use Toolchange Macro" msgstr "Fol. Macro schimb unealtă" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -8687,7 +8873,7 @@ msgstr "" "Bifează aici daca dorești să folosești Macro pentru\n" "schimb unelte." -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -8697,67 +8883,115 @@ msgstr "" "de schimb al uneltei (când se intalneste comanda M6).\n" "Este necesar să fie inconjurate de simbolul '%'." -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 -msgid "Parameters" -msgstr "Parametri" - -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "Parametri FlatCAM CNC" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "tool = numărul uneltei" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "tooldia = dimaetrul uneltei" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = pt Excellom, numărul total de operațiuni găurire" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = coord. X pt schimb unealtă" -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = coord. Y pt schimb unealtă" -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "z_toolchange = coord. Z pt schimb unealtă" -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "z_cut = Z adâncimea de tăiere" -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "z_move = Z Înălţimea deplasare" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut = pasul pentru taierea progresiva" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed = valoarea viteza motor" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "dwelltime = durata de asteptare ca motorul să ajunga la turatia setată" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "Opțiuni Unealta NCC" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" -msgstr "Dia unealtă:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." +msgstr "" +"Crează un obiect tip Geometrie cu traiectorii unealtă\n" +"care să curete de cupru toate zonele unde se dorește să nu \n" +"fie cupru." -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "Dia unealtă" + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "Ordine unelte:" + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" +"Aceasta stabilește modul în care sunt utilizate uneltele din tabelul de " +"unelte.\n" +"„Nu” -> înseamnă că ordinea utilizată este cea din tabelul de unelte\n" +"„Înainte” -> înseamnă că uneltele vor fi ordonate de la mic la mare\n" +"'Înapoi' -> înseamnă pe care uneltele vor fi ordonate de la mari la mici\n" +"\n" +"AVERTIZARE: folosirea prelucrării 'resturi' va seta automat ordonarea\n" +"în sens invers și va dezactiva acest control." + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "Înainte" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "Înapoi" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "Rată suprapunere" + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8783,12 +9017,23 @@ msgstr "" "Valori mari= procesare lenta cat și o execuţie la fel de lenta a PCB-ului,\n" "datorita numărului mai mare de treceri-tăiere." -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "Margine" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "Marginea pentru forma înconjurătoare." -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "Metodă" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -8798,36 +9043,42 @@ msgstr "" "
Punct-samanta: De la punctul samanta, spre expterior.
Linii " "drepte: Linii paralele." -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" -msgstr "Rest M.:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" +msgstr "Conectează" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "Contur" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "Rest M." + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" -"Daca este bifat, foloste 'rest machining'.\n" -"Mai exact, se va curăța cuprul din afara traseelor,\n" -"folosind mai intai unealta cu diametrul cel mai mare\n" -"apoi folosindu-se progresiv unelte cu diametrul tot\n" -"mai mic, din cele disponibile in tabela de unelte, pt a\n" -"curăța zonele care nu s-au putut curăța cu unealta\n" -"precedenta.\n" +"Daca este bifat foloseşte strategia de curățare tip 'rest'.\n" +"Curățarea de cupru va incepe cu unealta cu diametrul cel mai mare\n" +"continuand ulterior cu cele cu dia mai mic pana numai sunt unelte\n" +"sau s-a terminat procesul.\n" +"Doar uneltele care efectiv au creat geometrie vor fi prezente in obiectul\n" +"final. Aceasta deaorece unele unelte nu vor putea genera geometrie.\n" "Daca nu este bifat, foloseşte algoritmul standard." -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "Ofset:" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8839,41 +9090,52 @@ msgstr "" "de traseele de cupru.\n" "Valoarea poate fi cuprinsă între 0 și 10 unități FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" -msgstr "Valoare Ofset:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" +msgstr "Valoare Ofset" -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "Însuşi" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" -msgstr "Forma" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" +msgstr "Aria" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" -msgstr "Referinţă:" +#: flatcamGUI/FlatCAMGUI.py:6489 +#| msgid "Ref." +msgid "Ref" +msgstr "Ref" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "Referinţă" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Atunci când alegeți opțiunea „Însuși”, intinderea suprafeței curățate de Cu\n" +"- „Însuși” - suprafața de curățare a cuprului\n" "se bazează pe obiectul care este curățat de cupru.\n" -"Alegerea opțiunii „Cutie” va efectua o curățare fără cupru\n" -"în cadrul delimitarii specificate de un alt obiect diferit de cel care este " -"curățat de cupru." +"  - „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe " +"selecția zonei care va fi pictată.\n" +"Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite " +"adăugarea mai multor zone.\n" +"- „Obiect de referință” - va face o curățare fără cupru în zona\n" +"specificată de un alt obiect." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "Opțiuni Unealta Decupare" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -8883,11 +9145,19 @@ msgstr "" "lasand punţi pentru a separa PCB-ul de \n" "placa din care a fost taiat." -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" -msgstr "Tipul de obiect:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." +msgstr "" +"Diametrul uneltei folosita pt decuparea\n" +"PCB-ului din materialului inconjurator." -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "Tipul de obiect" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -8899,44 +9169,50 @@ msgstr "" "tip panel, care este făcut\n" "din mai multe contururi PCB." -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "Unic" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "Panel" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." -msgstr "Distanta de obiecte la care să se deseneze forma taietoare." - -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" -msgstr "Dim. punte:" - -#: flatcamGUI/FlatCAMGUI.py:6276 -msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -"Dimensiunea punţilor in trecerile de tăiere\n" -"care vor mentine PCB-ul in poziţie, fără să cada\n" -"din placa 'mama' dupa decupare." +"Marginea (zona de siguranţă). O val. pozitivă\n" +"va face decuparea distanțat cu aceasta valoare \n" +"fata de PCB-ul efectiv." -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" -msgstr "Punţi:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" +msgstr "Dim. punte" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Number of bridge gaps used for the cutout.\n" +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." +msgstr "" +"Dimenisunea punţilor in decupaj care servesc\n" +"in a mentine ataşat PCB-ul la materialul de unde \n" +"este decupat." + +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" +msgstr "Punţi" + +#: flatcamGUI/FlatCAMGUI.py:6571 +msgid "" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8947,6 +9223,7 @@ msgstr "" "Numărul de punţi folosite in decupare.\n" "Pot fi un număr maxim de 8 punţi aranjate in felul\n" "următor:\n" +"- Nici unul - nu există spatii\n" "- lr = stânga -dreapta\n" "- tb = sus - jos\n" "- 4 = stânga -dreapta - sus - jos\n" @@ -8954,21 +9231,24 @@ msgstr "" "- 2tb = 2* sus - 2* jos\n" "- 8 = 2* stânga - 2* dreapta - 2* sus - 2* jos" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" -msgstr "Formă Conv." +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." +msgstr "Formă Conv" -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." msgstr "" "Generează un obiect tip Geometrie care va inconjura\n" -"tot PCB-ul. Forma sa este convexa." +"tot PCB-ul. Forma sa este convexa.\n" +"Se foloseste doar daca obiectul sursă este de tip Gerber." -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "Opțiuni Unealta 2Fețe" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -8976,45 +9256,53 @@ msgstr "" "O unealtă care ajuta in crearea de PCB-uri cu 2 fețe\n" "folosind găuri de aliniere." -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" -msgstr "Dia gaura:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" +msgstr "Dia gaură" -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Diametrul găurii pentru găurile de aliniere." -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Axe oglindire:" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Oglindește vertical (X) sau orizontal (Y)." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Punct" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" -msgstr "Axa de ref.:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" +msgstr "Forma" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "Axa de ref." + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" -"Axa de referinţă ar trebui să treaca printr-un punct ori să strabata\n" -" o forma (specificata un obiect tip Geometrie) prin mijloc." +"Axa de referinţă ar trebui să treacă printr-un punct ori să strabata\n" +" o forma (obiect FlatCAM) prin mijloc." -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "Opțiuni Unealta Paint" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "Parametri:" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -9027,31 +9315,41 @@ msgstr "" "singur poligon se va cere să faceti click pe poligonul\n" "dorit." -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "Selecţie" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Cat de mult (o fracţie din diametrul uneltei) din diametrul uneltei,\n" -"(lăţimea de tăiere) să se suprapună peste trecerea anterioară." +"Cum se selectează Poligoanele care vor fi pictate.\n" +"\n" +"- „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe selecția " +"zonei care va fi pictată.\n" +"Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite " +"adăugarea mai multor zone.\n" +"- „Toate Poligoanele” - Pictarea va începe după clic.\n" +"- „Obiect de referință” - va face o curățare fără cupru în zona\n" +"specificată de un alt obiect." -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" -msgstr "Selecţie:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." +msgstr "Ref." -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "Cum să se selecteze poligoanele de pictat (paint)." - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "Aria" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "Opțiuni Unealta Film" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -9060,11 +9358,11 @@ msgstr "" "Crează un film PCB dintr-un obiect Gerber sau tip Geometrie.\n" "Fişierul este salvat in format SVG." -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "Tip film:" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -9078,11 +9376,11 @@ msgstr "" "Negativ = traseele vor fi albe pe un fundal negru.\n" "Formatul fişierului pt filmul salvat este SVG." -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" -msgstr "Bordura:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" +msgstr "Bordură" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -9099,11 +9397,11 @@ msgstr "" "Va crea o bara solida neagra in jurul printului efectiv permitand o\n" "delimitare exacta" -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" -msgstr "Scalează:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" +msgstr "Scalează" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -9113,11 +9411,11 @@ msgstr "" "Scalează grosimea conturului fiecarui element din fişierul SVG.\n" "Elementele mai mici vor fi afectate mai mult." -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "Opțiuni Unealta Panelizare" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -9127,11 +9425,11 @@ msgstr "" "unde fiecare element este o copie a obiectului sursa, separat la o\n" "distanţă X, Y unul de celalalt." -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" -msgstr "Sep. coloane:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" +msgstr "Sep. coloane" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -9139,11 +9437,11 @@ msgstr "" "Spatiul de separare între coloane.\n" "In unitatile curente." -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" -msgstr "Sep. linii:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" +msgstr "Sep. linii" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -9151,35 +9449,35 @@ msgstr "" "Spatiul de separare între linii.\n" "In unitatile curente." -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" -msgstr "Coloane:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" +msgstr "Coloane" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Numărul de coloane ale panel-ului dorit." -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" -msgstr "Linii:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" +msgstr "Linii" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Numărul de linii ale panel-ului dorit." -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Geo" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" -msgstr "Tip panel:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" +msgstr "Tip panel" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -9189,11 +9487,11 @@ msgstr "" "- Gerber\n" "- Geometrie" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" -msgstr "Constrange:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" +msgstr "Constrange" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -9207,11 +9505,11 @@ msgstr "" "panelul final va contine numai acel număr de linii/coloane care se inscrie\n" "complet in aria desemnata." -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" -msgstr "Latime (Dx):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" +msgstr "Lătime (Dx)" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -9219,11 +9517,11 @@ msgstr "" "Lăţimea (Dx) in care panelul trebuie să se inscrie.\n" "In unitati curente." -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" -msgstr "Inaltime (Dy):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" +msgstr "Inăltime (Dy)" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -9231,15 +9529,15 @@ msgstr "" "Înălţimea (Dy) in care panelul trebuie să se inscrie.\n" "In unitati curente." -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "Opțiuni Unealta Calculatoare" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" -msgstr "Calculator: Unealta V-shape" +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" +msgstr "Calculator Unealta V-Shape" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -9249,11 +9547,11 @@ msgstr "" "avand diametrul vârfului și unghiul la vârf cat și\n" "adâncimea de tăiere, ca parametri." -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" -msgstr "Dia vârf:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" +msgstr "Dia vârf" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -9261,11 +9559,11 @@ msgstr "" "Acesta este diametrul la vârf al uneltei.\n" "Este specificat de producator." -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" -msgstr "Unghiul la vârf:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" +msgstr "V-Unghi" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -9273,7 +9571,7 @@ msgstr "" "Acesta este unghiul la vârf al uneltei.\n" "Este specificat de producator." -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -9281,11 +9579,11 @@ msgstr "" "Aceasta este adâncimea la care se taie in material.\n" "In obiectul CNCJob este parametrul >Z tăiere<." -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" -msgstr "Calculator Electroplacare:" +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" +msgstr "Calculator ElectroPlacare" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -9297,31 +9595,31 @@ msgstr "" "- clorura paladiu\n" "- hipofosfit de calciu" -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" -msgstr "Lung. placii:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" +msgstr "Lung. plăcii" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "" "Aceasta este lungimea PCB-ului.\n" "In centimetri. " -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" -msgstr "Lat. placii:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" +msgstr "Lăt. plăcii" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "" "Aceasta este lăţimea PCB-ului.\n" "In centimetri. " -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" -msgstr "Densitate I:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" +msgstr "Densitate I" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -9329,11 +9627,11 @@ msgstr "" "Densitatea de curent care să treaca prin placa.\n" "In ASF (amperi pe picior la patrat)." -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" -msgstr "Grosime Cu:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" +msgstr "Grosime Cu" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -9341,11 +9639,11 @@ msgstr "" "Cat de gros se dorește să fie stratul de cupru depus.\n" "In microni." -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "Opțiuni Unealta Transformare" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -9358,47 +9656,35 @@ msgstr "" "- deformare\n" "- oglindire" -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" -msgstr "Unghi Rotaţie:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" +msgstr "Unghi Rotaţie" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." -msgstr "Unnghiul pentru rotaţie. In grade." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" +msgstr "Unghi Deform_X" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" -msgstr "Unghi Deform_X:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" +msgstr "Unghi Deform_Y" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." -msgstr "Unghiul pentru deformare pe axa X. In grade." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" +msgstr "Factor Scal_X" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "Unghi Deform_Y:" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "Unghiul pentru deformare pe axa Y. In grade." - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "Factor Scal_X:" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Factor de scalare pe axa X." -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" -msgstr "Factor Scal_Y:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" +msgstr "Factor Scal_Y" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Factor de scalare pe axa Y." -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -9406,7 +9692,7 @@ msgstr "" "Scalează obiectele selectate folosind\n" "Factor Scal_X pentru ambele axe." -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -9419,27 +9705,27 @@ msgstr "" "centrul formei inconjuatoare care cuprinde\n" "toate obiectele selectate." -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" -msgstr "Ofset_X:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" +msgstr "Ofset_X" -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Distanta la care se face ofset pe axa X. In unitatile curente." -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" -msgstr "Ofset_Y:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" +msgstr "Ofset_Y" -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Distanta la care se face ofset pe axa Y. In unitatile curente." -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Referinţă Oglindire" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9462,11 +9748,11 @@ msgstr "" "in forma (x, y).\n" "La final apasa butonul de oglindire pe axa dorita. " -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" -msgstr "Pt. Ref. Oglindire:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" +msgstr "Pt. Ref. Oglindire" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -9477,11 +9763,11 @@ msgstr "" "X din (x,y) se va folosi când se face oglindirea pe axa X\n" "Y din (x,y) se va folosi când se face oglindirea pe axa Y." -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "Opțiuni Unealta Pasta Fludor" -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -9489,49 +9775,49 @@ msgstr "" "O unealtă care crează cod G-Code pentru dispensarea de pastă de fludor\n" "pe padurile unui PCB." -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "Diametrele uneltelor (nozzle), separate prin virgula." -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" -msgstr "Nou Dia::" +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" +msgstr "Dia nou" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Valoarea pentru diametrul unei noi unelte (nozzle) pentru adaugare in Tabela " "de Unelte" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" -msgstr "Z start disp.:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" +msgstr "Z start disp." -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "Înălţimea (Z) când incepe dispensarea de pastă de fludor." -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" -msgstr "Z disp.:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" +msgstr "Z disp." -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "Înălţimea (Z) in timp ce se face dispensarea de pastă de fludor." -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" -msgstr "Z stop disp.:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" +msgstr "Z stop disp." -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "Înălţimea (Z) când se opreste dispensarea de pastă de fludor." -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" -msgstr "Z deplasare:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" +msgstr "Z deplasare" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -9539,19 +9825,19 @@ msgstr "" "Înălţimea (Z) când se face deplasare între pad-uri.\n" "(fără dispensare de pastă de fludor)." -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" -msgstr "Z schimb. unealtă:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" +msgstr "Z schimb. unealtă" -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "Înălţimea (Z) când se schimbă unealta (nozzle-ul)." -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" -msgstr "XY schimb unealtă:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" +msgstr "X,Y schimb. unealtă" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -9559,30 +9845,30 @@ msgstr "" "Coordonatele X, Y pentru schimbarea uneltei (nozzle).\n" "Formatul este (x,y) unde x și y sunt numere Reale." -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" -msgstr "Feedrate X-Y:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" +msgstr "Feedrate X-Y" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Viteza de deplasare a uneltei când se deplasează in planul X-Y." -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" -msgstr "Feedrate Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" +msgstr "Feedrate Z" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." msgstr "" "Viteza de deplasare a uneltei când se misca in plan vertical (planul Z)." -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" -msgstr "Feedrate Z disp.:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" +msgstr "Feedrate Z disp." -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -9590,11 +9876,11 @@ msgstr "" "Viteza de deplasare la mișcarea pe verticala spre\n" "poziţia de dispensare (in planul Z)." -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" -msgstr "Viteza motor inainte:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" +msgstr "Viteza motor inainte" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -9602,19 +9888,19 @@ msgstr "" "Viteza motorului de dispensare in timp ce impinge pastă de fludor\n" "prin orificiul uneltei de dispensare." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" -msgstr "Pauza dupa disp.:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" +msgstr "Pauza FWD" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Pauza dupa dispensarea de pastă de fludor." -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" -msgstr "Viteza motor inapoi:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" +msgstr "Viteza motor inapoi" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -9622,11 +9908,11 @@ msgstr "" "Viteza motorului de dispensare in timp ce retrage pasta de fludor\n" "prin orificiul uneltei de dispensare." -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" -msgstr "Pauza dupa rev:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" +msgstr "Pauza REV" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -9634,19 +9920,20 @@ msgstr "" "Pauza dupa ce pasta de fludor a fost retrasă,\n" "necesară pt a ajunge la un echilibru al presiunilor." -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" -msgstr "Postprocesoare:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" +msgstr "Postprocesor" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Fişiere care controlează generarea codului G-Code." -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "Opțiuni Unealta Substracţie" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -9654,26 +9941,26 @@ msgstr "" "O unealtă pentru scăderea unui obiect Gerber sau Geometry\n" "din altul de același tip." -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Închide căile" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Verificând aceasta, se vor închide căile tăiate de obiectul tăietor de tip " "Geometrie." -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "Inactiv." -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "Aplicaţia a pornit ..." -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "Bună!" @@ -9699,17 +9986,13 @@ msgstr "" "Edit -> Preferințe -> General și bifează:\n" "butonul radio: >Nivel App<" -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr "Scalează:" - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "Schimbă dimensiunea obiectului." #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" -msgstr "Factor:" +msgid "Factor" +msgstr "Factor" #: flatcamGUI/ObjectUI.py:91 msgid "" @@ -9724,17 +10007,13 @@ msgstr "" msgid "Perform scaling operation." msgstr "Efectuează operatia de scalare." -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "Ofset:" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "Schimbă poziţia acestui obiect." #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" -msgstr "Vector:" +msgid "Vector" +msgstr "Vector" #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -9753,9 +10032,9 @@ msgid "Gerber Object" msgstr "Obiect Gerber" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" -msgstr "Nume:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" +msgstr "Nume" #: flatcamGUI/ObjectUI.py:203 msgid "" @@ -9797,17 +10076,9 @@ msgstr "" "in interiorul poligonului Gerber (traseu), foloseşte\n" "o valoare negativă pt acest parametru." -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "Treceri:" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "Combina" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" -msgstr "Creează Geometrie de Izolare:" +msgid "Generate Isolation Geometry" +msgstr "Creează Geometrie de Izolare" #: flatcamGUI/ObjectUI.py:325 msgid "" @@ -9871,10 +10142,10 @@ msgstr "" "geometriile de interior." #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" -msgstr "Curăță Non-Cu:" +msgid "Clear N-copper" +msgstr "Curăță Non-Cu" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -9884,10 +10155,10 @@ msgstr "" "curățare zone de cupru)." #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" -msgstr "Decupare PCB:" +msgid "Board cutout" +msgstr "Decupare PCB" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "Unealta Decupare" @@ -9899,36 +10170,9 @@ msgstr "" "Generează un obiect Geometrie\n" "pt decuparea PCB." -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr "Regiuni fără Cu.:" - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" -"Crează poligoane acopering zonele fără\n" -"cupru de pe PCB. Echivalent cu inversul\n" -"obiectului sursa. Poate fi folosit pt a indeparta\n" -"cuprul din zona specificata." - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "Geo rotunjita" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "" -"Obiectul Geometrie rezultat \n" -"va avea colțurile rotunjite." - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Crează Geo" @@ -9952,22 +10196,10 @@ msgstr "Obiect Excellon" msgid "Solid circles." msgstr "Cercuri solide." -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr "Tabela Unelte" - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "Găuri" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "Sloturi" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "Ofset Z:" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -9980,7 +10212,7 @@ msgstr "" "in codul masina CNC." #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -10016,57 +10248,11 @@ msgstr "" "Crează un obiect CNCJob din\n" "acest obiect." -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" -msgstr "Schimb unealtă" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" +msgstr "Z schimb unealtă" -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" -msgstr "Z schimb unealtă:" - -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "Înălţimea, pe axa Z, pentru schimbul uneltei." - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Înălţimea uneltei la inceputul lucrului.\n" -"Seterge aceasta valoare daca nu este folosita." - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "Înălţimea, pe axa Z, la finalul lucrului." - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "Feedrate (Plonjare):" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" -"Viteza uneltei când se face găuriea\n" -"(in unitati pe minut).\n" -"Aceasta este mișcarea lineara G01." - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" -"Fişierul care dictează codul G-Code \n" -"generat. In format JSON." - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." @@ -10074,11 +10260,7 @@ msgstr "" "Selectează din Tabela de Unelte de mai sus,\n" "uneltele care trebuie incluse." -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr "Tip:" - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -10092,15 +10274,15 @@ msgstr "" "Când se alege >Sloturi< sau >Ambele<, sloturile\n" "vor fi convertite intr-o serie de găuriri." -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "Crează GCode" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "Generează un obiect CNCJob." -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." @@ -10108,15 +10290,11 @@ msgstr "" "Selecteaa din Tabela de Unelte de mai sus\n" "acele găuri care vor fi frezate." -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "Dia. Burghiu:" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "Geo pt frezare găuri" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -10124,10 +10302,6 @@ msgstr "" "Crează un obiect tip Geometrie pt.\n" "frezarea rutelor create din Găuri." -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "Dia freza:" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "Geo pt. frezare sloturi" @@ -10174,12 +10348,12 @@ msgstr "" "- V-Dia \n" "- V-unghi" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "Dia" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TU" @@ -10284,8 +10458,8 @@ msgstr "" "afișarea in canvas." #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" -msgstr "Ofset unealtă:" +msgid "Tool Offset" +msgstr "Ofset unealtă" #: flatcamGUI/ObjectUI.py:951 msgid "" @@ -10298,12 +10472,13 @@ msgstr "" "este >Ofset<. Aceasta valoare poate fi pozitivă pentru un ofset\n" "in exterior sau poate fi negativă pentru un ofset in interior." -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" -msgstr "Dia unealtă:" +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" +msgstr "Dia Unealtă" -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -10328,8 +10503,8 @@ msgstr "" "selectarea unei linii (sau mai multe) in Tabela de Unelte." #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" -msgstr "Date Unealtă" +msgid "Tool Data" +msgstr "Date unealtă" #: flatcamGUI/ObjectUI.py:1028 msgid "" @@ -10340,8 +10515,8 @@ msgstr "" "Fiecare unealtă stochează un subset de asemenea date." #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" -msgstr "V-dia:" +msgid "V-Tip Dia" +msgstr "V-dia" #: flatcamGUI/ObjectUI.py:1049 msgid "The tip diameter for V-Shape Tool" @@ -10350,8 +10525,8 @@ msgstr "" "Forma in V." #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" -msgstr "V-unghi:" +msgid "V-Tip Angle" +msgstr "V-unghi" #: flatcamGUI/ObjectUI.py:1060 msgid "" @@ -10361,107 +10536,13 @@ msgstr "" "Unghiul la vârf pentru unealta tip V-Shape. \n" "In grade." -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "Multi-Pas:" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" -"Foloseşte multiple treceri, rute, pentru\n" -"a limita adâncimea de tăiere pentru fiecare\n" -"trecere. Se va taie de multiple ori pana când\n" -"este atinsa valoarea param. >Z tăiere<.\n" -"In dreapta, introdu adâncimea de tăiere\n" -"pentru fiecare trecere (valoare pozitivă)." - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "" "Adâncimea pentru fiecare trecere.\n" "Valoare pozitivă, in unitatile curente." -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Include o secventa de schimb unealtă in \n" -"codul masina CNC. O pauza pentru schimbul\n" -"uneltei (M6)." - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" -"Aceasta este înălţimea Z, la care CNC-ul \n" -"va fi parcat la finalul de lucru." - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "Feedrate Z (Plonjare):" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" -"Viteza de tăiere in planul Z.\n" -"In unitati pe minut." - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "Feedrate rapizi:" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Viteza de găurire, in unitati pe minut.\n" -"Corespunde comenzii G0 și este utila doar pentru\n" -"printerul 3D Marlin, implicit când se foloseşte fişierul\n" -"postprocesor: Marlin. Ignora aceasta parametru in rest." - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "Re-tăiere 1-ul pt." - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" -"Viteza motorului in RPM (optional).\n" -"Daca postprocesorul Laser este folosit,\n" -"valoarea să este puterea laserului." - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "Postprocesor:" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" -"Fişierul postprocesor care controlează generarea\n" -"codului masina CNC (GCode, RML, HPGL) care \n" -"mai apoi este salvat." - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -10471,41 +10552,37 @@ msgstr "" "Click pe header pentru selectarea tuturora asu CTRL + LMB click\n" "pentru o selecţie personalizata de unelte." -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "Generează" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "Generează un obiect CNCJob." -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" -msgstr "Unealta Paint" +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" +msgstr "Unealta Paint" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "" "Lansează unealta FlatCAM numita Paint și\n" "o instalează in Tab-ul Unealta." -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "Obiect CNCJob" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" -msgstr "Afișare:" +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" +msgstr "Tip afișare" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" -msgstr "Afișare notatii:" +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." +msgstr "Distanța parcursă" -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr "Distanta:" - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -10513,11 +10590,11 @@ msgstr "" "Aceasta este distanţa totala parcursa in planul X-Y.\n" "In unitatile curente." -#: flatcamGUI/ObjectUI.py:1406 -msgid "Estimated time:" -msgstr "Durată estimată:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" +msgstr "Durată estimată" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -10525,11 +10602,11 @@ msgstr "" "Acesta este timpul estimat pentru efectuarea traseului / găuririi,\n" "fără timpul petrecut în evenimentele ToolChange." -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" -msgstr "Tabela Unelte CNC" +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" +msgstr "Tabela Unelte CNC" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -10550,73 +10627,39 @@ msgstr "" "Shape\n" "(cu forma in V)." -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "Actualiz. afișare" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "Actualizează afișarea obiectelor." -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" -msgstr "Exporta codul masina CNC:" +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" +msgstr "Adaugă la inceput in codul G-Code" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" -msgstr "Adaugă la inceput in codul G-Code:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" +msgstr "Adaugă la sfârşit in codul G-Code" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" -"Plasează aici acele comenzi GCode care se dorește să fie\n" -"adaugate la inceputul codului masina CNC." - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "Adaugă la sfârşit in codul G-Code:" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" -"Plasează aici acele comenzi G-Code care se dorește să fie executate\n" -"atunci când evenimentul de tip Schimb Unealtă este intalnit.\n" -"Aceasta va constitui un Macro pentru schimbare unealtă.\n" -"Variabilele FlatCAM folosite aici sunt inconjurate de simbolul %.\n" -"\n" -"ATENTIE:\n" -"poate fi folosit doar cu un fişier postprocesor care contine " -"'toolchange_custom'\n" -"in numele sau." - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "z_cut = adâncimea de tăiere" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "z_move = Înălţimea deplasare" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "Vizualiz. codul CNC" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." @@ -10624,11 +10667,11 @@ msgstr "" "Deschide un nou tab pentru a vizualiza, modifica\n" "sau tipari codul G-Code." -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "Salvează codul CNC" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -10640,18 +10683,10 @@ msgstr "" msgid "Calculators" msgstr "Calculatoare" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "Calculator Unealta V-Shape" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "Calculator Unitati" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "Calculator ElectroPlacare" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "Valorile pentru conversie din INCH in MM" @@ -10660,19 +10695,7 @@ msgstr "Valorile pentru conversie din INCH in MM" msgid "Here you enter the value to be converted from MM to INCH" msgstr "Valorile pentru conversie din MM in INCH" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" -"Acesta este diametrul uneltei la vârf.\n" -"Producatorul il specifica in foaia de catalog." - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "V-Unghi:" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -10680,7 +10703,7 @@ msgstr "" "Acesta este unghiul uneltei la vârf.\n" "Producatorul il specifica in foaia de catalog." -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -10688,11 +10711,11 @@ msgstr "" "Acest param. este adâncimea de tăiere in material.\n" "In obiectul CNCJob este parametrul >Z tăiere<." -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" -msgstr "Dia unealtă:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" +msgstr "Dia unealtă" -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -10702,11 +10725,11 @@ msgstr "" "sectiunea FlatCAM Gerber.\n" "In sectiunea CNCJob este numit >Dia unealtă<." -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "Calculează" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -10715,11 +10738,11 @@ msgstr "" "uneltei,\n" "depinzand de care dintre acestea este cunoscuta." -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" -msgstr "Intensitate:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" +msgstr "Intensitate" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -10727,11 +10750,11 @@ msgstr "" "Intensitatea curentului electric care se va seta\n" "in sursa de alimentare. In Amperi." -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" -msgstr "Durata:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" +msgstr "Durată" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." @@ -10739,7 +10762,7 @@ msgstr "" "TImpul necesar (calculat) pentru\n" "efectuarea procedurii. In minute." -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -10747,7 +10770,7 @@ msgstr "" "Calculează intensitatea curentului cat și durata procedurii\n" "in funcţie de parametrii de mai sus." -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "Unealta Calc." @@ -10755,9 +10778,10 @@ msgstr "Unealta Calc." msgid "Cutout PCB" msgstr "Decupare PCB" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" -msgstr "Tip obiect:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" +msgstr "Tip obiect" #: flatcamTools/ToolCutOut.py:56 msgid "" @@ -10772,51 +10796,19 @@ msgstr "" "obiecte care vor aparea in combobox-ul\n" "numit >Obiect<." -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" -msgstr "Obiect:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" +msgstr "Obiect" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "Obiectul FlatCAM care va fi decupat." -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "" -"Diametrul uneltei folosita pt decuparea\n" -"PCB-ului din materialului inconjurator." - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" -"Marginea (zona de siguranţă). O val. pozitivă\n" -"va face decuparea distanțat cu aceasta valoare \n" -"fata de PCB-ul efectiv." - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" -"Dimenisunea punţilor in decupaj care servesc\n" -"in a mentine ataşat PCB-ul la materialul de unde \n" -"este decupat." - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." -msgstr "" -"Generează un obiect tip Geometrie care va inconjura\n" -"tot PCB-ul. Forma sa este convexa.\n" -"Se foloseste doar daca obiectul sursă este de tip Gerber." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" +msgstr "Dim. punte:" #: flatcamTools/ToolCutOut.py:138 msgid "A. Automatic Bridge Gaps" @@ -10833,6 +10825,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10843,6 +10836,7 @@ msgstr "" "Numărul de punţi folosite in decupare.\n" "Pot fi un număr maxim de 8 punţi aranjate in felul\n" "următor:\n" +"- Nici unul - nu există spatii\n" "- lr = stânga -dreapta\n" "- tb = sus - jos\n" "- 4 = stânga -dreapta - sus - jos\n" @@ -10850,11 +10844,11 @@ msgstr "" "- 2tb = 2* sus - 2* jos\n" "- 8 = 2* stânga - 2* dreapta - 2* sus - 2* jos" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" -msgstr "Forma libera:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" +msgstr "Formă liberă" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." @@ -10862,7 +10856,7 @@ msgstr "" "Decupajul poate avea orice forma.\n" "Folositor când PCB-ul are o forma neregulata." -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -10872,11 +10866,11 @@ msgstr "" "Forma decupajului poate avea orice forma.\n" "Folositor când PCB-ul are o forma neregulata." -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" -msgstr "Patrulater:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" +msgstr "Patrulater" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -10886,7 +10880,7 @@ msgstr "" "patratica și va fi forma înconjurătoare a\n" "obiectului FlatCAM decupat." -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -10896,11 +10890,11 @@ msgstr "" "Decupează obiectul selectat.\n" "Forma decupajului este tot timpul dreptunghiulara.." -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "B. Punţi realiz. manual" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -10912,19 +10906,19 @@ msgstr "" "apasarea tastei CTRL, operatia se va repeta automat pana când\n" "se va apasa tasta 'Escape'." -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" -msgstr "Obiect Geo:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" +msgstr "Obiect Geo" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "Obiect tip Geometrie folosit pentru crearea decupajului manual." -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" -msgstr "Geo manual:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" +msgstr "Geo manual" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -10937,11 +10931,11 @@ msgstr "" "Selectează obiectul sursa Gerber in combobox-ul de mai sus,\n" "numit >Obiect<." -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" -msgstr "Adaugă punţi manual:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" +msgstr "Adaugă punţi manual" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10950,11 +10944,11 @@ msgstr "" "Folosind click LMB se crează punţi de sustinere a PCB-ului\n" "de materialul din care este decupat." -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "Generează Punte" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10968,18 +10962,19 @@ msgstr "" "apasarea tastei CTRL, operatia se va repeta automat pana când\n" "se va apasa tasta 'Escape'." -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "[ERROR_NOTCL] Nu s-a putut incărca obiectul: %s" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." @@ -10987,7 +10982,7 @@ msgstr "" "[ERROR_NOTCL] Nu este nici-un obiect selectat pentru decupaj.\n" "Selectează unul și încearcă din nou." -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10995,37 +10990,38 @@ msgstr "" "[WARNING_NOTCL] Diametrul uneltei este zero. Schimbă-l intr-o val. pozitivă " "Reala." -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Valoarea marginii lipseste sau este in format gresit. Adaugă " "din nou și reîncearcă." -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Valoarea dimensiunii punte lipseste sau este in format " "gresit. Adaugă din nou și reîncearcă." -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "" "[WARNING_NOTCL] Numărul de punţi lipseste sau este in format gresit. Adaugă " "din nou și reîncearcă." -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" -"[WARNING_NOTCL] Valoarea punţilor poate fi numai una dintre: 'lr', 'tb', " -"'2lr', '2tb', 4 or 8. Adaugă o valoare permisa și reîncearcă." +"[WARNING_NOTCL] Valoarea spatiilor poate fi doar una dintre: „Niciuna”, " +"„lr”, „tb”, „2lr”, „2tb”, 4 sau 8. Completați o valoare corectă și încercați " +"din nou." -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -11037,18 +11033,18 @@ msgstr "" "Se poate insa converti MultiGeo in tip SingleGeo și apoi se poate efectua " "decupajul." -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "[success] Operatia de decupaj cu forma libera s-a terminat." -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "[ERROR_NOTCL] Obiectul nu a fost gasit: %s" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -11056,38 +11052,38 @@ msgstr "" "[ERROR_NOTCL] Diametrul uneltei este zero. Schimbă intr-o valoare pozitivă " "Reala." -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Click pe perimetrul obiectului tip Geometrie selectat\n" "pentru a crea o punte separatoare." -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "Se generează o punte separatoare in mod manual..." - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "[ERROR_NOTCL] Nu s-a putut incărca obiectul Geometrie: %s" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "Se generează o punte separatoare in mod manual..." + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "" "[ERROR_NOTCL] Obiectul Geometrie pentru decupaj manual nu este gasit: %s" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "[success] O punte a fost adăugată in mod manual." -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "[ERROR_NOTCL] Nu s-a putut incărca obiectul Gerber: %s" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -11095,7 +11091,7 @@ msgstr "" "[ERROR_NOTCL] Nu exista obiect selectat pt operatia de decupare.\n" "Selecteaza unul si incearcă din nou." -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -11103,14 +11099,15 @@ msgstr "" "[ERROR_NOTCL] Obiectul selectat trebuie să fie de tip Gerber.\n" "Selecteaza un obiect Gerber si incearcă din nou." +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" +msgstr "[ERROR_NOTCL] Geometria nu este acceptată pentru decupaj: %s" + #: flatcamTools/ToolDblSided.py:18 msgid "2-Sided PCB" msgstr "2-fețe PCB" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" -msgstr "GERBER:" - #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 #: flatcamTools/ToolDblSided.py:100 msgid "Mirror" @@ -11126,34 +11123,21 @@ msgstr "" "Oglindește obiectul specificat pe axa specificata.\n" "Nu crează un obiect nou ci il modifica." -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "EXCELLON:" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "Obiectul Excellon care va fi oglindit." -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "GEOMETRIE:" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "Obiectul Geometrie care va fi oglindit." -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." -msgstr "" -"Axa de referinţă ar trebui să treacă printr-un punct ori să strabata\n" -" o forma (obiect FlatCAM) prin mijloc." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" +msgstr "Axa de ref.:" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" -msgstr "Referința Punct/ Container:" +msgid "Point/Box Reference" +msgstr "Referință Punct/Container" #: flatcamTools/ToolDblSided.py:154 msgid "" @@ -11186,20 +11170,23 @@ msgstr "" "pe\n" "canvas sau le puteti introduce manual." -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "Obiectul container al Gerber de referinţă" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "Obiectul container al Excellon de referinţă" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "Obiectul container al Geo de referinţă" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" +msgid "Alignment Drill Coordinates" msgstr "Dia. găuri de aliniere" #: flatcamTools/ToolDblSided.py:194 @@ -11267,11 +11254,11 @@ msgstr "Reset" msgid "Resets all the fields." msgstr "Resetează toate câmpurile cu informatii." -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "Unealta 2-fețe" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." @@ -11279,14 +11266,14 @@ msgstr "" "[WARNING_NOTCL] Referința 'Punct' este selectată dar coordonatele sale " "lipsesc. Adăugă-le is încearcă din nou." -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" "[WARNING_NOTCL] Nici-un obiect container nu este incărcat. Încarcă unul și " "încearcă din nou." -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." @@ -11294,7 +11281,7 @@ msgstr "" "[WARNING_NOTCL] Val. pt dia burghiu lipseste sau este in format gresit. " "Adaugă una și încearcă din nou." -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." @@ -11302,24 +11289,24 @@ msgstr "" "[WARNING_NOTCL] Nu exista coord. pentru găurile de aliniere. Adaugă-le și " "încearcă din nou." -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "" "[success] Obiectul Excellon conținând găurile de aliniere a fost creat ..." -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "[WARNING_NOTCL] Nu este nici-un obiect Gerber incărcat ..." -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "[ERROR_NOTCL]Doar obiectele de tip Geometrie, Excellon și Gerber pot fi " "oglindite ..." -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." @@ -11327,21 +11314,21 @@ msgstr "" "[WARNING_NOTCL] Coord. 'Punct'-ului lipsesc. Se folosesc coord. punctului " "Origine (0,0) ca ref. pt oglindire." -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "[WARNING_NOTCL] Nu este incărcat nici-un obiect container ..." -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "[success]Obiectul Gerberr %s a fost oglindit..." -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "[WARNING_NOTCL] Nici-un obiect tip Excellon nu este incărcat ..." -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." @@ -11349,16 +11336,16 @@ msgstr "" "[WARNING_NOTCL] Nu exista coord. in câmpul 'Punct'. Adaugă coord. și " "încearcă din nou..." -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "[success] Obiectul Excellon %s a fost oglindit..." -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "[WARNING_NOTCL] Nici-un obiect tip Geometrie nu este incărcat ..." -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "[success] Obiectul Geometrie %s a fost oglindit..." @@ -11368,9 +11355,9 @@ msgid "Film PCB" msgstr "Film PCB" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" -msgstr "Tip Obiect:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" +msgstr "Tip Obiect" #: flatcamTools/ToolFilm.py:58 msgid "" @@ -11385,14 +11372,14 @@ msgstr "" "gasite in combobox-ul >Obiect Film<." #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" -msgstr "Obiect Film:" +msgid "Film Object" +msgstr "Obiect Film" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "Obiectul pt care se crează filmul." -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "Tip container:" @@ -11409,8 +11396,8 @@ msgstr "" "gasite in combobox-ul >Container<." #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" -msgstr "Container:" +msgid "Box Object" +msgstr "Container" #: flatcamTools/ToolFilm.py:106 msgid "" @@ -11447,37 +11434,37 @@ msgstr "" "salvează pe HDD un fişier in format SVG care poate fi \n" "deschis și prelucrat mai departe cu Inkscape." -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" "[ERROR_NOTCL] Nici-un obiect FlaCAM nu este selectat. Incărca un obiect pt " "Film și încearcă din nou." -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" "[ERROR_NOTCL] Nici-un obiect FlaCAM nu este selectat. Încarcă un obiect " "container și încearcă din nou." -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "Se generează Film-ul ..." -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "Exporta SVG pozitiv" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "[WARNING_NOTCL] Exportul unui fişier SVG pozitiv este anulat." -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "Exporta SVG negativ" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "[WARNING_NOTCL] Exportul unui fişier SVG negativ este anulat." @@ -11498,8 +11485,8 @@ msgstr "" "Tipul sau poate să fie ori Gerber ori Geometrie." #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" -msgstr "Val. DPI:" +msgid "DPI value" +msgstr "Val. DPI" #: flatcamTools/ToolImage.py:65 msgid "Specify a DPI value for the image." @@ -11588,11 +11575,11 @@ msgstr "Importa imagine" msgid "Open a image of raster type and then import it in FlatCAM." msgstr "Deschide o imagine tip raster și importa aceasta in FlatCAM." -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "Unealta Imagine" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "Importa Imagine" @@ -11600,10 +11587,6 @@ msgstr "Importa Imagine" msgid "Measurement" msgstr "Masuratoare" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "Unităti:" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "Unitatile de masura in care se masoara distanța." @@ -11637,16 +11620,16 @@ msgid "This is the measuring Stop point coordinates." msgstr "Coordonatele punctului de Stop." #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" -msgstr "Dx:" +msgid "Dx" +msgstr "Dx" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 msgid "This is the distance measured over the X axis." msgstr "Distanta masurata pe axa X." #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" -msgstr "Dy:" +msgid "Dy" +msgstr "Dy" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 msgid "This is the distance measured over the Y axis." @@ -11731,11 +11714,23 @@ msgstr "[WARNING_NOTCL] Obiectele nu sunt selectate." msgid "Non-Copper Clearing" msgstr "Curățăre Non-Cu" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " -msgstr "Obiectul Gerber care să fie curățat de cuprul in exces." +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Precizați tipul de obiect care trebuie curățat de excesul de cupru.\n" +"Poate fi de tip: Gerber sau Geometry.\n" +"Ceea ce este selectat aici va dicta genul\n" +"de obiecte care vor popula combobox-ul „Obiect”." -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "Obiect care trebuie curatat de excesul de cupru." + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -11743,7 +11738,7 @@ msgstr "" "Un număr de unelte din care algoritmul va alege\n" "pe acelea care vor fi folosite pentru curățarea de Cu." -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -11759,7 +11754,7 @@ msgstr "" "Doar uneltele care efectiv au creat geometrie vor fi prezente in obiectul\n" "final. Aceasta deaorece unele unelte nu vor putea genera geometrie." -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -11782,15 +11777,11 @@ msgstr "" "unealtă< din coloana tabelei de Unelte.
Alegerea tipului V-Shape " "va selecta automat Tipul Operaţiei ca fiind Izolare." -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "Dia Unealtă" - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Diametrul pentru noua unealtă care să fie adăugată in Tabela de Unelte" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -11799,41 +11790,23 @@ msgstr "" "Șterge o selecţie de unelte in Tabela de Unelte,\n" "efectuata prin selectia liniilot din Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." -msgstr "" -"Daca este bifat foloseşte strategia de curățare tip 'rest'.\n" -"Curățarea de cupru va incepe cu unealta cu diametrul cel mai mare\n" -"continuand ulterior cu cele cu dia mai mic pana numai sunt unelte\n" -"sau s-a terminat procesul.\n" -"Doar uneltele care efectiv au creat geometrie vor fi prezente in obiectul\n" -"final. Aceasta deaorece unele unelte nu vor putea genera geometrie.\n" -"Daca nu este bifat, foloseşte algoritmul standard." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" +msgstr "Selecţie zonă" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." -msgstr "" -"- „Însuși”: intinderea suprafeței de curățare a cuprului\n" -"se bazează pe obiectul care este curățat de cupru.\n" -"- „Cutie”: va efectua o curățare de cupru în suprafața\n" -"specificată de obiectul selectat în combobox-ul Obiect Ref.." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" +msgstr "Obiect ref." -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" -msgstr "Tip ref.:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" +msgstr "Referinţă:" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "Tip ref." + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -11842,42 +11815,42 @@ msgstr "" "non-cupru.\n" "Poate fi Gerber, Excellon sau Geometry." -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" -msgstr "Obiect ref.:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" +msgstr "Obiect Ref." -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "Obiectul FlatCAM pentru a fi utilizat ca referință pt. curățarea de cupru" -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "Genereza Geometrie" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "" "[WARNING_NOTCL] Introduce diametrul unei unelte pt a fi adăugată, in format " "Real." -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Adăugarea unei unelte noi este anulată. Unealta există deja " "in Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "[success] O noua unealtă a fost adăugată in Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "[success] O unealtă din Tabela de Unelte a fost editata." -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." @@ -11885,60 +11858,79 @@ msgstr "" "[WARNING_NOTCL] Editare eșuata. Noua valoare pt diametrul uneltei este deja " "in Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Ștergere eșuata. Selectează o unealtă pt ștergere." -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "[success] Au fost șterse unelte din Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "[WARNING_NOTCL] Faceți clic pe punctul de pornire al zonei." + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "[WARNING_NOTCL] Faceți clic pe punctul final al zonei de pictat." + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "Zona adăugată. Faceți clic dreapta pentru a termina." + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "[ERROR_NOTCL] Valoarea de suprapunere trrebuie sa ia valori intre 0 " "(inclusiv) si 1 (exclusiv)." -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "[ERROR_NOTCL] Nici-un obiect disponibil." -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "[WARNING_NOTCL] Buffering ..." -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "[success] Buferarea terminată ..." -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "" +"[ERROR_NOTCL] Obiectul selectat nu este potrivit pentru curățarea cuprului." + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" "[ERROR_NOTCL] Nu s-a putut obtine intinderea suprafaței care să fie curățată " "de cupru." -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "Se curăță PCB-ul de cuprul in exces." -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "[success] Curățarea de Cupru in exces cu Dia Unealtă = %s a inceput." -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "[success] Unealta NCC s-a terminat." -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." @@ -11946,17 +11938,17 @@ msgstr "" "[WARNING_NOTCL] Unealta NCC a terminat lucrul dar unele zone PCB nu au putut " "fi curățate de Cu. Verifică rezultatul." -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "[success] Curățarea de Cupru tip Rest cu dia unealtă = %s a inceput.." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -11994,19 +11986,23 @@ msgstr "[ERROR_NOTCL] Deschiderea unui fişier PDF a eșuat." msgid "[success] Rendered: %s" msgstr "[success] Analizat: %s" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" -msgstr "Unealta Paint" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Specificați tipul de obiect care urmează să fie pictat.\n" +"Poate fi de tip: Gerber sau Geometry.\n" +"Ceea ce este selectat aici va dicta genul\n" +"de obiecte care vor popula combobox-ul „Obiect”." -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" -msgstr "Geometrie:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." +msgstr "Obiect care trebuie pictat." -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "Obiectul tip Geometrie care să fie 'pictat'" - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -12014,7 +12010,7 @@ msgstr "" "O suma de unelte din care algoritmul va alege pe acelea\n" "care vor fi folosite pentru 'pictare'." -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -12030,11 +12026,11 @@ msgstr "" "Doar uneltele care efectiv au creat geometrie vor fi prezente in obiectul\n" "final. Aceasta deaorece unele unelte nu vor putea genera geometrie." -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "Diametrul pt noua unealtă." -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -12054,76 +12050,95 @@ msgstr "" "precedenta.\n" "Daca nu este bifat, foloseşte algoritmul standard." -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -"Cum să se selecteze poligoanele de 'pictat.
Opțiuni:
- Unic: " -"click mouse pe poligonul de 'pictat'.
- Toate: 'pictează' toate " -"poligoanele." +"Cum să selectați poligoanele de pictat.
Opțiuni:
- Poligoane " +"individuale : faceți clic stânga cu mouse pe poligonul care urmează să " +"fie pictat.
-Selecția zonei: faceți clic stânga cu mouse-ul " +"pentru a începe selecția zonei care urmează să fie pictată.
- Toate " +"poligoanele : pictați toate poligoanele.
-Obiect de referință: pictați o zonă descrisă de un obiect de referință extern." -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "Poligon unic" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "Toate Poligoanele" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"Tipul de obiect FlatCAM care trebuie utilizat ca referință pt. pictare.\n" +"Poate fi Gerber, Excellon sau Geometry." + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "Crează un obiect Geometrie tip 'Paint'" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Dupa ce se apasa pe acest buton
fa click pe poligonul care trebuie " -"'pictat' daca Unic este selectat.
Daca Toate este " -"selectat, operatia de 'pictare' va incepe imediat dupa click.
Un nou " -"obiect Geometrie va fi creat." +"- „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe selecția " +"zonei care va fi pictată.\n" +"Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite " +"adăugarea mai multor zone.\n" +"- „Toate Poligoanele” - Pictarea va începe după clic.\n" +"- „Obiect de referință” - va face o curățare fără cupru în zona specificată " +"de un alt obiect." -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "geometry_on_paint_button" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "" "[WARNING_NOTCL] Click in interiorul poligonului care se dorește să fie " "'pictat'." -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "[ERROR_NOTCL] Nu se poate face 'pictare' pe geometrii MultiGeo ..." -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "Se 'pictează' un poligon..." -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "[WARNING_NOTCL] Faceți clic pe punctul de pornire al zonei de pictat." -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "[WARNING_NOTCL] Faceți clic pe punctul final al zonei de pictat." - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "Executat." - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "[WARNING] Nu s-a gasit nici-un poligon." -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "Se 'pictează' un poligon." -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "[ERROR_NOTCL] Geometria nu a fost posibil să fie 'pictata' complet." -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -12134,18 +12149,18 @@ msgstr "" "diferita de parametri. Sau o strategie diferita de 'pictare'.\n" "%s" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "Paint pt poligon a inceput ..." -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -12156,7 +12171,7 @@ msgstr "" "combinaţie diferita de parametri. Sau încearcă o alta metoda de 'pictat'\n" "%s" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12168,11 +12183,11 @@ msgstr "" "geometrice.\n" "Schimbă parametrii de 'pictare' și încearcă din nou." -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "[success] 'Paint' pt toate poligoanele a fost efectuata." -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12184,7 +12199,7 @@ msgstr "" "pt a fi folosit in obiectul Geometrie de 'pictat'.\n" "Schimbă parametrii de 'pictat' și încearcă din nou." -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "" "[success] 'Paint' pentru toate poligoanele cu strategia Rest a fost " @@ -12215,17 +12230,9 @@ msgstr "" "Acesta va fi multiplicat intr-o arie\n" "de linii și coloane." -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "Obiect" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "Forma înconjurătoare::" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" -msgstr "Referintă panelizare:" +msgid "Penelization Reference" +msgstr "Referintă panelizare" #: flatcamTools/ToolPanelize.py:88 msgid "" @@ -12249,6 +12256,10 @@ msgstr "" "referintă,\n" "prin urmare mentinand obiectele paenlizate in sincronizare unul cu altul." +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "Tip container" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -12270,8 +12281,8 @@ msgstr "" "pt obiectul care va fi panelizat." #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" -msgstr "Date panel" +msgid "Panel Data" +msgstr "Date panel" #: flatcamTools/ToolPanelize.py:136 msgid "" @@ -12289,10 +12300,6 @@ msgstr "" "Spatierile sunt de fapt distante intre oricare două elemente ale \n" "ariei panelului." -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "Tip panel:" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -12304,8 +12311,8 @@ msgstr "" "-Gerber" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" -msgstr "Mentine panelul in:" +msgid "Constrain panel within" +msgstr "Mentine panelul in" #: flatcamTools/ToolPanelize.py:227 msgid "Panelize Object" @@ -12321,18 +12328,18 @@ msgstr "" "Cu alte cuvinte se crează copii multiple ale obiectului sursa,\n" "aranjate intr-o arie 2D de linii și coloane." -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "Unealta Panel" -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "" "[WARNING_NOTCL] Nu este disponibil nici-un container Box pentru obiect. Se " "foloseşte %s" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." @@ -12340,15 +12347,15 @@ msgstr "" "[ERROR_NOTCL] Val. coloane sau linii este zero. Schimbă aceasta val. intr-un " "număr pozitiv intreg." -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "Se generează panelul ... Va rugam asteptati!" -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "[success] Panel executat ..." -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " @@ -12357,7 +12364,7 @@ msgstr "" "[WARNING] Prea mare pt aria desemnata. Panelul final are {col} coloane și " "{row} linii" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "[success] Panel creat cu succes." @@ -12370,12 +12377,12 @@ msgid "Import 2-file Excellon" msgstr "Importa un Excellon bi-fisier" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" -msgstr "Încărcați fișiere:" +msgid "Load files" +msgstr "Încărcați fișierele" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" -msgstr "Fisier Excellon:" +msgid "Excellon file" +msgstr "Fisier Excellon" #: flatcamTools/ToolPcbWizard.py:59 msgid "" @@ -12386,8 +12393,8 @@ msgstr "" "De obicei are extensia .DRL." #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" -msgstr "Fisierul INF:" +msgid "INF file" +msgstr "Fisierul INF" #: flatcamTools/ToolPcbWizard.py:67 msgid "Load the INF file." @@ -12402,12 +12409,12 @@ msgid "Tool diameter in file units." msgstr "Dimaetrul uneltei in unitătile fisierului." #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" -msgstr "Formatul Excellon" +msgid "Excellon format" +msgstr "Format Excellon" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" -msgstr "Parte intreagă:" +msgid "Int. digits" +msgstr "Partea intreagă" #: flatcamTools/ToolPcbWizard.py:97 msgid "The number of digits for the integral part of the coordinates." @@ -12416,8 +12423,8 @@ msgstr "" "intreagă a coordonatelor." #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" -msgstr "Parte zecimală:" +msgid "Frac. digits" +msgstr "Partea zecimală:" #: flatcamTools/ToolPcbWizard.py:106 msgid "The number of digits for the fractional part of the coordinates." @@ -12430,8 +12437,8 @@ msgid "No Suppression" msgstr "Fără supresie" #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" -msgstr "Supresie Zerouri:" +msgid "Zeros supp." +msgstr "Supresie Zerouri" #: flatcamTools/ToolPcbWizard.py:116 msgid "" @@ -12448,10 +12455,6 @@ msgstr "" "- TZ = zerourile de la coadă sunt păstrate\n" "- Fără Supresie = nu se face supresie de zerouri" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "Unităti" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -12476,19 +12479,19 @@ msgstr "" "Unul are de obicei extensia .DRL in timp\n" "ce celălalt are extensia .INF." -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "Unealta PCBWizard" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "Incarcă un fisier Excellon tip PCBWizard" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "Incarcă un fisier INF tip PCBWizard" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" @@ -12498,56 +12501,114 @@ msgstr "" "Incearcă să deschizi fisierul Excellon din Fisier -> Deschide -> \n" "Excellon si să editezi manual diametrele uneltelor." -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "[success] Fisierul .INF tip PCBWizard a fost incărcat." -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "[success] Fişierul Excellon tip PCBWizard a fost incărcat." -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "[ERROR_NOTCL] Fişierul %s nu se poate parsa." -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "Excellon in curs de import." -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "[ERROR_NOTCL] Fişierul Excellon nu a fost posibil să fie importat." -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "[success] Importat: %s" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "" "[WARNING_NOTCL] Fuziunea fisiere Excellon este in curs. Vă rugăm " "aşteptați ..." -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "[ERROR_NOTCL] Fişierul Excellon importat este gol." -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "" "[ERROR_NOTCL] Unealta Proprietati nu a fost afișată. Nici-un obiect nu este " "selectat." -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "[success] Proprietatile obiectului sunt afisate in Tab-ul Unealta." -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "Unealta Proprietati" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "TIP" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "NUME" + +#: flatcamTools/ToolProperties.py:127 +msgid "Dimensions" +msgstr "Dimensiuni" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "Opțiuni" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "Tip Geo." + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "Geo-Unică" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "Geo-Multi" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "Lătime" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "Arie pătratică" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "Arie convexă" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "Inch" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "Metric" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "Prezent" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "Nimic" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "...in procesare..." @@ -12613,8 +12674,8 @@ msgid "Generate solder paste dispensing geometry." msgstr "Generează un obiect Geometrie pt dispensarea de pastă de fludor." #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" -msgstr "PAS 1:" +msgid "STEP 1" +msgstr "PAS 1" #: flatcamTools/ToolSolderPaste.py:144 msgid "" @@ -12654,8 +12715,8 @@ msgstr "" "de pastă de fludor pe padurile PCB." #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" -msgstr "PAS 2:" +msgid "STEP 2" +msgstr "PAS 2" #: flatcamTools/ToolSolderPaste.py:308 msgid "" @@ -12667,8 +12728,8 @@ msgstr "" "a pastei de fludor." #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" -msgstr "Rezultat Geo:" +msgid "Geo Result" +msgstr "Rezultat Geo" #: flatcamTools/ToolSolderPaste.py:326 msgid "" @@ -12681,8 +12742,8 @@ msgstr "" "in: '_solderpaste'." #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" -msgstr "PAS 3:" +msgid "STEP 3" +msgstr "PAS 3" #: flatcamTools/ToolSolderPaste.py:337 msgid "" @@ -12701,8 +12762,8 @@ msgstr "" "apoi se poate genera un obiect CNCJob actualizat." #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" -msgstr "Rezultat CNC:" +msgid "CNC Result" +msgstr "Rezultat CNC" #: flatcamTools/ToolSolderPaste.py:359 msgid "" @@ -12741,8 +12802,8 @@ msgstr "" "pe padurile unui PCB, intr-un fişier pe HDD." #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" -msgstr "PAS 4:" +msgid "STEP 4" +msgstr "PAS 4" #: flatcamTools/ToolSolderPaste.py:383 msgid "" @@ -12758,51 +12819,51 @@ msgstr "" msgid "Delete Object" msgstr "Șterge Obiectul" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Adăugarea unei unelte Nozzle a fost anulată. Unealta exista " "deja in Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "[success] A fost adăugată o noua unealtă Nozzle in Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "[success] Unealta Nozzle din Tabela de Unelte a fost editata." -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "" "[WARNING_NOTCL] Ștergerea a eșuat. Selectează o unealtă Nozzle pt a o șterge." -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "[success] Uneltele (nozzle) au fost șterse din Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "" "[WARNING_NOTCL] Nu este incărcat un obiect Gerber cu informatia mastii pt " "pastă de fludor." -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "Se creează Geometrie pt dispensare pastă de fludor." -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "[WARNING_NOTCL] Nu sunt unelte Nozzle in Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "" "[success] Obiectul Geometrie pt dispens. de pastă de fludor a fost generat " "cu succes ..." -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." @@ -12810,15 +12871,15 @@ msgstr "" "[WARNING_NOTCL] Cel puțin unele pad-uri nu au pastă de fludor datorita " "diametrelor uneltelor (nozzle) ne adecvate." -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "Se generează Geometria de dispensare a pastei de fludor ..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "[WARNING_NOTCL] Nu exista obiect Geometrie disponibil." -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." @@ -12826,13 +12887,13 @@ msgstr "" "[WARNING_NOTCL] Acest obiect Geometrie nu poate fi procesat Nu este o " "Geometrie tip solder_paste_tool." -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "[success] Obiectul CNCJob tip solder_paste_tool a fost creat: %s" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." @@ -12840,34 +12901,34 @@ msgstr "" "[WARNING_NOTCL] Acest obiect CNCJob nu poate fi procesat. Nu este un obiect " "CNCJob tip 'solder_paste_tool'" -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "[ERROR_NOTCL] Nu exista cod GCode in acest obiect ..." -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "Exporta GCode ..." -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "" "[success] Fişierul GCode pt dispensare pastă de fludor este salvat in: %s" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" -msgstr "Obiect Gerber" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" +msgstr "Obiecte Gerber" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" -msgstr "Tintă:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" +msgstr "Tintă" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." @@ -12875,11 +12936,11 @@ msgstr "" "Obiectul Gerber din care se scade \n" "obiectul Gerber substractor." -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" -msgstr "Substractor:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" +msgstr "Substractor" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." @@ -12887,11 +12948,11 @@ msgstr "" "Obiectul Gerber care se scade din \n" "obiectul Gerber tintă." -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "Execută" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -12903,11 +12964,11 @@ msgstr "" "Poate fi utilizat pt. a indepărta silkscreen-ul\n" "care se suprapune peste soldermask." -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" -msgstr "Obiecte Geometrie" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" +msgstr "Obiecte Geometrie" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." @@ -12915,7 +12976,7 @@ msgstr "" "Obiectul Geometrie din care se scade \n" "obiectul Geometrie substractor." -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." @@ -12923,11 +12984,11 @@ msgstr "" "Obiectul Geometrie care se va scădea \n" "din obiectul Geometrie tintă." -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "Execută" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." @@ -12935,48 +12996,49 @@ msgstr "" "Va indepărta aria ocupată de obiectul Geometrie \n" "substractor din obiectul Geometrie tintă." -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "Unealta Scădere" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "[ERROR_NOTCL] Nu este incărcat obiect Tintă." -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "[ERROR_NOTCL] Nu este incărcat obiect Substractor (scăzător)." -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "Se analizează geo pt. apertura: %s..." -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "Se generează un obiect nou ..." -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "[ERROR_NOTCL] Generarea unui nou obiect a eșuat." -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "[success] Creat: %s" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" "[ERROR_NOTCL] Momentan, obiectul substractor Geometrie nu poate fi de tip " "Multigeo." -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "Analizează geometria solidă..." -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "Analizează geo a uneltei %s ..." @@ -13015,16 +13077,7 @@ msgstr "" "Punctul de referinţă depinde de\n" "starea checkbox-ului >Referința Scalare<." -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" -"Scalează obiectele selectate\n" -"folosind Factor X de scalare pentru\n" -"ambele axe." - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -13034,7 +13087,7 @@ msgstr "" "Punctul de referinţă este mijlocul formei înconjurătoare\n" "pentru toate obiectele selectate.\n" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" @@ -13043,61 +13096,463 @@ msgstr "" "Oglindește obiectele selectate pe axa X.\n" "Nu crează un obiect nou." -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect pentru " "a fi Rotit!" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "Obiectele tip CNCJob nu pot fi Rotite." -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "[success] Rotaţie executată ..." -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect pentru " "a fi Oglindit!" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "Obiectele tip CNCJob nu pot fi Oglindite." -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect pentru " "a fi Deformat!" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "Obiectele tip CNCJob nu pot fi deformate." -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect pentru " "a fi Scalat!" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "Obiectele tip CNCJob nu pot fi scalate." -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect pentru " "a fi Deplasat!" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "Obiectele tip CNCJob nu pot fi deplasate." +#~ msgid "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." +#~ msgstr "" +#~ "Atunci când alegeți opțiunea „Însuși”, intinderea suprafeței curățate de " +#~ "Cu\n" +#~ "se bazează pe obiectul care este curățat de cupru.\n" +#~ "Alegerea opțiunii „Cutie” va efectua o curățare fără cupru\n" +#~ "în cadrul delimitarii specificate de un alt obiect diferit de cel care " +#~ "este curățat de cupru." + +#~ msgid "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." +#~ msgstr "" +#~ "Cum se selectează poligoanele de pictat.
Opțiuni:
- Singur : faceți clic stânga cu mouse-ul pe poligonul care urmează să fie " +#~ "pictat.
- Zona : faceți clic stânga cu mouse pentru a începe " +#~ "selecția zonei care urmează să fie pictată.
- Toate : pictați " +#~ "toate poligonele.
- Ref : pictați o zonă descrisă de un obiect " +#~ "de referință extern." + +#~ msgid "Geometry object to be painted. " +#~ msgstr "Obiectul tip Geometrie care să fie 'pictat'" + +#~ msgid "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." +#~ msgstr "" +#~ "După ce faceți clic aici, faceți clic pe
poligonul pe care doriți să " +#~ "fie pictat dacă este selectat Single .
Dacă Zonă este " +#~ "selectat, atunci selecţia zonei pentru fi pictată
va fi inițiată cu " +#~ "un prim clic și finalizată cu al doilea clic al mouse-ului.
Dacă " +#~ "Toate este selectat, atunci Paint va începe după clic.
Dacă " +#~ "Ref este selectat apoi pictarea va începe după clic,
, iar zona " +#~ "pictată va fi descrisă de un obiect selectat.
Un nou obiect Geometrie " +#~ "cu traseele uneltei va fi creat." + +#~ msgid "Done." +#~ msgstr "Executat." + +#~ msgid "Apertures:" +#~ msgstr "Aperturi:" + +#~ msgid "Aperture Code:" +#~ msgstr "Cod apertură" + +#~ msgid "Languages:" +#~ msgstr "Traduceri:" + +#~ msgid "Width (# passes):" +#~ msgstr "Latime(# treceri):" + +#~ msgid "Clear non-copper" +#~ msgstr "Curăță non-Cu" + +#~ msgid "Rounded corners" +#~ msgstr "C. rotunjite" + +#~ msgid "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." +#~ msgstr "" +#~ "Crează un obiect tip Geometrie conținând poligoane\n" +#~ "care acopera toate suprafetele libere de cupru ale PCB-ului." + +#~ msgid "Bounding Box:" +#~ msgstr "Forma înconjurătoare::" + +#~ msgid "Units:" +#~ msgstr "Unitati:" + +#~ msgid "Zeros:" +#~ msgstr "Zero-uri:" + +#~ msgid "INCH:" +#~ msgstr "Inch" + +#~ msgid "Tool change:" +#~ msgstr "Schimbare unealtă:" + +#~ msgid "Toolchange Z position." +#~ msgstr "" +#~ "Înălţimea la care se efectuează schimbarea uneltei.\n" +#~ "Poate reprezenta Înălţimea unde se gaseste un\n" +#~ "'toolchanger' automat sau acolo unde utilizatorul\n" +#~ "schimba unealtă manual." + +#~ msgid "Feedrate:" +#~ msgstr "Feedrate:" + +#~ msgid "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." +#~ msgstr "" +#~ "Viteza cu care se misca unealtă (burghiul) când se fac\n" +#~ "operațiuni de găurire. In unitati pe minut." + +#~ msgid "Gcode: " +#~ msgstr "G-Code:" + +#~ msgid "Offset Z:" +#~ msgstr "Z ofset:" + +#~ msgid "Slots:" +#~ msgstr "Sloturi:" + +#~ msgid "Create CNC Job:" +#~ msgstr "Crează CNCJob:" + +#~ msgid "Multidepth" +#~ msgstr "MultiPas" + +#~ msgid "Multidepth usage: True or False." +#~ msgstr "" +#~ "Dacă se folosesc sau nu pasi multipli de tăiere\n" +#~ "pentru a ajunge la adâncimea de tăiere." + +#~ msgid "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." +#~ msgstr "" +#~ "Un fişier care prelucrează codul G-Code astfel încât să\n" +#~ "respecte un anumit format care să fie ințeles de diverse\n" +#~ "utilaje. Este responsabil de 'personalizarea' G-Code." + +#~ msgid "Display Annotation:" +#~ msgstr "Afiseaza notatii:" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." +#~ msgstr "" +#~ "Adaugă aici orice comenzi G-Code care se dorește să fie\n" +#~ "inserate in codul G-Code atunci când se intalneste comanda M6.\n" +#~ "Comanda M6 este inlocuita.\n" +#~ "Aceata va constitui un macro pentru schimbul uneltelor." + +#~ msgid "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." +#~ msgstr "" +#~ "Daca este bifat, foloste 'rest machining'.\n" +#~ "Mai exact, se va curăța cuprul din afara traseelor,\n" +#~ "folosind mai intai unealta cu diametrul cel mai mare\n" +#~ "apoi folosindu-se progresiv unelte cu diametrul tot\n" +#~ "mai mic, din cele disponibile in tabela de unelte, pt a\n" +#~ "curăța zonele care nu s-au putut curăța cu unealta\n" +#~ "precedenta.\n" +#~ "Daca nu este bifat, foloseşte algoritmul standard." + +#~ msgid "Offset:" +#~ msgstr "Ofset:" + +#~ msgid "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." +#~ msgstr "Distanta de obiecte la care să se deseneze forma taietoare." + +#~ msgid "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." +#~ msgstr "" +#~ "Dimensiunea punţilor in trecerile de tăiere\n" +#~ "care vor mentine PCB-ul in poziţie, fără să cada\n" +#~ "din placa 'mama' dupa decupare." + +#~ msgid "Create a convex shape surrounding the entire PCB." +#~ msgstr "" +#~ "Generează un obiect tip Geometrie care va inconjura\n" +#~ "tot PCB-ul. Forma sa este convexa." + +#~ msgid "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." +#~ msgstr "" +#~ "Axa de referinţă ar trebui să treaca printr-un punct ori să " +#~ "strabata\n" +#~ " o forma (specificata un obiect tip Geometrie) prin mijloc." + +#~ msgid "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." +#~ msgstr "" +#~ "Cat de mult (o fracţie din diametrul uneltei) din diametrul uneltei,\n" +#~ "(lăţimea de tăiere) să se suprapună peste trecerea anterioară." + +#~ msgid "Panel Type:" +#~ msgstr "Tip panel:" + +#~ msgid "Tip angle:" +#~ msgstr "Unghiul la vârf:" + +#~ msgid "Angle for rotation. In degrees." +#~ msgstr "Unnghiul pentru rotaţie. In grade." + +#~ msgid "Angle for Skew/Shear on X axis. In degrees." +#~ msgstr "Unghiul pentru deformare pe axa X. In grade." + +#~ msgid "Angle for Skew/Shear on Y axis. In degrees." +#~ msgstr "Unghiul pentru deformare pe axa Y. In grade." + +#~ msgid "XY Toolchange:" +#~ msgstr "XY schimb unealtă:" + +#~ msgid "PostProcessors:" +#~ msgstr "Postprocesoare:" + +#~ msgid "Scale:" +#~ msgstr "Scalează:" + +#~ msgid "Offset:" +#~ msgstr "Ofset:" + +#~ msgid "Combine" +#~ msgstr "Combina" + +#~ msgid "Tools Table" +#~ msgstr "Tabela Unelte" + +#~ msgid "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." +#~ msgstr "" +#~ "Înălţimea uneltei la inceputul lucrului.\n" +#~ "Seterge aceasta valoare daca nu este folosita." + +#~ msgid "" +#~ "Z-axis position (height) for\n" +#~ "the last move." +#~ msgstr "Înălţimea, pe axa Z, la finalul lucrului." + +#~ msgid "" +#~ "The json file that dictates\n" +#~ "gcode output." +#~ msgstr "" +#~ "Fişierul care dictează codul G-Code \n" +#~ "generat. In format JSON." + +#~ msgid "Type: " +#~ msgstr "Tip:" + +#~ msgid "Drills Tool dia:" +#~ msgstr "Dia. Burghiu:" + +#~ msgid "Slots Tool dia:" +#~ msgstr "Dia freza:" + +#~ msgid "Tool Dia:" +#~ msgstr "Dia unealtă:" + +#~ msgid "Tool Data" +#~ msgstr "Date Unealtă" + +#~ msgid "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." +#~ msgstr "" +#~ "Aceasta este înălţimea Z, la care CNC-ul \n" +#~ "va fi parcat la finalul de lucru." + +#~ msgid "Feed Rate Z (Plunge):" +#~ msgstr "Feedrate Z (Plonjare):" + +#~ msgid "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" +#~ msgstr "" +#~ "Viteza de tăiere in planul Z.\n" +#~ "In unitati pe minut." + +#~ msgid "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." +#~ msgstr "" +#~ "Viteza de găurire, in unitati pe minut.\n" +#~ "Corespunde comenzii G0 și este utila doar pentru\n" +#~ "printerul 3D Marlin, implicit când se foloseşte fişierul\n" +#~ "postprocesor: Marlin. Ignora aceasta parametru in rest." + +#~ msgid "Cut over 1st pt" +#~ msgstr "Re-tăiere 1-ul pt." + +#~ msgid "Paint Area:" +#~ msgstr "Unealta Paint" + +#~ msgid "CNC Tools Table" +#~ msgstr "Tabela Unelte CNC" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." +#~ msgstr "" +#~ "Plasează aici acele comenzi GCode care se dorește să fie\n" +#~ "adaugate la inceputul codului masina CNC." + +#~ msgid "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." +#~ msgstr "" +#~ "Acesta este diametrul uneltei la vârf.\n" +#~ "Producatorul il specifica in foaia de catalog." + +#~ msgid "Object:" +#~ msgstr "Obiect:" + +#~ msgid "Units:" +#~ msgstr "Unităti:" + +#~ msgid "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." +#~ msgstr "" +#~ "- „Însuși”: intinderea suprafeței de curățare a cuprului\n" +#~ "se bazează pe obiectul care este curățat de cupru.\n" +#~ "- „Cutie”: va efectua o curățare de cupru în suprafața\n" +#~ "specificată de obiectul selectat în combobox-ul Obiect Ref.." + +#~ msgid "Geometry:" +#~ msgstr "Geometrie:" + +#~ msgid "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." +#~ msgstr "" +#~ "Scalează obiectele selectate\n" +#~ "folosind Factor X de scalare pentru\n" +#~ "ambele axe." + +#~ msgid "Excellon Format:" +#~ msgstr "Formatul Excellon" + +#~ msgid "Tools:" +#~ msgstr "Unelte:" + +#~ msgid "Export G-Code:" +#~ msgstr "Exporta G-Code:" + +#~ msgid "How to select the polygons to paint." +#~ msgstr "Cum să se selecteze poligoanele de pictat (paint)." + +#~ msgid "V-Shape Tool Calculator:" +#~ msgstr "Calculator: Unealta V-shape" + +#~ msgid "ElectroPlating Calculator:" +#~ msgstr "Calculator Electroplacare:" + +#~ msgid "Name:" +#~ msgstr "Nume:" + +#~ msgid "Plot kind:" +#~ msgstr "Afișare:" + +#~ msgid "Display Annotation:" +#~ msgstr "Afișare notatii:" + +#~ msgid "GERBER:" +#~ msgstr "GERBER:" + +#~ msgid "EXCELLON:" +#~ msgstr "EXCELLON:" + +#~ msgid "GEOMETRY:" +#~ msgstr "GEOMETRIE:" + +#~ msgid "Panel Type:" +#~ msgstr "Tip panel:" + +#~ msgid "Excellon format:" +#~ msgstr "Formatul Excellon" + +#~ msgid "Gerber Objects" +#~ msgstr "Obiect Gerber" + +#~ msgid "Geometry Objects" +#~ msgstr "Obiecte Geometrie" + #~ msgid "Save &Defaults" #~ msgstr "Salvează valori &Default" @@ -13203,9 +13658,6 @@ msgstr "Obiectele tip CNCJob nu pot fi deplasate." #~ "[ERROR_NOTCL] Factorul de scalare a aperturii lipseste sau este in format " #~ "gresit." -#~ msgid "[ERROR_NOTCL] The aperture buffer value is missing or wrong format." -#~ msgstr "[ERROR_NOTCL] Valoarea pt bufer apertura lipseste " - #~ msgid "" #~ "Editor Shortcut list
\n" #~ "
\n" diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index b7973413..7b783b00 100644 Binary files a/locale/ru/LC_MESSAGES/strings.mo and b/locale/ru/LC_MESSAGES/strings.mo differ diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po index a58099ff..9d14eee0 100644 --- a/locale/ru/LC_MESSAGES/strings.po +++ b/locale/ru/LC_MESSAGES/strings.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-08-17 15:17+0300\n" +"POT-Creation-Date: 2019-08-23 23:19+0300\n" "PO-Revision-Date: \n" "Last-Translator: Andrey Kultyapov \n" "Language-Team: \n" @@ -20,16 +20,16 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "Новый проект - не сохранен" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Не удалось найти языковые файлы. Строки приложения отсутствуют." -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "Съемные вкладки" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" @@ -37,26 +37,30 @@ msgstr "" "(Введите help для начала работы.)\n" "\n" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "Новый проект - не сохранен" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Открытие отменено." -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "Не удалось открыть файл конфигурации." -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "Ошибка открытия файла сценария." -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" "[WARNING_NOTCL] Выберите объект Geometry, Gerber или Excellon для " "редактирования." -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -66,89 +70,91 @@ msgstr "" "невозможно.\n" "Редактируйте только одну геометрию за раз." -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Редактор активирован ..." -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "Вы хотите сохранить редактируемый объект?" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "Закрыть редактор" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "Да" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "Нет" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "Отмена" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Объект пуст после редактирования." -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Выберите объект Gerber, Geometry или Excellon для обновления." -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s обновлён, возврат в приложение ..." -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Не удаётся загрузить файл настроек." -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Не удаётся прочитать файл настроек." -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "Импорт настроек FlatCAM" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] Импорт настроек FlatCAM отменен." -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "[ERROR_NOTCL] Не удалось загрузить файл значений по умолчанию." -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Не удалось прочитать файл значений по умолчанию." -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Значения по умолчанию импортированы из %s" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "Экспорт настроек FlatCAM" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] Экспорт настроек FlatCAM отменён." -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -156,24 +162,24 @@ msgstr "" "[WARNING] В доступе отказано, сохранение невозможно.\n" "Скорее всего, другое приложение держит файл открытым и недоступным." -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Не удалось записать значения по умолчанию в файл." -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "[ERROR_NOTCL] Не удалось открыть файл истории файлов для записи." -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "[ERROR_NOTCL] Не удалось открыть файл последних проектов для записи." -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" "[ERROR_NOTCL] Произошла внутренняя ошибка. Посмотрите в командную строку.\n" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -182,11 +188,11 @@ msgstr "" "Объект ({kind}) не выполнен, потому что: {error} \n" "\n" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "Конвертирование единиц в " -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -217,35 +223,35 @@ msgstr "" "a>
ЗАГРУЗИТЬ можно отсюда.
" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "Закрыть" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "[success] Значения по умолчанию сохранены." -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "[ERROR_NOTCL] Не удалось загрузить файл с исходными значениями." -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "[ERROR_NOTCL] Не удалось прочитать файл с исходными значениями." -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "[ERROR_NOTCL] Не удалось записать исходные значения в файл." -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "Исходные значения сохранены." -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Приложение сохраняет проект. Пожалуйста, подождите ..." -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -253,11 +259,11 @@ msgstr "" "Есть файлы/объекты, измененные в FlatCAM.\n" "Вы хотите сохранить проект?" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Сохранить изменения" -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -273,43 +279,43 @@ msgstr "" "потеряна, и результат может не соответствовать ожидаемому. \n" "Проверьте сгенерированный GCODE." -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Неудача. Присоединение Excellon работает только на объектах " "Excellon." -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Неудача. Объединение Gerber работает только на объектах Gerber." -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "[ERROR_NOTCL] Неудалось. Выберите объект Geometry и попробуйте снова." -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Ожидается FlatCAMGeometry, получено %s" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Объект Geometry был преобразован в тип MultiGeo." -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Объект Geometry был преобразован в тип SingleGeo." -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "Единицы измерения" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." -msgstr "Изменение единиц измерения проекта ...>" +#: FlatCAMApp.py:4172 +msgid "Change project units ..." +msgstr "Изменить единицы проекта ..." -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -319,43 +325,43 @@ msgstr "" "масштабированию всех геометрических свойств всех объектов.\n" "Продолжить?" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "Да" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Конвертирование единиц в %s" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Изменение единиц отменено." -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "Открыть файл" -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "Экспорт G-Code …" -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Экспорт Code отменён." -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "[WARNING] Нет такого файла или каталога" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "Сохранёно в: %s" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." @@ -363,12 +369,12 @@ msgstr "" "[WARNING_NOTCL] Пожалуйста, введите диаметр инструмента с ненулевым " "значением в float формате." -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Добавление инструмента отменено ..." -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -377,11 +383,11 @@ msgstr "" "«Дополнительно».\n" "Перейдите в Настройки -> Основные парам. - Показать дополнительные параметры." -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "Удалить объекты" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -389,65 +395,65 @@ msgstr "" "Вы уверены, что хотите удалить навсегда\n" "выделенные объекты?" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "Объект(ы) удален ..." -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "Нудача. Объекты не выбраны ..." -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "Сохраните работу в редакторе и попробуйте снова ..." -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "Кликните, чтобы указать начало координат ..." -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "Перейти к ..." -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "Введите координаты в формате X, Y:" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Неверные координаты. Введите координаты в формате: X, Y" -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "[success] Готово." -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "[WARNING_NOTCL] Объект не выбран. Выберите объект и попробуйте снова." -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "[success] Начало координат установлено ..." -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "Настройки" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "[WARNING_NOTCL] Настройки отредактированы, но не сохранены." -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -455,107 +461,107 @@ msgstr "" "Одно или несколько значений изменены.\n" "Вы хотите сохранить настройки?" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "Сохранить настройки" -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "[success] Настройки сохранены." -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "[WARNING_NOTCL] Не выбран объект для отражения по оси Y." -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "[success] Отражение по оси Y завершено." -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Из-за %s, операция переворота не была выполнена." -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "[WARNING_NOTCL] Не выбран объект для отражения по оси Х." -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "[success] Отражение по оси Х завершено." -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Не выбран ни один объект для вращения." -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "Трансформация" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "Введите значение угла:" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "[success] Вращение завершено." -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Из-за %s вращение не было выполнено." -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "[WARNING_NOTCL] Не выбран ни один объект для наклона/сдвига по оси X." -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "[success] Наклон по оси X выполнен." -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "[WARNING_NOTCL] Нет объекта, выбранного для наклона/сдвига по оси Y." -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "[success] Наклон по оси Y выполнен." -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "Сетка вкл/откл" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "Добавить" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Удалить" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "Новая сетка ..." -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "Введите размер сетки:" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -563,56 +569,56 @@ msgstr "" "[WARNING_NOTCL] Пожалуйста, введите значение сетки с ненулевым значением в " "формате float." -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "[success] Новая сетка добавлена ..." -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Сетка уже существует ..." -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Добавление новой сетки отменено ..." -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Значение сетки не существует ..." -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "[success] Значение сетки удалено ..." -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Удаление значения сетки отменено ..." -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "Список комбинаций клавиш" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] Нет объекта, выбранного для копирования его имени" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "Имя скопировано в буфер обмена ..." -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "[success] Координаты скопированы в буфер обмена." -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} выбран" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -622,110 +628,110 @@ msgstr "" "Создание нового проекта удалит их.\n" "Вы хотите сохранить проект?" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "[success] Новый проект создан ..." -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "Открыть Gerber" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Открытие Gerber отменено." -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "Открыть Excellon" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Открытие Excellon отменено." -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "Открыть G-Code" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Открытие G-Code отменено." -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "Открыть проект" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Открытие проекта отменено." -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "Открыть файл конфигурации" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Открытие конфигурации отменено." -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Нет выбранных объектов." -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "Выберите объект Geometry для экспорта" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" "[ERROR_NOTCL] Можно использовать только объекты Geometry, Gerber и CNCJob." -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "Экспорт SVG" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Экспорт SVG отменён." -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" "[WARNING_NOTCL] Данные должны быть 3D массивом с последним размером 3 или 4" -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "Экспорт PNG изображения" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "Экспорт PNG отменён." -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Нет выбранных объектов. Пожалуйста, выберите Gerber объект " "для экспорта." -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Ошибка. Только объекты Gerber могут быть сохранены как файлы " "Gerber..." -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "Сохранить исходный файл Gerber" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Сохранение исходного кода файла Gerber отменено." -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -733,22 +739,22 @@ msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите Excellon объект для " "экспорта." -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Ошибка. Только объекты Excellon могут быть сохранены как файлы " "Excellon..." -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "Сохранить исходный файл Excellon" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Сохранение исходного кода файла Excellon отменено." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -756,95 +762,95 @@ msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите отличный объект для " "экспорта." -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "Экспорт Excellon" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Экспорт Excellon отменен." -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Нет выбранных объектов. Пожалуйста, выберите Gerber объект " "для экспорта." -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "Экспорт Gerber" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Экспорт Gerber отменен." -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Можно использовать только объекты Geometry." -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "Экспорт DXF" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Экспорт DXF отменен." -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "Импорт SVG" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Открытие SVG отменено." -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "Импорт DXF" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Открытие DXF отменено." -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Выберите файл Gerber или Excellon для просмотра исходного " "кода." -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." msgstr "" "[WARNING_NOTCL] Нет выбранного объекта, для просмотра исходного кода файла." -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "Редактор исходного кода" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "Редактор кода" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "Редактор сценариев" -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -888,98 +894,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "Открыть сценарий TCL" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Открытие сценария отменено." -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "Запустить сценарий TCL" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Запуск сценария отменен." -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "Сохранить проект как..." -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Project_{date}" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Сохранение проекта отменено." -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "Экспортирование SVG" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] Файл SVG экспортируется в %s" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Нет объекта Box. Используйте взамен %s" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "Создание фильма ... Пожалуйста, подождите." -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Файл Excellon экспортируется в %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "Экспорт Excellon" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Не удалось экспортировать файл Excellon." -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Файл Gerber экспортируется в %s" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "Экспортирование Gerber" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Не удалось экспортировать файл Gerber." -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] Файл DXF экспортируется в %s" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "Экспорт DXF" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[WARNING_NOTCL] Не удалось экспортировать файл DXF." -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -987,98 +993,98 @@ msgstr "" "[ERROR_NOTCL] В качестве параметра выбран не поддерживаемый тип. " "Поддерживаются только Geometry и Gerber" -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "Импортирование SVG" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Открыт: %s" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "Импорт DXF" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "Импорт изображения" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Не удалось открыть файл: %s" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Не удалось проанализировать файл: {name}. {error}" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "[ERROR] Произошла внутренняя ошибка. Смотрите командную строку.\n" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Объект не является файлом Gerber или пустым. Прерывание " "создания объекта." -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "Открытие Gerber" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "[ERROR_NOTCL] Открыть Gerber не удалось. Вероятно это не Gerber файл." -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Это не Excellon файл." -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Не удается открыть файл: %s" -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" "[ERROR_NOTCL] Произошла внутренняя ошибка. Смотрите командную строку.\n" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] Геометрия не найдена в файле: %s" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "Открытие Excellon." -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Не удалось открыть файл Excellon. Вероятно это не файл " "Excellon." -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Не удалось открыть %s" -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Это не GCODE" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "Открытие G-Code." -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1088,26 +1094,34 @@ msgstr "" " Попытка создать объект Flatcam CNCJob из файла G-кода не удалась во время " "обработки" -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Не удалось открыть файл конфигурации: %s" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "Загрузка проекта ... Пожалуйста, подождите ..." + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Не удалось открыть файл проекта: %s" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "Загрузка проекта ... восстановление" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Проект загружен из: %s" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "Доступные команды:\n" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1119,37 +1133,37 @@ msgstr "" "Для дополнительной информации ведите help <имя_команды> .\n" "Пример: help open_gerber" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "Показывает список команд." -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Не удалось загрузить список недавних файлов." -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Не удалось прочитать список недавних файлов." -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "" "[ERROR_NOTCL] Не удалось загрузить список элементов последних проектов." -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "" "[ERROR_NOTCL] Не удалось проанализировать список последних элементов проекта." -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "Очистить список" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr "Список комбинаций клавиш" -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1245,25 +1259,25 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Не удалось проверить обновление программы. Отсутствует " "интернет подключение ." -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "[ERROR_NOTCL] Не удается обработать информацию о последней версии." -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM в актуальном состоянии!" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "Доступна новая версия" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1271,84 +1285,84 @@ msgstr "" "Новая версия FlatCAM доступна для загрузки:\n" "\n" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "инфо" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "[success] Все участки отключены." -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "[success] Все невыбранные участки отключены." -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "[success] Все участки включены." -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "[success] Выбранные участки включены..." -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "[success] Выбранные участки отключены..." -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "Обработка…" -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "Сохранение проекта FlatCAM" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Проект сохранён в: %s" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Не удалось проверить файл проекта: %s. Повторите попытку." -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Не удалось проанализировать сохраняемый файл проекта: %s. " "Повторите попытку сохранения." -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Не удалось сохранить файл проекта: %s. Повторите попытку." -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Имя изменено с {old} на {new}" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "Базовый" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "Расширенный" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "[ERROR_NOTCL] Геометрия изоляции не может быть сгенерирована." -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "Грубый" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Создана геометрия изоляции: %s" @@ -1357,34 +1371,34 @@ msgstr "[success] Создана геометрия изоляции: %s" msgid "Plotting Apertures" msgstr "Создание отверстия" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "Всего отверстий" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "Всего пазов" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Неправильно введен формат значения, используйте числа." @@ -1405,9 +1419,9 @@ msgid "Tool_nr" msgstr "№ инструмента" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Диаметр" @@ -1447,8 +1461,8 @@ msgstr "" msgid "Generating CNC Code" msgstr "Генерация кода ЧПУ" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1458,16 +1472,16 @@ msgstr "" "формате (x, y)\n" "но теперь есть только одно значение, а не два. " -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "Конец" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "Копировать" @@ -1539,51 +1553,51 @@ msgstr "" "указано.\n" "Добавьте смещение инструмента или измените тип смещения." -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Отмена. Пустой файл, он не имеет геометрии..." -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] Коэффициент масштабирования должен быть числом: целочисленным " "или с плавающей запятой." -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "[success] Масштабирование Geometry выполнено." -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." msgstr "" "[ERROR_NOTCL] Необходима пара значений (x,y). Возможно, вы ввели только одно." -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "[success] Смещение Geometry выполнено." -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "Экспорт GCode ..." -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Экспорт GCode отменен ..." -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Файл GCode сохранён в: %s" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1592,11 +1606,11 @@ msgstr "" "[WARNING_NOTCL] CNCJob объект %s не может быть обработан, так как он " "является объектом CNCJob." -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] G-code не имеет кода единиц измерения: G20 или G21" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1604,16 +1618,16 @@ msgstr "" "[ERROR_NOTCL] Отмена. Пользовательский код смены инструмента включен, но он " "пуст." -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" "[success] G-code смены инструмента был заменен на пользовательский код." -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Нет такого файла или каталога" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1621,7 +1635,7 @@ msgstr "" "[WARNING_NOTCL] Используемый файл постпроцессора должен иметь имя: " "'toolchange_custom'" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Это не файл постпроцессора." @@ -1653,40 +1667,40 @@ msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "" "[ERROR_NOTCL] self.solid_geometry не является базовой геометрией или списком." -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "[success] Объект был отзеркалирован ..." -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Не удалось зеркалировать. Объект не выбран" -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "[success] Объект был повернут ..." -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Не удалось повернуть. Объект не выбран" -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "[success] Объект был наклонён ..." -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Не удалось наклонить. Объект не выбран" -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Координаты отсутствуют, строка игнорируется: %s" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "[WARNING_NOTCL] Файл GERBER может быть поврежден. Проверьте файл !!!" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1695,7 +1709,7 @@ msgstr "" "[ERROR] Региону не хватает точек. Файл будет обработан, но есть ошибки " "разбора. Номер строки: %s" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1704,32 +1718,32 @@ msgstr "" "[ERROR]Ошибка разбора Gerber.\n" "%s:" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "[success] Масштабирование Gerber выполнено." -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "[success] Смещение Gerber выполнено." -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "[success] Зеркалирование Gerber выполнено." -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "[success] Наклон Gerber выполнен." -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "[success] Вращение Gerber выполнено." -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Это метка GCODE: %s" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1746,7 +1760,7 @@ msgstr "" "Пользователю необходимо отредактировать полученный объект Excellon и " "изменить диаметры, чтобы отразить реальные диаметры." -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1755,7 +1769,7 @@ msgstr "" "[ERROR] Ошибка разбора Excellon.\n" "Ошибка разбора. Строка {l_nr}: {line}\n" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1765,12 +1779,12 @@ msgstr "" "из-за отсутствия связанного инструмента.\n" "Проверьте полученный GCode." -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Такого параметра нет: %s" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1784,7 +1798,7 @@ msgstr "" "предполагая, что это опечатка, приложение преобразует значение в " "отрицательное. Проверьте полученный CNC code (Gcode и т. д.)." -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1792,15 +1806,15 @@ msgstr "" "[WARNING] Параметр \"Глубина резания\" равен нулю. Обрезки не будет , " "пропускается файл %s" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] загруженный файл Excellon не имеет отверстий ..." -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Выбран неправильный тип оптимизации." -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1808,7 +1822,7 @@ msgstr "" "[ERROR_NOTCL] Параметр \"Глубина резания\" равен None или пуст. Скорее всего " "неудачное сочетание других параметров." -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1822,11 +1836,11 @@ msgstr "" "предполагая, что это опечатка, приложение преобразует значение в " "отрицательное. Проверьте полученный CNC code (Gcode и т. д.)." -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Параметр \"Отвод по Z\" равен None или пуст." -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1840,7 +1854,7 @@ msgstr "" "что это опечатка, приложение преобразует значение в положительное. Проверьте " "полученный CNC code (Gcode и т. д.)." -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1848,19 +1862,19 @@ msgstr "" "[WARNING] Параметр \"Отвод по Z\" равен нулю. Это опасно, пропускается файл " "%s" -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR]Ожидалась Geometry, получили %s" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." msgstr "" "[ERROR_NOTCL] Попытка создать CNC Job из объекта Geometry без solid_geometry." -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1870,51 +1884,51 @@ msgstr "" "current_geometry.\n" "Увеличте значение (в модуле) и повторите попытку." -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "[ERROR_NOTCL] В геометрии SolderPaste нет данных инструмента." -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "Нажмите для размещения ..." -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "[WARNING_NOTCL] Чтобы добавить отверстие, сначала выберите инструмент" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "[success] Готово. Сверло добавлено." -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Чтобы добавить массив отверстий, сначала выберите инструмент " "в таблице инструментов" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "Нажмите на целевой точке ..." -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "Нажмите на начальную позицию кругового массива отверстий" -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." @@ -1922,114 +1936,114 @@ msgstr "" "[ERROR_NOTCL] Это не значение с плавающей точкой. Проверьте наличие запятой " "в качестве разделителя." -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "[ERROR_NOTCL] Значение введено с ошибкой. Проверьте значение. %s" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "" "[WARNING_NOTCL] Слишком много отверстий для выбранного интервала угла ." -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "[success] Готово. Массив отверстий добавлен." -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "[WARNING_NOTCL] Чтобы добавить слот, сначала выберите инструмент" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Значение отсутствует или имеет неправильный формат. Добавьте " "его и повторите попытку." -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "[success] Готово. Добавление слота завершено." -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "" "[WARNING_NOTCL] Чтобы добавить массив слотов, сначала выберите инструмент в " "таблице инструментов" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "Нажмите на начальную позицию круглого массива слота." -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "[ERROR_NOTCL] Значение опечатано. Проверьте значение." -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "[WARNING_NOTCL] Слишком много слотов для выбранного расстояния." -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "[success] Готово. Слот Массив добавлен." -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "Нажмите на сверло для изменения размера ..." -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" "[ERROR_NOTCL] Не удалось изменить размер отверстий. Пожалуйста введите " "диаметр для изменения размера." -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "[ERROR_NOTCL] Отмена." -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "[success] Готово. Сверло / Слот Изменение размера завершено." -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "" "[WARNING_NOTCL] Отменено. Не выбраны дрели / слоты для изменения размера ..." -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "Кликните на конечную точку ..." -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "[success] Готово. Перемещение отверстий завершено." -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "[success] Готово. Отверстия скопированы." -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "Редактор Excellon" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "Имя:" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Таблица инструментов" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2037,11 +2051,11 @@ msgstr "" "Инструменты для Excellon объекта\n" "используемые для сверления." -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "Добавить/Удалить инструмент" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2049,20 +2063,20 @@ msgstr "" "Добавляет/Удаляет инструмент в списоке инструментов\n" "для этого Excellon объекта ." -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "Диаметр инструмента:" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "Диаметр нового инструмента" -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "Доб. инструм." -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2070,11 +2084,11 @@ msgstr "" "Добляет новый инструмент в список инструментов\n" "с диаметром, указанным выше." -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "Удалить инструмент" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2082,39 +2096,39 @@ msgstr "" "Удаляет инструмент из списка инструментов\n" "в выбранной строке таблицы инструментов." -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "Изменить размер сверла" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "Изменяет размер сверла или выбранных свёрел." -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "Изменить диаметр:" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "Диаметр для изменения." -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "Изменить" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "Изменить размер сверла" -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "Добавить массив отверстий" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "Добавить массив свёрел (линейный или круговой массив)" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2122,40 +2136,38 @@ msgstr "" "Выберите тип массива свёрел для создания.\n" "Это может быть линейный X (Y) или круговой" -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "Линейный" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "Круговой" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "Кол-во отверстий:" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "Укажите, сколько свёрел должно быть в массиве." -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "Направление:" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2167,61 +2179,62 @@ msgstr "" "- 'Y' - вертикальная ось или\n" "- 'Угол' - произвольный угол наклона массива" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Угол" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 +#: flatcamEditors/FlatCAMExcEditor.py:1642 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "Pitch:" msgstr "Шаг:" -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 msgid "Pitch = Distance between elements of the array." msgstr "Подача = Расстояние между элементами массива." -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 msgid "Angle:" msgstr "Угол:" -#: flatcamEditors/FlatCAMExcEditor.py:1642 -#: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -2233,9 +2246,9 @@ msgstr "" "Минимальное значение: -359.99 градусов.\n" "Максимальное значение: 360.00 градусов." -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 +#: flatcamEditors/FlatCAMExcEditor.py:1877 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -2243,35 +2256,36 @@ msgstr "" "Направление для кругового массива. Может быть CW = по часовой стрелке или " "CCW = против часовой стрелки." -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 msgid "CW" msgstr "CW" -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 msgid "CCW" msgstr "CCW" -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "Угол, под которым расположен каждый элемент в круговом массиве." -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "Параметры слота" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2279,15 +2293,15 @@ msgstr "" "Параметры для добавления прорези (отверстие овальной формы)\n" "либо один, либо как часть массива." -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "Длина:" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "Длина = длина слота." -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2299,7 +2313,7 @@ msgstr "" "- 'Y' - вертикальная ось или\n" "- «Угол» - произвольный угол наклона прорези" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2311,15 +2325,15 @@ msgstr "" "Минимальное значение: -359,99 градусов.\n" "Максимальное значение: 360,00 градусов." -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "Параметры массива слотов" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Параметры для массива слотов (линейный или круговой массив)" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2327,15 +2341,15 @@ msgstr "" "Выберите тип массива слотов для создания.\n" "Это может быть линейный X (Y) или круговой" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "Количество слотов:" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "Укажите, сколько слотов должно быть в массиве." -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2345,67 +2359,65 @@ msgstr "" "Сохраните и повторно отредактируйте Excellon, если вам нужно добавить этот " "инструмент. " -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "[success] Добавлен новый инструмент с диаметром: {dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "[WARNING_NOTCL] Выберите инструмент в таблице инструментов" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "[success] Удален инструмент с диаметром: {del_dia} {units}" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "[success] Готово. Редактирование инструмента завершено." -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." msgstr "[ERROR_NOTCL] В файле нет инструментов. Прерывание создания Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] Произошла внутренняя ошибка. Посмотрите в командную строку.\n" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "Создание Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "[success] Редактирование Excellon завершено." -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "[WARNING_NOTCL] Отмена. Инструмент/сверло не выбрано" -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Готово. Отверстия удалены." -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "Нажмите на центральную позицию кругового массива" -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "Расстояние буфера:" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "Угол буфера:" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2418,45 +2430,45 @@ msgstr "" " - 'Квадрат:' угол встречается под острым углом для внешнего буфера.\n" " - 'Скошенный:' линия, напрямую соединяющая элементы, встречающиеся в углу" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "Круглый" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "Квадратный" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "Скошенный" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "Буфер внутри" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "Буфер снаружи" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "Полный буфер" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "Буфер" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2464,22 +2476,19 @@ msgstr "" "[WARNING_NOTCL] Отсутствует значение расстояния буфера или оно имеет " "неправильный формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "Текст" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "Инструменты" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "Диам. инструм.:" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2487,13 +2496,13 @@ msgstr "" "Диаметр инструмента\n" "используемого в этой операции." -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "Частота перекрытия:" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2520,28 +2529,23 @@ msgstr "" "Более высокие значения = медленная обработка и медленное выполнение на ЧПУ\n" "из-за большого количества путей." -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "Отступ:" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" "be painted." msgstr "Расстояние, которое не закрашивать до края полигона." -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "Метод:" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." @@ -2549,33 +2553,31 @@ msgstr "" "Алгоритм отрисовки полигона:
Стандартный: Фиксированный шаг внутрь." "
По кругу: От центра наружу." -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Стандартный" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "От центра по кругу" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Прямая линия" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "Подключение:" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." @@ -2583,15 +2585,13 @@ msgstr "" "Рисовать линии между результирующей сегментами\n" " для минимизации подъёма инструмента." -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "Контур:" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." @@ -2599,23 +2599,23 @@ msgstr "" "Обрезка по периметру полигона\n" "для зачистки неровных краёв." -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "Нарисовать" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Рисование" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "[WARNING_NOTCL] Рисование отменено. Фугура не выбрана." -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." @@ -2623,14 +2623,14 @@ msgstr "" "[WARNING_NOTCL] Отсутствует значение диаметра инструмента или оно имеет " "неправильный формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Значение перекрытия отсутствует или оно имеет неправильный " "формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." @@ -2638,63 +2638,66 @@ msgstr "" "[WARNING_NOTCL] Значение отступа отсутствует или оно имеет неправильный " "формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "Инструменты" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "Трансформация" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Вращение" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Наклон/Сдвиг" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Масштаб" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Зеркалирование (отражение)" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Смещение" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "Редактор %s" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2706,8 +2709,8 @@ msgstr "" "Положительные числа для движения по часовой стрелке.\n" "Отрицательные числа для движения против часовой стрелки." -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2717,15 +2720,16 @@ msgstr "" "Точка отсчета - середина\n" "ограничительной рамки для всех выбранных фигур." -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "Угол X:" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2734,15 +2738,15 @@ msgstr "" "Угол наклона в градусах.\n" "Число с плавающей запятой между -360 и 359." -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Наклон X" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2752,35 +2756,35 @@ msgstr "" "Точка отсчета - середина\n" "ограничительной рамки для всех выбранных фигур." -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "Угол Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Наклон Y" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "Коэф. X:" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "Коэффициент масштабирования по оси X." -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Масштаб Х" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2790,29 +2794,29 @@ msgstr "" "Точка отсчета зависит от\n" "состояние флажка Scale Reference." -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "Коэф Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "Коэффициент масштабирования по оси Y." -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Масштаб Y" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Ссылка" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2820,14 +2824,14 @@ msgstr "" "Масштабирует выбранные фигуры\n" "используя коэффициент X для обеих осей." -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Scale Reference" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2839,25 +2843,25 @@ msgstr "" "и центр самой большой ограничительной рамки\n" "выбранных фигур, если флажок снят." -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "Значение X:" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "Значение для смещения по оси X." -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "Смещение Х" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2867,30 +2871,30 @@ msgstr "" "Точка отсчета - середина\n" "ограничительной рамки для всех выбранных фигур.\n" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "Значение Y:" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "Значение для смещения по оси Y." -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "Смещение Y" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "Отразить по X" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2898,18 +2902,18 @@ msgstr "" "Отражает выбранные фигуры по оси X.\n" "Не создает новую фугуру." -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "Отразить по Y" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "Точка отсчета" -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2931,13 +2935,13 @@ msgstr "" "Или введите координаты в формате (x, y) в\n" "поле ввода и нажмите «Отразить по X (Y)»" -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "Точка:" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2948,8 +2952,8 @@ msgstr "" "'x' в (x, y) будет использоваться при отражении по X и\n" "'y' в (x, y) будет использоваться при отражении по Y." -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2959,391 +2963,391 @@ msgstr "" "щелчка левой кнопкой мыши на холсте одновременно с нажатием\n" "клавиши SHIFT. Затем нажмите кнопку 'Добавить', чтобы вставить координаты." -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Трансформация отменена. Фигура не выбрана." -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для поворота, используйте " "числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для наклона по X, " "используйте числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для наклона поY, " "используйте числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для масштабирования по X, " "используйте числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для масштабирования по Y, " "используйте числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для смещения по X, " "используйте числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Неверный формат значения, введенный для смещения по Y, " "используйте числа." -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Фигура не выбрана. Пожалуйста, выберите фигуру для поворота!" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "Применение поворота" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "[success] Готово. Поворот выполнен." -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Фигура не выбрана. Пожалуйста, выберите фигуру для " "переворота!" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "Применение отражения" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Отражение по оси Y завершено ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "[success] Отражение по оси Х завершёно ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Фигура не выбрана. Пожалуйста, выберите фигуру для сдвига/" "наклона!" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "Применение наклона" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Наклон по оси %s выполнен ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "[ERROR_NOTCL] Из-за %s наклон не был выполнен." -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Фигура не выбрана. Пожалуйста, выберите фигуру для " "масштабирования!" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "Применение масштабирования" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Масштабирование по оси %s выполнено ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "[ERROR_NOTCL] Из-за %s, операция масштабирования не была выполнена." -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Фигура не выбрана. Пожалуйста, выберите фигуру для смещения!" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "Применение смещения" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Смещение по оси %s выполнено ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "[ERROR_NOTCL] Из-за %s операция смещения не была выполнена." -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "Поворот ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "Введите значение угла (градусы):" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "[success] Вращение фигуры выполнено..." -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Вращение фигуры отменено..." -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "Смещение по оси X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "Введите значение расстояния (%s):" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Смещение формы по оси X выполнено..." -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Смещение формы по оси X отменено..." -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "Смещение по оси Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Смещение формы по оси Y выполнено..." -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Смещение формы по оси Y отменено..." -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "Наклон по оси X ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Наклон формы по оси X выполнен..." -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Наклон формы по оси X отменён..." -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "Наклон по оси Y ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Наклон формы по оси Y выполнен..." -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Наклон формы по оси Y отменён..." -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "Нажмите на центральную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "Для завершения щелкните по периметру ..." -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "[success] Готово. Добавление круга завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "Нажмите на точку начала отсчета..." -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "Нажмите на 3-ю точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "Нажмите на конечную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "Нажмите на конечную точку для завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "Нажмите на 2-ю точку для завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "Нажмите на центральную точку для завершения..." -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "Направление: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "Режим: Старт -> Стоп -> Центр. Нажмите на начальную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "Режим: Точка1 -> Точка3 -> Точка2. Нажмите на Точку1 ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "Режим: Центр -> Старт -> Стоп. Нажмите на центральную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "[success] Готово. Дуга завершена." -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "Нажмите на 1-ый угол ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "Нажмите на противоположном углу для завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "[success] Готово. Прямоугольник завершен." -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" "Нажмите на следующую точку или щелкните правой кнопкой мыши для " "завершения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "[success] Готово. Полигон завершен." -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "Отступ на одну точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "[success] Готово. Путь завершен." -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "" "[WARNING_NOTCL] ПЕРЕМЕЩЕНИЕ: Фигура не выбрана. Выберите фигуру для " "перемещения ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr " Перемещение: Нажмите на исходную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr " Нажмите на конечную точку ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "[success] Готово. Перемещение Geometry завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "[success] Готово. Копирование Geometry завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " @@ -3352,69 +3356,69 @@ msgstr "" "[ERROR] Шрифт не поддерживается. Поддерживаются только обычный, полужирный, " "курсив и полужирный курсив. Ошибка: %s" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "[WARNING_NOTCL] Нет текста для добавления." -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "[success] Готово. Добавление текста завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "Создание геометрии буфера ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Создание буфера отменено. Фигура не выбрана." -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Готово. Создание буфера завершено." -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "[success] Готово. Внутренний буфер создан." -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "[success] Готово. Внешний буфер создан." -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "Выберите фигуру в качестве области для удаления ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "Кликните, что бы выбрать фигуру для стирания ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "Нажмите для очистки ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "[success] Готово. Действие инструмента стирания завершено.." -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "Создать геометрию окрашивания ..." -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "Преобразования фигуры ..." -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" @@ -3422,19 +3426,19 @@ msgstr "" "[WARNING_NOTCL] Редактирование MultiGeo Geometry, инструментом: {tool} с " "диаметром: {dia}" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "[WARNING_NOTCL] Копирование отменено. Форма не выбрана." -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "Нажмите на целевой точке." -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." @@ -3442,9 +3446,8 @@ msgstr "" "[WARNING_NOTCL] Выберите по крайней мере 2 geo элемента, что-бы сделать " "пересечение." -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" @@ -3452,52 +3455,56 @@ msgstr "" "[ERROR_NOTCL] Отрицательное значение буфера не принимается. Используйте " "внутренний буфер для создания \"внутри\" формы" -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "[WARNING_NOTCL] Ничего не выбрано для создания буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "[WARNING_NOTCL] Недопустимое расстояние для создания буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" "[ERROR_NOTCL] Ошибка, результат нулевой. Выберите другое значение буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "[success] Создана геометрия полного буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "[ERROR_NOTCL] Отрицательное значение буфера не принимается." + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" "[ERROR_NOTCL] Ошибка, результат нулевой. Выберите меньшее значение буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "[success] Создана геометрия внутреннего буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "[success] Создана геометрия внешнего буфера." -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "[WARNING_NOTCL] Ничего не выбрано для рисования." -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "[WARNING] Неверное значение для {}" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." @@ -3505,7 +3512,7 @@ msgstr "" "[ERROR_NOTCL] Окраска не выполнена. Значение перекрытия должно быть меньше " "1,00 (100%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3516,62 +3523,62 @@ msgstr "" "другой способ рисования\n" "%s" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "[success] Окраска выполнена." -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Чтобы добавить площадку, сначала выберите отверстие в " "таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" "[WARNING_NOTCL] Размер отверстия равен нулю. Он должен быть больше нуля." -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" "Несовместимый тип отверстия. Выберите отверстие с типом 'C', 'R' или 'O'." -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "[success] Готово. Добавление площадки завершено." -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" "[WARNING_NOTCL] Чтобы добавить массив площадок, сначала выберите отверстие в " "таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "Нажмите на начальную точку кругового массива контактных площадок" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "[WARNING_NOTCL] Слишком много площадок для выбранного интервала угла." -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "[success] Готово. Массив площадок добавлен." -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "Выберите фигуры, а затем нажмите ..." -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "[ERROR_NOTCL] Ошибка. Ничего не выбрано." -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." @@ -3579,149 +3586,150 @@ msgstr "" "[WARNING_NOTCL] Неудача. Полигонизация работает только с геометриями, " "принадлежащими к одному отверстию." -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "[success] Готово. Полигонизация выполнена." -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "Угловой режим 1: 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "Нажмите на 1-й точке ..." -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" "Нажмите на следующую точку или щелкните правой кнопкой мыши для " "завершения ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "Угловой режим 2: реверс 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "Угловой режим 3: 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "Угловой режим 4: реверс 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "Угловой режим 5: свободный угол ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "Режим дорожки 1: 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "Режим дорожки 2: реверс 45 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "Режим дорожки 3: 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "Режим дорожки 4: реверс 90 градусов ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "Режим дорожки 5: свободный угол ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "Масштабирование выбранных отверстий Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "Создание буфера для выбранных отверстий ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "Отметьте полигональные области в отредактированном Gerber ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "[WARNING_NOTCL] Ничего не выбрано для перемещения ..." -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "[success] Готово. Перемещение отверстий завершено." -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "[success] Готово. Отверстия скопированы." -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "Редактор Gerber" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" -msgstr "Отверстия:" +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" +msgstr "Oтверстие" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "Таблица отверстий для объекта Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "Код" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "Тип" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "Размер" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "Диаметр" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "Индекс" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "Код отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "Тип отверстия: круг, прямоугольник, макросы и так далее" -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "Размер отверстия:" -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -3731,15 +3739,15 @@ msgstr "" " - (ширина, высота) для типа R, O.\n" " - (диам., nVertices) для типа P" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "Код отверстия:" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "Код для нового отверстия" -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "Размер диафрагмы:" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3753,11 +3761,11 @@ msgstr "" "рассчитывается как:\n" "sqrt(ширина ** 2 + высота ** 2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" -msgstr "Тип отверстия:" +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" +msgstr "Тип диафрагмы" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3769,11 +3777,11 @@ msgstr "" "R = прямоугольное\n" "O = продолговатое" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" -msgstr "Разм. отверстия:" +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" +msgstr "Разм. диафрагмы:" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -3783,31 +3791,39 @@ msgstr "" "Активен только для прямоугольных отверстий (тип R).\n" "Формат (ширина, высота)" -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "Добавить/Удалить отверстие:" -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "Добавляет/Удаляет отверстие в таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "Добавляет новое отверстие в список отверстий." -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "Удаляет отверстие в таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "Буфер отверстия:" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "Создаёт буфер для отверстия в списке отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "Расстояние буфера" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "Угол буфера" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3821,25 +3837,25 @@ msgstr "" " - 'Скошенный:' угол-это линия, которая непосредственно соединяет элементы, " "встречающиеся в углу" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "Буфер" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" -msgstr "Масштаб. отверстий:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" +msgstr "Масштаб. отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "Масштабирование отверстия в списке отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" -msgstr "Коэффициент масш.:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" +msgstr "Коэффициент масш." -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -3847,19 +3863,19 @@ msgstr "" "Коэффициент масштабирования выбранного отверстия.\n" "Значения могут быть между 0.0000 и 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" -msgstr "Пометить полигональные области:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" +msgstr "Пометить полигональные области" -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "Отметьте полигональные области." -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" -msgstr "Верхней части порога:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" +msgstr "Верхней части порога" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3867,11 +3883,11 @@ msgstr "" "Пороговое значение, всех участков за вычетом отмеченных.\n" "Может иметь значение от 0,0000 до 9999,9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" -msgstr "Нижний порог области:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" +msgstr "Площадь НИЖНЕГО порога" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -3879,20 +3895,20 @@ msgstr "" "Пороговое значение, всех участков больше отмеченых.\n" "Может иметь значение от 0,0000 до 9999,9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "Выполнять" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "Добавить массив контактных площадок" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "Добавляет массив контактных площадок (линейный или круговой массив)" -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -3900,16 +3916,26 @@ msgstr "" "Выбор типа массива контактных площадок.\n" "Он может быть линейным X (Y) или круговым" -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" -msgstr "№ площ.:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" +msgstr "№ колодок" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "Укажите, сколько контактных площадок должно быть в массиве." -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "Направление" + +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "Шаг" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 +#: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" "[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " "retry." @@ -3917,7 +3943,7 @@ msgstr "" "[WARNING_NOTCL] Отсутствует значение кода отверстия или оно имеет " "неправильный формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:3136 +#: flatcamEditors/FlatCAMGrbEditor.py:3172 msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." @@ -3926,7 +3952,7 @@ msgstr "" "неправильный формат. Добавьте его в формате (ширина, высота) и повторите " "попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." @@ -3934,61 +3960,61 @@ msgstr "" "[WARNING_NOTCL] Отсутствует значение размера отверстия или оно имеет " "неправильный формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "[WARNING_NOTCL] Отверстие уже присутствует в таблице отверстий." -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "[success] Добавлено новое отверстие с кодом: {apid}" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "[WARNING_NOTCL] Выберите отверстие в таблице отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "[WARNING_NOTCL] Выберите отверстие в таблице отверстий --> %s" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "[success] Удалено отверстие с кодом: {del_dia}" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "Добавление отверстия: %s geo ..." -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." msgstr "[ERROR_NOTCL] В файле нет отверстий. Прерывание создания Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "Создание Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "[success] Редактирование Gerber завершено." -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Отмена. Нет выбранных отверстий" -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "[ERROR_NOTCL] Ошибка. Не выбрана геометрия отверстий." -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Готово. Геометрия отверстий удалена." -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -3996,7 +4022,7 @@ msgstr "" "[WARNING_NOTCL] Нет отверстий для создания буфера. Выберите хотя бы одно " "отверстие и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" @@ -4005,7 +4031,7 @@ msgstr "" "[ERROR_NOTCL] Ошибка.\n" "%s" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -4013,7 +4039,7 @@ msgstr "" "[WARNING_NOTCL] Отсутствует значение коэффициента масштабирования или оно " "имеет неправильный формат. Добавьте его и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -4021,108 +4047,108 @@ msgstr "" "[WARNING_NOTCL] Нет отверстий для масштабирования. Выберите хотя бы одно " "отверстие и повторите попытку." -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "[success] Готово. Масштабирование выполнено." -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "[success] Полигональные области отмечены." -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "[WARNING_NOTCL] Нет полигонов для обозначения области." -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "&Файл" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "&Новый проект ...\tCTRL+N" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "Создаёт новый пустой проект" -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "&Создать" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "Geometry\tN" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "Создаёт новый объект Geometry." -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "Gerber\tB" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "Создаёт новый объект Gerber." -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "Excellon\tL" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "Создаёт новый объект Excellon." -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "Открыть" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "Открыть &проект..." -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "Открыть &Gerber...\tCTRL+G" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "Открыть &Excellon ...\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "Открыть G-&Code ..." -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "Открыть конфигурацию ..." -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "Недавние проекты" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "Открыть недавние" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "Сценарии" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "Новый сценарий ..." -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "Открыть сценарий ..." -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "Выполнить сценарий ...\tSHIFT+S" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4132,43 +4158,43 @@ msgstr "" "включающий автоматизацию некоторых\n" "функций FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "Импорт" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "&SVG как объект Geometry ..." -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "&SVG как объект Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "&DXF как объект Geometry ..." -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "&DXF как объект Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "Экспорт" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "Экспорт &SVG ..." -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "Экспорт DXF ..." -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "Экспорт &PNG ..." -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" @@ -4178,11 +4204,11 @@ msgstr "" "сохраненное изображение будет содержать визуальную\n" "информацию, открытую в настоящее время в пространстве отрисовки FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "Экспорт &Excellon ..." -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" @@ -4192,11 +4218,11 @@ msgstr "" "формат координат, единицы измерения и нули\n" "устанавливаются в Настройки -> Экспорт Excellon." -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "Экспорт &Gerber ..." -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" @@ -4206,59 +4232,59 @@ msgstr "" "формат координат, единицы измерения и нули\n" "устанавливается в Настройки -> Экспорт Gerber." -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "дублировать" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "Импортировать настройки из файла ..." -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "Экспортировать настройки в файл ..." -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "Сохранить" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "&Сохранить проект ..." -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "Сохранить проект &как ...\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "Сохранить к&опию проекта..." -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "В&ыход" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "&Правка" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "Редактировать объект\tE" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "Закрыть редактор\tCTRL+S" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "Конвертация" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "&Объединить Geo/Gerber/Exc - > Geo" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -4272,30 +4298,30 @@ msgstr "" "- Geometry\n" "в новый комбинированный объект геометрии." -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "Объединить Excellon (s) - > Excellon" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" "Объединяет выбранные объекты Excellon в новый комбинированный объект " "Excellon." -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "Объединить Gerber(s) - > Gerber" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "" "Объединяет выбранные объекты Gerber в новый комбинированный объект Gerber." -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "Преобразование Single в MultiGeo" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." @@ -4303,11 +4329,11 @@ msgstr "" "Преобразует объект Geometry из типа single_geometry\n" "в multi_geometry.." -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "Преобразование Multi в SingleGeo" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." @@ -4315,632 +4341,632 @@ msgstr "" "Преобразует объект Geometry из типа multi_geometry\n" "в single_geometry.." -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "Конвертировать любой объект в Geo" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "Конвертировать любой объект в Gerber" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "&Копировать\tCTRL+C" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "&Удалить\tDEL" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "Ук&азать начало координат\tO" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "Перейти к\tJ" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "Единицы измерения\tQ" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "&Выбрать все\tCTRL+A" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "&Настройки\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "&Опции" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "&Вращение\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "&Наклон по оси X\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "Н&аклон по оси Y\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "Отразить по оси &X\tX" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "Отразить по оси &Y\tY" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "Просмотреть код\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "&Вид" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "Включить все участки\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "Отключить все участки\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "Отключить не выбранные\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "&Вернуть масштаб\tV" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "&Увеличить\t=" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "&Уменьшить\t-" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "Редактор кода\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "&Во весь экран\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "&Рабочая область\tCTRL+F10" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "&Боковая панель\t`" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "&Привязка к сетке\tG" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "&Оси\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "Границы рабочего пространства\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "&Инструменты" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "&Командная строка\tS" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "&Помощь" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "Справка\tF1" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "FlatCAM.org" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "Список комбинаций клавиш\tF3" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "Канал YouTube\tF4" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "О программе" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "Добавить круг\tO" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "Добавить дугу\tA" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "Добавить прямоугольник\tR" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "Добавить полигон\tN" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "Добавить дорожку\tP" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "Добавить текст\tT" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "Объединение полигонов\tU" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "Пересечение полигонов\tE" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "Вычитание полигонов\tS" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "Вырезать дорожку\tX" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "Копировать Geom\tC" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "Удалить фигуру\tDEL" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "Переместить\tM" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "Буфер\tB" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "Рисование\tI" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "Трансформация\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "Привязка к углу\tK" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr ">Редактор Excellon<" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "Добавить группу свёрел\tA" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "Добавить сверло\tD" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "Добавить массив слотов\tQ" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "Добавить слот\tW" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "Изменить размер отверстия\tR" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "Копировать\tC" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "Удалить\tDEL" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "Переместить сверла\tM" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr ">Редактор Gerber<" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "Добавить площадку\tP" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "Добавить массив площадок\tA" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "Добавить маршрут\tT" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "Добавить регион\tN" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "Полигонизация\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "Добавить полукруг\tE" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "Добавить диск\tD" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "Буфер\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "Масштабировать\tS" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "Обозначить области\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "Ластик\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "Трансформировать\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "Включить участок" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "Отключить участок" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "Создать CNC" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "Просмотреть код" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "Правка" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "Свойства" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "Панель файлов" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "Панель редактирования" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "Панель просмотра" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "Панель командной строки" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "Панель инструментов" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "Панель редактора Excellon" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "Панель редактора Geometry" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "Панель редактора Gerber" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "Панель сетки координат" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "Открыть проект" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "Сохранить проект" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "Создать Geometry" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "Создать Gerber" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "Создать Excellon" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "Редактор" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "Сохранить объект и закрыть редактор" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "&Удалить" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "&Перерисовать объект" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "&Очистить участок" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "Увеличить" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "Уменьшить" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "Вернуть масштаб" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "&Командная строка" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "2-х стор. плата" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "&Обрезка платы" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "Очистка меди" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "Панелизация" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "Плёнка" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "Паяльная паста" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "Вычитатель" -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "Калькулятор" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "Выбрать" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "Добавить отверстие" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "Добавить массив отверстий" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "Добавить слот" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "Добавить массив слотов" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "Изменить размер отверстия" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "Копировать отверстие" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "Удалить отверстие" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "Переместить отверстие" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "Добавить круг" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "Добавить дугу" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "Добавить прямоугольник" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "Добавить дорожку" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "Добавить полигон" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "Добавить текст" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "Добавить буфер" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "Нарисовать фигуру" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "Ластик" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "Сращение полигонов" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "Пересечение полигонов" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "Вычитание полигонов" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "Вырезать путь" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "Копировать форму(ы)" -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "Удалить фигуру '-'" -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "Трансформация" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "Переместить объект " -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "Добавить площадку" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "Добавить маршрут" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "Добавить регион" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "Полигонизация" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "Полукруг" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "Диск" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "Обозначить области" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "Переместить" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "Привязка к сетке" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "Размер сетки по X" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "Размер сетки по Y" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -4948,64 +4974,64 @@ msgstr "" "Если активен, значение на Grid_X\n" "копируется в значение Grid_Y." -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "Привязка к углу" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "Макс. магнит расстояние" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "Проект" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "Выбранное" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "Рабочая область" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "Основные" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "СТАНД. НАСТРОЙКИ" -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "ПАРАМ. ПРОЕКТА " -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "GEOMETRY" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "CNC-JOB" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "ИНСТР-ТЫ" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "Импорт настроек" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -5019,11 +5045,11 @@ msgstr "" "FlatCAM автоматически создаёт файл factory_defaults\n" "при первом запуске. Не удаляйте этот файл." -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "Экспорт настроек" -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -5031,15 +5057,15 @@ msgstr "" "Экспорт полного набора настроек FlatCAM в файл\n" "который сохраняется на жестком диске." -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "Открыть папку настроек" -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Открывает папку, в которой FlatCAM сохраняет файлы настроек." -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -5047,7 +5073,7 @@ msgstr "" "Сохраняет текущие настройки в файле 'current_defaults'\n" "который является файлом, хранящим рабочие настройки по умолчанию." -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" " Editor Shortcut list
\n" "
\n" @@ -6291,134 +6317,133 @@ msgstr "" "
\n" " " -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "Переключить видимость" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "Переключить бок. панель" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "Создать" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "Geometry" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "Сетка" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "Вид" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "Очистить участок" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "Перерисовать" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "Редактор Geo" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "Дорожка" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "Прямоугольник" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "Круг" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "полигон" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "дугу" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "Tекст" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "Cоюз" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "Пересечение" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "Вычитание" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "Вырезы" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "Площадка" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "Массив площадок" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "Трек" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "Регион" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "Редактор Excellon" -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "Добавить сверло" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "Предпр. печати" -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "Печать кода" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "Найти в коде" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "Заменить" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "Все" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." @@ -6426,15 +6451,15 @@ msgstr "" "При установке флажка он заменит все экземпляры в поле \"Найти\"\n" "с текстом в поле \"заменить\".." -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "Открыть файл" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "Сохранить код" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -6442,7 +6467,7 @@ msgstr "" "Относительное измерение.\n" "Ссылка-это позиция последнего клика" -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -6450,23 +6475,27 @@ msgstr "" "Абсолютное измерение.\n" "Ссылка (X=0, Y= 0) Положение" -#: flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" +msgstr "Блокировка панелей инстр." + +#: flatcamGUI/FlatCAMGUI.py:2013 msgid "Select 'Esc'" msgstr "Выбор 'Esc'" -#: flatcamGUI/FlatCAMGUI.py:2011 +#: flatcamGUI/FlatCAMGUI.py:2038 msgid "Copy Objects" msgstr "Копировать объекты" -#: flatcamGUI/FlatCAMGUI.py:2013 +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "Удалить фигуру" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" msgstr "Переместить объект" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -6478,17 +6507,17 @@ msgstr "" "из первого пункта. В конце нажмите клавишу ~X~ или\n" "кнопка панели инструментов." -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "Внимание" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "[WARNING_NOTCL] Отмена." -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -6496,7 +6525,7 @@ msgstr "" "Пожалуйста, выберите элементы геометрии \n" "на котором выполняется инструмент пересечение." -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -6504,7 +6533,7 @@ msgstr "" "Пожалуйста, выберите элементы геометрии \n" "на котором выполнить вычитание инструмента." -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." @@ -6512,59 +6541,59 @@ msgstr "" "Пожалуйста, выберите элементы геометрии \n" "на котором выполнять объединение." -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "[WARNING_NOTCL] Отмененный. Ничего не выбрано для удаления." -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "[WARNING_NOTCL] Отмененный. Ничего не выбрано для копирования." -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "[WARNING_NOTCL] Отмененный. Ничего не выбрано для перемещения." -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "Новый инструмент ..." -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" msgstr "Введите диаметр инструмента:" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "Измеритель закрыт ..." -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "Параметры интерфейса" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "Размер сетки Х:" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "Это значение привязки сетки по оси X." -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "Размер сетки Y:" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "Это значение привязки сетки по оси Y." -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "Оснастка Макс:" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "Рабочая среда:" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -6572,11 +6601,11 @@ msgstr "" "Нарисуйте прямоугольник с разделителями на холсте.\n" "Цель состоит в том, чтобы проиллюстрировать пределы нашей работы." -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "Формат обработчика:" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -6584,11 +6613,11 @@ msgstr "" "Выберите тип прямоугольника, который будет использоваться на холсте,\n" "как допустимое рабочее пространство." -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "Заливка участка:" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -6598,28 +6627,28 @@ msgstr "" "Первые 6 цифр-это цвет, а последние 2\n" "цифры для альфа-уровня (прозрачности)." -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "Уровень прозрачности:" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." msgstr "Установите прозрачность заливки для построенных объектов." -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "Линия участка:" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "Установите цвет линии для построенных объектов." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "Выбор Заполнения:" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6631,23 +6660,23 @@ msgstr "" "Первые 6 цифр-это цвет, а последние 2\n" "цифры для альфа-уровня (прозрачности)." -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "Установите прозрачность заливки для поля выбора \"слева направо\"." -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "Строка Выбора:" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "Установите цвет линии для поля выбора \"слева направо\"." -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "Выбор 2. Заполнить:" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6659,47 +6688,47 @@ msgstr "" "Первые 6 цифр-это цвет, а последние 2\n" "цифры для альфа-уровня (прозрачности)." -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "Установите прозрачность заливки для выбора \"справа налево\"." -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "Выбор Линии 2 :" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "Установите цвет линии для поля выбора \"справа налево\"." -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "Редактор Розыгрыша:" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "Установите цвет для фигуры." -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "Редактор Выбор Рисования:" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "Установите цвет фигуры при выборе." -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "Элемент проекта:" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "Установите цвет элементов в дереве вкладок проекта." -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "Прой. Дис. Предметы:" -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -6707,15 +6736,15 @@ msgstr "" "Установка цвета элементов в дереве вкладок проекта,\n" "для случая, когда элементы отключены." -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "Настройки интерфейса" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "Макет:" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -6723,11 +6752,11 @@ msgstr "" "Выберите макет для FlatCAM кулачка.\n" "Применяется немедленно." -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "Стиль:" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -6735,11 +6764,11 @@ msgstr "" "Выберите стиль для FlatCAM.\n" "Он будет применен при следующем запуске приложения." -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "Поддержка HDPI:" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -6747,11 +6776,11 @@ msgstr "" "Включает поддержку высокого разрешения для FlatCAM.\n" "Требуется перезапуск приложения." -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "Сброс настроек:" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -6759,15 +6788,15 @@ msgstr "" "Сброс настроек интерфейса FlatCAM,\n" "таких как: макет, состояние интерфейса, стиль, поддержка hdpi и т. д." -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "Сбросить" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "Форма Наведения:" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -6777,11 +6806,11 @@ msgstr "" "Он отображается при наведении курсора мыши\n" "над любым невыбранным объектом." -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "Сэл. Форма:" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -6793,11 +6822,11 @@ msgstr "" "щелчком или перетаскиванием мыши слева направо или\n" "справа налево." -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "NB Размер шрифта:" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" @@ -6807,31 +6836,33 @@ msgstr "" "Блокнот - это складная область в левой части графического интерфейса,\n" "и включают вкладки Project, Selected и Tool." -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "Размер шрифта оси:" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "Это устанавливает размер шрифта для оси холста." -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "Вы уверены, что хотите сбросить настройки интерфейса?\n" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "Сброс настроек интерфейса" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "Параметры приложения" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" -msgstr "Единицы:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" +msgstr "Единицы" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -6841,21 +6872,21 @@ msgstr "" "Все, что выбрано здесь, устанавливается каждый раз\n" "FlatCAM запущен." -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "Дюйм" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" -msgstr "РЕЖИМ:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" +msgstr "РЕЖИМ" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -6872,27 +6903,45 @@ msgstr "" "Выбор здесь повлияет на параметры внутри\n" "выбранная вкладка для всех видов FlatCAM объектов." -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "Баз." -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "Расш." -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" -msgstr "Язык:" +#: flatcamGUI/FlatCAMGUI.py:3988 +msgid "Portable app" +msgstr "Портативное приложение" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" +"Выберите, должно ли приложение работать как переносимое.\n" +"\n" +"Если флажок установлен, приложение будет работать переносимым,\n" +"Это означает, что файлы настроек будут сохранены\n" +"в папке приложения, в подпапке lib \\ config." + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "Языки" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "Установите язык, используемый в плоском кулачке." -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "Применить" -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -6910,11 +6959,11 @@ msgstr "" "элементы безопасности. В этом случае язык будет\n" "применяется при следующем запуске приложения." -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" -msgstr "Ком.строка при запуске:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" +msgstr "Ком.строка при запуске" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -6922,11 +6971,11 @@ msgstr "" "Установите этот флажок, если требуется, чтобы оболочка\n" "запуск автоматически при запуске." -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" -msgstr "Проверять обновления:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" +msgstr "Проверять обновления" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -6934,11 +6983,11 @@ msgstr "" "Установите этот флажок, если вы хотите автоматически\n" "проверять обновление программы при запуске." -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" -msgstr "Отправлять статистику:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" +msgstr "Отправлять статистику" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -6946,11 +6995,11 @@ msgstr "" "Установите этот флажок, если вы согласны автоматически отправлять\n" "анонимную статистику при запуске, чтобы помочь улучшить FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" -msgstr "Кнопка панарам.:" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" +msgstr "Кнопка панарам" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -6960,35 +7009,35 @@ msgstr "" "- MMB --> Средняя кнопка мыши\n" "- RMB --> Правая кнопка мыши" -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "MMB" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "RMB" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" -msgstr "Мультивыбор:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" +msgstr "Мультивыбор" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "Выберите ключ, используемый для множественного выбора." -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" -msgstr "Проект при запуске:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" +msgstr "Проект при запуске" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -6997,11 +7046,11 @@ msgstr "" "выбранный / инструмент\n" "автоматически показывается при запуске." -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" -msgstr "Автоскр. проекта:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" +msgstr "Автоскр. проекта" -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" @@ -7012,11 +7061,11 @@ msgstr "" "скрыть автоматически, когда нет загруженных объектов и\n" "показывать при создании нового объекта." -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" -msgstr "Вспл. подсказки:" +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" +msgstr "Вспл. подсказки" -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -7025,11 +7074,11 @@ msgstr "" "отображались\n" "при наведении курсора мыши на элементы по всему приложению." -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" -msgstr "Обработчики:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" +msgstr "Обработчики" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -7045,11 +7094,11 @@ msgstr "" "Значение по умолчанию-2.\n" "После изменения, он будет применяться при следующем запуске приложения." -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" -msgstr "Гео Толерантности:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" +msgstr "Гео Толерантности" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -7065,11 +7114,11 @@ msgstr "" "спектакль. Более высокое значение обеспечит больше\n" "производительность за счет уровня детализации." -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "\"Открытое\" поведение" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -7084,11 +7133,11 @@ msgstr "" "Когда флажок снят, путь для открытия файлов используется последним: либо\n" "путь для сохранения файлов или путь для открытия файлов." -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "Подтвердить удаление объекта" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -7098,11 +7147,11 @@ msgstr "" "всякий раз, когда событие Удалить объект (ы) инициируется, либо\n" "ярлык меню или сочетание клавиш." -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "Сохранить сжатый проект" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -7110,11 +7159,11 @@ msgstr "" "Сохранение сжатого или несжатого проекта.\n" "При проверке он сохранит сжатый FlatCAM проект." -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" -msgstr "Уровень сжатия:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" +msgstr "Уровень сжатия" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -7124,51 +7173,53 @@ msgstr "" "Более высокое значение означает более высокую степень сжатия\n" "но требуют больше памяти и больше времени на обработку." -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "Gerber основные" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" -msgstr "Отрисовка:" +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" +msgstr "Отрисовка" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "Заливка" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "Сплошной цвет полигонов." -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "Мн.цветн" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "Окрашивать полигоны разными цветами." -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "Вкл." -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "Начертить (отобразить) этот объект." -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" -msgstr "Круговые шаги:" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" +msgstr "Круговые шаги" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -7176,15 +7227,15 @@ msgstr "" "Число шагов круга для Gerber \n" "линейная аппроксимация круглой апертуры." -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "Параметры Gerber" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" -msgstr "Изоляция разводки:" +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" +msgstr "Изоляция разводки" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7193,17 +7244,23 @@ msgstr "" "с траекториям обрезки за\n" "пределами полигонов." -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "Диам. инструм." + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "Диаметр режущего инструмента." -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" -msgstr "Кол-во проходов:" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" +msgstr "# Проходы" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7211,11 +7268,11 @@ msgstr "" "Ширина промежутка изоляции в \n" "числах (целое число) ширины инструмента." -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" -msgstr "Перекрытие:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" +msgstr "Перекрытие" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7228,11 +7285,11 @@ msgstr "" "Пример:\n" "Здесь значение 0.25 означает 25% от диаметра инструмента, указанного выше." -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" -msgstr "Тип фрезерования:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" +msgstr "Тип фрезерования" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7243,41 +7300,46 @@ msgstr "" "использования инструмента\n" "- conventional / полезен, когда нет компенсации люфта" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "Постепенный" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "Обычный" -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "Объед. проходы" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "Объединить все проходы в один объект" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" -msgstr "Очистка меди:" +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" +msgstr "Безмедные полигоны" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -"Создание объекта геометрии с помощью\n" -"траектории резания для всех областей, отличных от меди." +"Создание полигонов, охватывающих\n" +"участки без меди на печатной плате.\n" +"Обратный эквивалент этого\n" +"объекта может использоваться для удаления всей\n" +"меди из указанного региона." -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" -msgstr "Отст. от дорож.:" +msgid "Boundary Margin" +msgstr "Отст. от дорож." -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7289,23 +7351,21 @@ msgstr "" "объектов с этим минимальным \n" "расстоянием." -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" -msgstr "Закруглять углы" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" +msgstr "Закруглять" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." -msgstr "" -"Создает объект геометрии с полигонами\n" -"охватывающими неомедненные области печатной платы." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." +msgstr "Полученная геометрия будет иметь закругленные углы." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" -msgstr "Ограничительная рамка:" +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" +msgstr "Ограничительная рамка" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7313,7 +7373,7 @@ msgstr "" "Расстояние от края поля\n" "до ближайшего полигона." -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7325,15 +7385,15 @@ msgstr "" "их радиус будет равен\n" "отступу." -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "Gerber дополн." -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" -msgstr "Дополнительные настройки:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." +msgstr "Дополнительные настройки" -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -7343,11 +7403,11 @@ msgstr "" "Эти параметры доступны только для\n" "расширенного режима приложения." -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "\"Следовать\"" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7357,11 +7417,11 @@ msgstr "" "Это означает, что он будет прорезать\n" "середину трассы." -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "Таблица вкл/откл" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -7371,15 +7431,15 @@ msgstr "" "Кроме того, при скрытии он удалит все фигуры меток\n" "которые нарисованы на холсте." -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "Экспорт Gerber" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" -msgstr "Параметры экспорта:" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" +msgstr "Параметры экспорта" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -7387,25 +7447,21 @@ msgstr "" "Заданные здесь параметры используются в экспортированном файле\n" "при использовании пункта меню File -> Export -> Export Gerber." -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "Единицы:" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "Единицы измерения, используемые в файле Gerber." -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "ДЮЙМЫ" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" -msgstr "Int/Decimals:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" +msgstr "Целое число / десятичные дроби" -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -7413,7 +7469,7 @@ msgstr "" "Количество цифр в целой части числа\n" "и в дробной части числа." -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -7421,7 +7477,7 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "вся часть координат Gerber." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -7429,11 +7485,11 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "десятичная часть координат Gerber." -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" -msgstr "Нули:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" +msgstr "нули" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7447,35 +7503,36 @@ msgstr "" "Если TZ отмечен, то завершающие нули удаляются\n" "и ведущие нули сохраняются." -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" -msgstr "Параметры:" +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 +msgid "Parameters" +msgstr "Параметры" -#: flatcamGUI/FlatCAMGUI.py:4500 +#: flatcamGUI/FlatCAMGUI.py:4569 msgid "A list of Gerber Editor parameters." msgstr "Список параметров редактора Gerber." -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" -msgstr "Ограничение выбора:" +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" +msgstr "Ограничение выбора" -#: flatcamGUI/FlatCAMGUI.py:4510 +#: flatcamGUI/FlatCAMGUI.py:4579 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -7489,15 +7546,110 @@ msgstr "" "Увеличивает производительность при перемещении\n" "большое количество геометрических элементов." -#: flatcamGUI/FlatCAMGUI.py:4530 +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "Новый код диафрагмы" + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "Новый размер диафрагмы" + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "Размер для новой диафрагмы" + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "Новый тип диафрагмы" + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" +"Введите для новой диафрагмы.\n" +"Может быть «C», «R» или «O»." + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "Разм. диафрагмы" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "Диаметры режущих инструментов, разделенные знаком ','" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +#| msgid "Units:" +msgid "%s:" +msgstr "%s:" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "Линейное нап." + +#: flatcamGUI/FlatCAMGUI.py:4686 +#| msgid "Circular Slot Array:" +msgid "Circular Pad Array" +msgstr "Круговая матрица" + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "Круговое нап." + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" +"Направление для кругового массива.\n" +"Может быть CW = по часовой стрелке или CCW = против часовой стрелки." + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "Круг. угол" + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "Расстояние, на котором буферизуется элемент Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "Инструмент Масштаб" + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "Фактор для масштабирования элемента Gerber." + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "Инструмент «Обозначить область»" + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "Низкий порог" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "Пороговое значение, при котором апертуры не отмечены." + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "Пороговое значение, выше которого отверстия не отмечены." + +#: flatcamGUI/FlatCAMGUI.py:4770 msgid "Excellon General" msgstr "Excellon основные" -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" -msgstr "Формат Excellon:" +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" +msgstr "Формат Excellon" -#: flatcamGUI/FlatCAMGUI.py:4554 +#: flatcamGUI/FlatCAMGUI.py:4794 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7538,16 +7690,12 @@ msgstr "" "Sprint Layout 2:4 INCH LZ\n" "KiCAD 3:5 INCH TZ" -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "ДЮЙМЫ:" - -#: flatcamGUI/FlatCAMGUI.py:4582 +#: flatcamGUI/FlatCAMGUI.py:4822 msgid "Default values for INCH are 2:4" msgstr "Значения по умолчанию для ДЮЙМОВОЙ 2:4" -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -7555,8 +7703,8 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "целая часть Excellon координат." -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -7564,19 +7712,19 @@ msgstr "" "Эти числа обозначают количество цифр в\n" "десятичная часть Excellon координат." -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" -msgstr "МЕТРИЧЕСКАЯ:" +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" +msgstr "МЕТРИЧЕСКАЯ" -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4855 msgid "Default values for METRIC are 3:3" msgstr "Значения по умолчанию для МЕТРИЧЕСКОЙ 3: 3" -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" -msgstr "Умолчания Нули:" +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" +msgstr "Умолчания Нули" -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7590,7 +7738,7 @@ msgstr "" "Если TZ установлен, то конечные нули сохраняются\n" "и ведущие нули удаляются." -#: flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4900 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -7606,11 +7754,11 @@ msgstr "" "Если TZ установлен, то конечные нули сохраняются\n" "и ведущие нули удаляются." -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" -msgstr "Умолчания Единицы:" +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" +msgstr "Умолчания Единицы" -#: flatcamGUI/FlatCAMGUI.py:4673 +#: flatcamGUI/FlatCAMGUI.py:4913 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -7622,7 +7770,7 @@ msgstr "" "будем использовать.Некоторые файлы Excellon не имеют заголовка\n" "поэтому этот параметр будет использоваться." -#: flatcamGUI/FlatCAMGUI.py:4684 +#: flatcamGUI/FlatCAMGUI.py:4924 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -7632,15 +7780,15 @@ msgstr "" "Некоторые файлы Excellon не имеют заголовка\n" "поэтому этот параметр будет использоваться." -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" -msgstr "Оптимизация Excellon:" +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" +msgstr "Оптимизация Excellon" -#: flatcamGUI/FlatCAMGUI.py:4695 +#: flatcamGUI/FlatCAMGUI.py:4935 msgid "Algorithm: " msgstr "Алгоритм: " -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -7663,15 +7811,15 @@ msgstr "" "Если отключено, то FlatCAM работает в 32-битном режиме и использует \n" "Алгоритм коммивояжера для оптимизации пути." -#: flatcamGUI/FlatCAMGUI.py:4708 +#: flatcamGUI/FlatCAMGUI.py:4948 msgid "MH" msgstr "MH" -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " -msgstr "Время оптимизации:" +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" +msgstr "Время оптимизации" -#: flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -7683,15 +7831,16 @@ msgstr "" "оптимизация пути. Максимальная продолжительность устанавливается здесь.\n" "В секундах." -#: flatcamGUI/FlatCAMGUI.py:4768 +#: flatcamGUI/FlatCAMGUI.py:5008 msgid "Excellon Options" msgstr "Параметры Excellon" -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" -msgstr "Создание программы для ЧПУ" +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" +msgstr "Создание программы для ЧПУ" -#: flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -7699,13 +7848,13 @@ msgstr "" "Параметры, используемые для создания объекта задания ЧПУ\n" "для этого сверлите объект." -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" -msgstr "Глубина резания:" +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" +msgstr "Глубина резания" -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -7713,12 +7862,12 @@ msgstr "" "Глубина сверления (отрицательная) \n" "ниже слоя меди." -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" -msgstr "Отвод по Z:" +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" +msgstr "Отвод по Z" -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -7726,12 +7875,12 @@ msgstr "" "Отвод инструмента при холостом ходе\n" "по плоскости XY." -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" -msgstr "Смена инструмента:" +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" +msgstr "Смена инструмента" -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -7739,32 +7888,36 @@ msgstr "" "Включает последовательность смены инструмента\n" "в G-Code (Пауза для смены инструмента)." -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" -msgstr "Смена инструмента Z :" +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" +msgstr "Смена инструмента Z" -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." -msgstr "Позиция Z смены инструмента." +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." +msgstr "Отвод по оси Z для смены инструмента." -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" -msgstr "Скорость подачи:" +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" +msgstr "Скорость подачи (подвод):" -#: flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 msgid "" "Tool speed while drilling\n" -"(in units per minute)." +"(in units per minute).\n" +"This is for linear move G01." msgstr "" -"Настройка скорости подачи при сверлении \n" -"(в единицах в минуту)." +"Скорость вращения инструмента при сверлении\n" +"(в единицах измерения в минуту).\n" +"Используется для линейного перемещения G01." -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" -msgstr "Скорость вр. шпинделя:" +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" +msgstr "Скорость вр. шпинделя" -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7772,11 +7925,11 @@ msgstr "" "Скорость шпинделя\n" "в оборотах в минуту(опционально) ." -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" -msgstr "Напр. вращения:" +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." +msgstr "Напр. вращения" -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -7788,13 +7941,13 @@ msgstr "" "- CW = по часовой стрелке или\n" "- CCW = против часовой стрелки" -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" -msgstr "Задержка:" +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" +msgstr "Задержка" -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7802,33 +7955,33 @@ msgstr "" "Задержка для набора оборотов шпинделя\n" "перед началом обработки." -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 +#: flatcamGUI/FlatCAMGUI.py:5098 msgid "Duration:" msgstr "Продолжительность:" -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." -msgstr "Количество миллисекунд для шпинделя, котор нужно обитать." +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." +msgstr "Количество единиц времени для остановки шпинделя." -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" -msgstr "Постпроцессор:" +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" +msgstr "Постпроцессор" -#: flatcamGUI/FlatCAMGUI.py:4872 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 msgid "" -"The postprocessor file that dictates\n" -"gcode output." +"The postprocessor JSON file that dictates\n" +"Gcode output." msgstr "" -"Файл постпроцессора, который диктует\n" -"выходной код gcode." +"Файл JSON постпроцессора, который диктует\n" +"Вывод Gcode." -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " -msgstr "Gcode: " +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" +msgstr "GCode" -#: flatcamGUI/FlatCAMGUI.py:4883 +#: flatcamGUI/FlatCAMGUI.py:5125 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7840,23 +7993,23 @@ msgstr "" "При выборе \"Пазы\" или \"Оба\", пазы будут\n" "преобразованы в отверстия." -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" -msgstr "Фрезеровка отверстий" +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" +msgstr "Фрезеровка отверстий" -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 msgid "Create Geometry for milling holes." msgstr "Создание объекта геометрии для фрезерования отверстий." -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" -msgstr "Диам. сверла:" +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" +msgstr "Диам. сверла" -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" -msgstr "Диаметр инструмента шлица:" +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" +msgstr "Диаметр инструмента шлица" -#: flatcamGUI/FlatCAMGUI.py:4914 +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 msgid "" "Diameter of the cutting tool\n" "when milling slots." @@ -7864,19 +8017,19 @@ msgstr "" "Диаметр режущего инструмента\n" "при фрезеровании пазов." -#: flatcamGUI/FlatCAMGUI.py:4926 +#: flatcamGUI/FlatCAMGUI.py:5168 msgid "Defaults" msgstr "Значения по умолчанию" -#: flatcamGUI/FlatCAMGUI.py:4939 +#: flatcamGUI/FlatCAMGUI.py:5181 msgid "Excellon Adv. Options" msgstr "Excellon дополн." -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" -msgstr "Дополнительные настройки:" +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" +msgstr "Дополнительные настройки" -#: flatcamGUI/FlatCAMGUI.py:4947 +#: flatcamGUI/FlatCAMGUI.py:5189 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." @@ -7885,11 +8038,11 @@ msgstr "" "для этого объекта детализации, которые отображаются при повышении уровня " "приложения." -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" -msgstr "Смещение Z:" +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" +msgstr "Смещение Z" -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" @@ -7899,20 +8052,20 @@ msgstr "" "создать необходимый диаметр выходного отверстия за счет формы наконечника.\n" "Значение здесь может компенсировать Cut Z параметра." -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" -msgstr "Смена инструмента X,Y:" +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" +msgstr "Смена инструмента X,Y" -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 msgid "Toolchange X,Y position." msgstr "Позиция X,Y смены инструмента." -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 #: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" -msgstr "Начать движение Z:" +msgid "Start move Z" +msgstr "Начать движение Z" -#: flatcamGUI/FlatCAMGUI.py:4974 +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -7920,12 +8073,13 @@ msgstr "" "Высота инструмента сразу после запуска.\n" "Удалить значение если вам не нужна эта функция." -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" -msgstr "Высота отвода Z:" +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" +msgstr "Высота отвода Z" -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 msgid "" "Height of the tool after\n" "the last move at the end of the job." @@ -7933,12 +8087,11 @@ msgstr "" "Высота инструмента после\n" "последнего прохода в конце задания." -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" -msgstr "Пороги Скорости Подачи:" +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" +msgstr "Пороги Скорости Подачи" -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7952,13 +8105,13 @@ msgstr "" "Полезно только для Marlin,\n" "игнорировать для любых других случаев." -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" -msgstr "Глубина зонда Z:" +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" +msgstr "Глубина зонда Z" -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -7966,21 +8119,21 @@ msgstr "" "Максимальная глубина, допустимая для зонда\n" "зондировать. Отрицательное значение в текущих единицах." -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" -msgstr "Датчик Скорости Подачи:" +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" +msgstr "Датчик Скорости Подачи" -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 msgid "The feedrate used while the probe is probing." msgstr "Скорость подачи, используемая во время зондирования." -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/FlatCAMGUI.py:5263 msgid "Fast Plunge:" msgstr "Быстрый подвод:" -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -7992,11 +8145,11 @@ msgstr "" "это означает самую быструю скорость.\n" "Предупреждение: перемещение выполняется при смене координат Toolchange X,Y." -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" -msgstr "Быстрый отвод:" +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" +msgstr "Быстрый отвод" -#: flatcamGUI/FlatCAMGUI.py:5034 +#: flatcamGUI/FlatCAMGUI.py:5276 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -8014,11 +8167,11 @@ msgstr "" " - Когда проверено перемещение от Z_cut(глубины отрезка) к Z_move\n" "(высота перемещения) делается как можно быстрее (G0) за один ход." -#: flatcamGUI/FlatCAMGUI.py:5053 +#: flatcamGUI/FlatCAMGUI.py:5295 msgid "Excellon Export" msgstr "Экспорт Excellon" -#: flatcamGUI/FlatCAMGUI.py:5058 +#: flatcamGUI/FlatCAMGUI.py:5300 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -8026,11 +8179,11 @@ msgstr "" "Заданные здесь параметры используются в экспортированном файле\n" "при использовании файла - > экспорт - > Экспорт Excellon пункт меню." -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 msgid "The units used in the Excellon file." msgstr "Единицы измерения, используемые в файле Excellon." -#: flatcamGUI/FlatCAMGUI.py:5083 +#: flatcamGUI/FlatCAMGUI.py:5325 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -8042,11 +8195,11 @@ msgstr "" "Здесь мы устанавливаем формат, используемый, когда\n" "координаты не используют точку." -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" -msgstr "Формат:" +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" +msgstr "Формат" -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -8062,15 +8215,15 @@ msgstr "" "Также это должно быть указано, если LZ = ведущие нули сохраняются\n" "или TZ = конечные нули сохраняются." -#: flatcamGUI/FlatCAMGUI.py:5128 +#: flatcamGUI/FlatCAMGUI.py:5370 msgid "Decimal" msgstr "Десятичный" -#: flatcamGUI/FlatCAMGUI.py:5129 +#: flatcamGUI/FlatCAMGUI.py:5371 msgid "No-Decimal" msgstr "Не-десятичный" -#: flatcamGUI/FlatCAMGUI.py:5155 +#: flatcamGUI/FlatCAMGUI.py:5397 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8084,11 +8237,11 @@ msgstr "" "Если проверен TZ, то сохраняются нулевые трейлеры\n" "и ведущие нули удаляются." -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" -msgstr "Тип слот:" +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" +msgstr "Тип слот" -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -8102,19 +8255,19 @@ msgstr "" "Если пробурено (G85), слоты будут экспортированы\n" "используя команду Сверлил слот (G85)." -#: flatcamGUI/FlatCAMGUI.py:5175 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "Routed" msgstr "Направлен" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5418 msgid "Drilled(G85)" msgstr "Пробурено (G85)" -#: flatcamGUI/FlatCAMGUI.py:5208 +#: flatcamGUI/FlatCAMGUI.py:5450 msgid "A list of Excellon Editor parameters." msgstr "Список параметров редактора Excellon." -#: flatcamGUI/FlatCAMGUI.py:5218 +#: flatcamGUI/FlatCAMGUI.py:5460 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -8128,55 +8281,57 @@ msgstr "" "Увеличивает производительность при перемещении\n" "большое количество геометрических элементов." -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" -msgstr "Новый диам. инструм.:" +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" +msgstr "Новый диам. инструм" -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" -msgstr "Линейный массив:" +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" +msgstr "Кол-во упражнений" -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "Линейная дрель массив" + +#: flatcamGUI/FlatCAMGUI.py:5499 msgid "Linear Dir.:" -msgstr "инейное нап.:" +msgstr "Линейное нап." -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" -msgstr "Круговой массив:" +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +#| msgid "%s" +msgid "%s:" +msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" -msgstr "Круговое нап.:" +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" +msgstr "Круговой массив" -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." -msgstr "" -"Направление для кругового массива.\n" -"Может быть CW = по часовой стрелке или CCW = против часовой стрелки." +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" +msgstr "Пазы" -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" -msgstr "Круг. угол:" +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" +msgstr "Длина" -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" -msgstr "щель:" +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" +msgstr "Линейный массив слотов" -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" -msgstr "Линейный массив слотов:" +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" +msgstr "Количество слотов" -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" -msgstr "Круговой массив слотов:" +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" +msgstr "Круговой массив слотов" -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5700 msgid "Geometry General" msgstr "Geometry основные" -#: flatcamGUI/FlatCAMGUI.py:5477 +#: flatcamGUI/FlatCAMGUI.py:5719 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -8184,23 +8339,11 @@ msgstr "" "Количество шагов круга для геометрии\n" "линейная аппроксимация окружности и дуги" -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "Инструменты:" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "Диаметры режущих инструментов, разделенные знаком ','" - -#: flatcamGUI/FlatCAMGUI.py:5505 +#: flatcamGUI/FlatCAMGUI.py:5747 msgid "Geometry Options" msgstr "Параметры Geometry" -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr "Создание программы для ЧПУ:" - -#: flatcamGUI/FlatCAMGUI.py:5512 +#: flatcamGUI/FlatCAMGUI.py:5754 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -8210,7 +8353,7 @@ msgstr "" "контуров данного объекта геометрии\n" "для программы ЧПУ." -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -8218,19 +8361,27 @@ msgstr "" "Глубина резания (отрицательная)\n" "ниже слоя меди." -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" msgstr "Мультипроход" -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." -msgstr "Многократное использование: Истина или Ложь." +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." +msgstr "" +"Используйте несколько проходов для ограничения\n" +"глубина реза в каждом проходе. Будет\n" +"сократить несколько раз, пока Cut Z не станет\n" +"достиг." -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" -msgstr "Шаг за проход:" +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" +msgstr "Шаг за проход" -#: flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5788 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -8244,17 +8395,25 @@ msgstr "" "это доля от глубины\n" "который имеет отрицательное значение." -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 msgid "" "Height of the tool when\n" "moving without cutting." msgstr "Высота отвода инструмента при холостом ходе." -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" -msgstr "Скорость подачи X-Y:" +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." +msgstr "" +"Включить последовательность смены инструмента\n" +"в машинном коде (пауза для смены инструмента)." -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "Скорость подачи X-Y" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 msgid "" "Cutting speed in the XY\n" "plane in units per minute" @@ -8262,11 +8421,11 @@ msgstr "" "Скорость резания в плоскости XY\n" "в единицах в минуту" -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" -msgstr "Скорость подачи Z:" +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" +msgstr "Скорость подачи Z" -#: flatcamGUI/FlatCAMGUI.py:5596 +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -8276,24 +8435,38 @@ msgstr "" "самолет в единицах в минуту.\n" "Это называется также Плунге." -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" -msgstr "Скорость вр. шпинделя:" +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" +msgstr "Скорость вр. шпинделя" -#: flatcamGUI/FlatCAMGUI.py:5648 +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." +msgstr "" +"Скорость шпинделя в об/мин (опционально).\n" +"Если используется лазерный постпроцессор,\n" +"это значение - мощность лазера." + +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "Продолжительность" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." msgstr "" "Файл постпроцессора, который диктует\n" -"Вывод машинного кода." +"вывод машинного кода (например, кода, RML, HPGL)." -#: flatcamGUI/FlatCAMGUI.py:5664 +#: flatcamGUI/FlatCAMGUI.py:5919 msgid "Geometry Adv. Options" msgstr "Geometry дополн." -#: flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamGUI/FlatCAMGUI.py:5926 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." @@ -8301,7 +8474,7 @@ msgstr "" "Параметры для создания объекта зCNC Job\n" "трассировки контуров объекта Geometry." -#: flatcamGUI/FlatCAMGUI.py:5691 +#: flatcamGUI/FlatCAMGUI.py:5946 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -8309,7 +8482,11 @@ msgstr "" "Высота инструмента сразу после начала работы.\n" "Удалить значение если вам не нужна эта функция." -#: flatcamGUI/FlatCAMGUI.py:5711 +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "Скорость подачи" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -8323,11 +8500,11 @@ msgstr "" "Это полезно только для Марлина,\n" "игнорировать для любых других случаев." -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 msgid "Re-cut 1st pt." msgstr "Повторно вырезать 1-й пт." -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -8339,11 +8516,15 @@ msgstr "" "встреча с последним отрезком, мы генерируем\n" "расширенный разрез по первой секции разреза." -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" -msgstr "Сегмент. Размер X :" +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" +msgstr "Быстрый подвод" -#: flatcamGUI/FlatCAMGUI.py:5766 +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "Сегмент. Размер X" + +#: flatcamGUI/FlatCAMGUI.py:6020 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -8353,11 +8534,11 @@ msgstr "" "Полезно для автоматического выравнивания.\n" "Значение 0 означает отсутствие сегментации по оси X." -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" -msgstr "Сегмент. Размер М :" +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" +msgstr "Сегмент. Размер М" -#: flatcamGUI/FlatCAMGUI.py:5777 +#: flatcamGUI/FlatCAMGUI.py:6031 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -8367,15 +8548,15 @@ msgstr "" "Полезно для автоматического выравнивания.\n" "Значение 0 означает отсутствие сегментации по оси Y." -#: flatcamGUI/FlatCAMGUI.py:5793 +#: flatcamGUI/FlatCAMGUI.py:6047 msgid "Geometry Editor" msgstr "Редактор Geometry" -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6052 msgid "A list of Geometry Editor parameters." msgstr "Список параметров редактора Geometry." -#: flatcamGUI/FlatCAMGUI.py:5808 +#: flatcamGUI/FlatCAMGUI.py:6062 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -8389,20 +8570,20 @@ msgstr "" "Увеличивает производительность при перемещении\n" "большое количество геометрических элементов." -#: flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/FlatCAMGUI.py:6081 msgid "CNC Job General" msgstr "CNC Job основные" -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 msgid "Plot Object" msgstr "Рисовать объекты" -#: flatcamGUI/FlatCAMGUI.py:5847 +#: flatcamGUI/FlatCAMGUI.py:6099 msgid "Plot kind:" msgstr "Рисовать участка:" -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -8414,15 +8595,15 @@ msgstr "" "над заготовкой или она может быть типа \"Cut\",\n" "что означает ходы, которые врезаются в материал." -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 msgid "Travel" msgstr "Траектория" -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" -msgstr "Показывать подписи:" +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" +msgstr "Показать аннотацию" -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -8433,23 +8614,23 @@ msgstr "" "каждого конца\n" "линии путешествия." -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" -msgstr "Размер аннотации:" +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" +msgstr "Размер аннотации" -#: flatcamGUI/FlatCAMGUI.py:5882 +#: flatcamGUI/FlatCAMGUI.py:6134 msgid "The font size of the annotation text. In pixels." msgstr "Размер шрифта текста аннотации. В пикселях." -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" -msgstr "Цвет аннотации:" +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" +msgstr "Цвет аннотации" -#: flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/FlatCAMGUI.py:6144 msgid "Set the font color for the annotation texts." msgstr "Установите цвет шрифта для текста аннотации." -#: flatcamGUI/FlatCAMGUI.py:5915 +#: flatcamGUI/FlatCAMGUI.py:6167 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -8457,7 +8638,7 @@ msgstr "" "Число шагов круга для G-код \n" "круг и дуга образуют линейное приближение." -#: flatcamGUI/FlatCAMGUI.py:5925 +#: flatcamGUI/FlatCAMGUI.py:6177 msgid "" "Diameter of the tool to be\n" "rendered in the plot." @@ -8465,11 +8646,11 @@ msgstr "" "Диаметр инструмента\n" " для черчения контуров." -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" -msgstr "Координаты дек.:" +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." +msgstr "Координаты дек." -#: flatcamGUI/FlatCAMGUI.py:5935 +#: flatcamGUI/FlatCAMGUI.py:6187 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -8477,11 +8658,11 @@ msgstr "" "Число десятичных знаков, которые будут использоваться для \n" "координаты X, Y, Z в коде CNC (код G, etc.)" -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" -msgstr "Скорость подачи дес.:" +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." +msgstr "Скорость подачи дес." -#: flatcamGUI/FlatCAMGUI.py:5945 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -8489,16 +8670,16 @@ msgstr "" "Число десятичных знаков, которые будут использоваться для \n" "параметр скорости подачи в коде КНК (коде г, ЕТК.)" -#: flatcamGUI/FlatCAMGUI.py:5960 +#: flatcamGUI/FlatCAMGUI.py:6212 msgid "CNC Job Options" msgstr "Параметры CNC Job" -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" -msgstr "Экспорт G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" +msgstr "Экспорт G-кода" -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -8507,11 +8688,11 @@ msgstr "" "для сохранения\n" "этого объекта в файл." -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" -msgstr "Коды предобработки для G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" +msgstr "Коды предобработки для G-Code" -#: flatcamGUI/FlatCAMGUI.py:5973 +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -8519,11 +8700,11 @@ msgstr "" "Введите здесь любые команды G-Code, которые вам\n" "хотелось бы добавить в начале файла G-Code." -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" -msgstr "Коды постобработки для G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" +msgstr "Коды постобработки для G-Code" -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -8533,31 +8714,45 @@ msgstr "" "хотелось бы добавить к созданному файлу.\n" "например: M2 (конец программы)" -#: flatcamGUI/FlatCAMGUI.py:6001 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "CNC Job Adv. Options" msgstr "CNC Job дополн." -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" -msgstr "G-Code смены инструмента:" +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" +msgstr "Экспорт CNC Code" -#: flatcamGUI/FlatCAMGUI.py:6014 +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "G-Code смены инструмента" + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" "This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." msgstr "" "Введите здесь любые G-Code команды, которые вам понадобится\n" "выполнить при смене инструмента.\n" "Это будет представлять собой пользовательский GCode смены инструмента,\n" -"или макрос смены инструмента." +"или макрос смены инструмента.\n" +"Переменные FlatCAM окружены символом\"%\".\n" +"\n" +"Предупреждение: это можно использовать только с файлом постпроцессора\n" +"и иметь \"toolchange_custom\" в имени, и будет построено\n" +"используя в качестве шаблона файл постпроцессора \"Tool change Custom\"." -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 msgid "Use Toolchange Macro" msgstr "Использовать макросы смены инструмента" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -8565,7 +8760,7 @@ msgstr "" "Установите этот флажок, если хотите использовать\n" "пользовательский GCode смены инструментов (макрос)." -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -8575,69 +8770,117 @@ msgstr "" "при смене инструмента.\n" "Они должны быть окружены '%' символом" -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 -msgid "Parameters" -msgstr "Параметры" - -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "Параметры CNC FlatCAM" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "tool = tool number" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "tooldia = диаметр инструмента" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = для Excellon, общее количество сверл" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = координата X для смены инструмента" -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = координата Y для смены инструмента" -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "z_toolchange = координата Z для смены инструмента" -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "z_cut = Z глубина распила" -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "z_move = высота Z для перемещения" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut = значение шага для мультипроходного разреза" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed = значение скорости вращения шпинделя" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" "dwelltime = время, чтобы остановиться, чтобы позволить шпинделю достичь его " "установлен об / мин" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "Очистка меди" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" -msgstr "Диам. инстр.:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." +msgstr "" +"Создание объекта геометрии с помощью\n" +"траектории резания для всех областей, отличных от меди." -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "Диам. инстр." + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "Порядок инструмента" + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" +"Это устанавливает способ использования инструментов в таблице инструментов.\n" +"«Нет» -> означает, что используемый порядок указан в таблице инструментов.\n" +"«Вперед» -> означает, что инструменты будут заказываться от малого к " +"большому\n" +"'Задний ход' -> меню, которые инструменты будут заказывать от большого к " +"маленькому\n" +"\n" +"ВНИМАНИЕ: использование остальной обработки автоматически установит порядок\n" +"в обратном порядке и отключите этот элемент управления." + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "Вперед" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "Задний ход" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "Частота перекрытия" + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8664,12 +8907,23 @@ msgstr "" "Более высокие значения = медленная обработка и медленное выполнение на ЧПУ\n" "из-за большого количества путей." -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "Отступ" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "Ограничивающее поле Поля." -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "Метод" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -8679,34 +8933,42 @@ msgstr "" "контурами, повторяющими контур полигона.
По кругу: Обработка " "правильными окружностями.
Линейный: Паралельными линиями." -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" -msgstr "Остальные обработки:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" +msgstr "Подключение" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "Контур" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "Остальные обработки" + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" -"Если флажок установлен, используется \"остальные обработки\".\n" -"Это очистит основную медь снаружи печатных плат ,\n" -"используя самый большой инструмент и перейдёт к следующему инструменту,\n" +"Если установлен этот флажок, используйте «остальная обработка».\n" +"В основном это очистит медь от внешних особенностей печатной платы,\n" +"используя самый большой инструмент и переходите к следующим инструментам,\n" "от большего к меньшему, чтобы очистить участки меди, которые\n" -"не удалось очистить предыдущим инструментом.\n" -"Если флажок не установлен, используется стандартный алгоритм." +"не может быть очищен предыдущим инструментом, пока\n" +"больше нет меди для очистки или больше нет инструментов.\n" +"Если не проверено, используйте стандартный алгоритм." -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "Oфсет:" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8718,40 +8980,51 @@ msgstr "" "из медных штучек.\n" "Значение может быть от 0 до 10 единиц FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" -msgstr "Значение смещения:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" +msgstr "Значение смещения" -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "Сам" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" -msgstr "Рамка" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" +msgstr "Площадь" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" -msgstr "Ссылка:" +#: flatcamGUI/FlatCAMGUI.py:6489 +msgid "Ref" +msgstr "Ссылка" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "Ссылка" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"При выборе опции «Сама» степень очистки без меди\n" +"- «Сам» - степень очистки без меди\n" "основан на объекте, который очищен от меди.\n" -"Выбор опции «Kоробка» сделает очистку без меди внутри коробки\n" -"указан другим объектом, отличным от того, который очищен от меди." +"  - «Выбор области» - щелчок левой кнопкой мыши, чтобы начать выбор области " +"для рисования.\n" +"Удерживая нажатой клавишу-модификатор (CTRL или SHIFT), можно добавить " +"несколько областей.\n" +"- «Контрольный объект» - будет выполнять очистку от меди в области\n" +"указано другим объектом." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "Обрезка платы" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -8760,11 +9033,19 @@ msgstr "" "Создание траектории обрезки печатной платы и отделения её от\n" "заготовки." -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" -msgstr "Вид объекта:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." +msgstr "" +"Диаметр инструмента, используемого для вырезания\n" +"форма печатной платы из окружающего материала." -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "Вид объекта" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -8776,45 +9057,51 @@ msgstr "" "Гербера PCB панели, который сделан\n" "из множества отдельных печатных плат очертания." -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "Одиночный" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "Панель" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -"Расстояние от объектов вокруг которых\n" -"будет нарисовано очертание." +"Маржа над границами. Положительное значение здесь\n" +"сделает отрезок из ПКБ дальше от\n" +"фактическая граница печатной платы" -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" -msgstr "Размер перемычки:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" +msgstr "Размер перемычки" -#: flatcamGUI/FlatCAMGUI.py:6276 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." msgstr "" -"Размер перемычек для удержания\n" -"печатной платы в заготовке." +"Размер мостовых зазоров в вырезе\n" +"используется, чтобы держать совет, подключенный к\n" +"окружающий материал (тот самый \n" +"из которого вырезается печатная плата)." -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" -msgstr "Вариант:" +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" +msgstr "Вариант" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6571 msgid "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8825,6 +9112,7 @@ msgstr "" "Количество перемычек, оставляемых при обрезке платы.\n" "Может быть максимум 8 мостов/перемычек.\n" "Варианты:\n" +"- нет - нет пробелов\n" "- lr - слева + справа\n" "- tb - сверху + снизу\n" "- 4 - слева + справа +сверху + снизу\n" @@ -8832,19 +9120,23 @@ msgstr "" "- 2tb - 2*сверху + 2*снизу \n" "- 8 - 2*слева + 2*справа + 2*сверху + 2*снизу" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" -msgstr "Закруглять углы:" +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." +msgstr "Закруглять углы" -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." -msgstr "Создайте выпуклую форму, окружающую печатную плату." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." +msgstr "" +"Создайте выпуклую форму, окружающую всю печатную плату.\n" +"Используется только в том случае, если тип исходного объекта-Gerber." -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "2-х сторонняя плата" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -8852,46 +9144,54 @@ msgstr "" "Инструмент, помогающий создать двухстороннюю\n" "печатную плату с использованием центрирующих отверстий." -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" -msgstr "Диам. сверла.:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" +msgstr "Диам. сверла." -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Диаметр сверла для контрольных отверстий." -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Зеркальное отражение:" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Отразить по вертикали (X) или горизонтали (Y)." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Точка" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" -msgstr "Указатель оси:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" +msgstr "Рамка" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "Указатель оси" + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" "Ось должна проходить через точку или вырезать\n" -" указанное поле (в Geometry объект) в\n" -"середине." +"указанный коробка (в объекте FlatCAM) через\n" +"центр." -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "Рисование" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "Параметры:" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -8902,31 +9202,41 @@ msgstr "" "всей площади полигона(удаляется вся медь).\n" "Будет предложено нажать на нужный полигон." -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "Выбор" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Размер части ширины инструмента \n" -"который будет перекрываться за каждый проход." +"Как выбрать полигоны для рисования.\n" +"\n" +"- «Выбор области» - щелчок левой кнопкой мыши, чтобы начать выбор области " +"для рисования.\n" +"Удерживая нажатой клавишу-модификатор (CTRL или SHIFT), можно добавить " +"несколько областей.\n" +"- «Все полигоны» - краска начнется после щелчка.\n" +"- «Контрольный объект» - будет выполнять очистку от меди в области\n" +"указано другим объектом." -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" -msgstr "Выбор:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." +msgstr "Ссылка" -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "Как выбирать полигоны для рисования." - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "Площадь" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "Плёнка" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -8936,11 +9246,11 @@ msgstr "" "Объект FlatCAM.\n" "Файл сохраняется в формате SVG." -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "Тип плёнки:" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -8956,11 +9266,11 @@ msgstr "" "белым на черном холсте.\n" "Формат плёнки - SVG." -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" -msgstr "Отступ:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" +msgstr "Отступ" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -8980,11 +9290,11 @@ msgstr "" "белый цвет как у остальных и который может смешаться с\n" "окружение, если бы не эта граница." -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" -msgstr "Масштаб обводки:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" +msgstr "Масштаб обводки" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -8996,11 +9306,11 @@ msgstr "" "тоньше,\n" "поэтому этот параметр может в большей степени влиять на мелкие объекты." -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "Панелизация" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -9010,11 +9320,11 @@ msgstr "" "каждый элемент является копией исходного объекта с интервалом\n" "на расстоянии X, Y расстояние друг от друга." -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" -msgstr "Интервал столбцов:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" +msgstr "Интервал столбцов" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -9022,11 +9332,11 @@ msgstr "" "Расстояние между столбцами нужной панели.\n" "В текущих единицах измерения." -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" -msgstr "Интервал строк:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" +msgstr "Интервал строк" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -9034,35 +9344,35 @@ msgstr "" "Расстояние между строками нужной панели.\n" "В текущих единицах измерения." -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" -msgstr "Столбцы:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" +msgstr "Столбцы" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Количество столбцов нужной панели" -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" -msgstr "Строки:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" +msgstr "Строки" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Количество строк нужной панели" -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Гео" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" -msgstr "Тип панели:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" +msgstr "Тип панели" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -9072,11 +9382,11 @@ msgstr "" "- Гербера\n" "- Геометрия" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" -msgstr "Ограничить в пределах:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" +msgstr "Ограничить в пределах" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -9090,11 +9400,11 @@ msgstr "" "последняя панель будет иметь столько столбцов и строк, как\n" "они полностью вписываются в выбранную область." -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" -msgstr "Ширина (DX):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" +msgstr "Ширина (DX)" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -9102,11 +9412,11 @@ msgstr "" "Ширина (DX), в пределах которой должна поместиться панель.\n" "В текущих единицах измерения." -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" -msgstr "Высота (DY):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" +msgstr "Высота (DY)" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -9114,15 +9424,15 @@ msgstr "" "Высота (DY), в пределах которой должна поместиться панель.\n" "В текущих единицах измерения." -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "Калькулятор" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" -msgstr "Калькулятор V-образного инструмента:" +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" +msgstr "Калькулятор V-образного инструмента" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -9132,11 +9442,11 @@ msgstr "" "учитывая диаметр наконечника, угол наклона наконечника и\n" "глубину резания в качестве параметров." -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" -msgstr "Диаметр наконечника:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" +msgstr "Диа. наклона" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -9144,11 +9454,11 @@ msgstr "" "Это диаметр наконечника инструмента.\n" "Это указано производителем." -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" -msgstr "Угол наклона:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" +msgstr "Угол наклона" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -9156,7 +9466,7 @@ msgstr "" "Это угол на кончике инструмента.\n" "Это указано производителем." -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -9164,11 +9474,11 @@ msgstr "" "Это глубина для того чтобы отрезать в материал.\n" "В объекте задания ЧПУ это параметр CutZ." -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" -msgstr "Калькулятор электронных плат:" +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" +msgstr "Калькулятор электронных плат" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -9179,27 +9489,27 @@ msgstr "" "используя метод как чернила гранита или чернила гипофосфита кальция или " "хлорид палладия." -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" -msgstr "Длина платы:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" +msgstr "Длина платы" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "Это длина доски. В сантиметрах." -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" -msgstr "Ширина платы:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" +msgstr "Ширина платы" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "Это совет директоров width.In сантиметры." -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" -msgstr "Текущая плотность:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" +msgstr "Текущая плотность" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -9207,11 +9517,11 @@ msgstr "" "Плотность тока для прохождения через плату. \n" "В Амперах на квадратный метр АЧС." -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" -msgstr "Медный слой:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" +msgstr "Медный слой" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -9219,11 +9529,11 @@ msgstr "" "Насколько толстым должен быть медный рост.\n" "В микронах." -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "Трансформация" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -9231,47 +9541,35 @@ msgstr "" "Различные преобразования, которые могут быть применены\n" "на объекте FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" -msgstr "Угол Поворота:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" +msgstr "Угол Поворота" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." -msgstr "Угол поворота. В градусах." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" +msgstr "Угол наклона_X" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" -msgstr "Угол наклона_X:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" +msgstr "Угол наклона_Y" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." -msgstr "Угол наклона/сдвига по оси X. В градусах." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" +msgstr "Коэф. X" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "Угол наклона_Y:" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "Угол наклона/сдвига по оси Y. В градусах." - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "Коэф. X:" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Коэффициент масштабирования по оси X." -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" -msgstr "Коэф Y:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" +msgstr "Коэф Y" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Коэффициент масштабирования по оси Y." -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -9279,7 +9577,7 @@ msgstr "" "Масштабирование выбранных объектов)\n" "использование коэффициента Scale_X для обеих осей." -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -9291,27 +9589,27 @@ msgstr "" "а по центру большой прямоугольник \n" "из выбранных объектов, если флажок снят." -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" -msgstr "Смещение Х:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" +msgstr "Смещение Х" -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Расстояние смещения по оси X. В текущих единицах." -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" -msgstr "Смещение Y:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" +msgstr "Смещение Y" -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Расстояние смещения по оси Y. В текущих единицах." -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Точка зеркалтрования" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9333,11 +9631,11 @@ msgstr "" "Или введите координаты в формате (x, y) в поле\n" "Поле ввода точки и нажмите кнопку флип на X(Y)" -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" -msgstr " Точка зеркалирования:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" +msgstr "Точка зеркалирования" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -9348,11 +9646,11 @@ msgstr "" "'x' в (x, y) будет использоваться при отражении по X и\n" "'y' в (x, y) будет использоваться при отражении по Y" -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "Паяльная паста" -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -9360,49 +9658,49 @@ msgstr "" "Инструмент для создания GCode для дозирования\n" "нанесения паяльной пасты на печатную плату." -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "Диаметры сопловых инструментов, разделенные ','" -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" -msgstr "Новый диам. сопла:" +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" +msgstr "Новый диам. сопла" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Диаметр для нового инструмента сопла, который нужно добавить в таблице " "инструмента" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" -msgstr "Z начала нанесения:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" +msgstr "Z начала нанесения" -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "Высота (Z), когда начинается выдача паяльной пасты." -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" -msgstr "Z нанесения:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" +msgstr "Z нанесения" -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "Высота (Z) при выполнении дозирования паяльной пасты." -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" -msgstr "Z конца нанесения:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" +msgstr "Z конца нанесения" -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "Высота (Z) при остановке выдачи паяльной пасты." -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" -msgstr "Z перемещения:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" +msgstr "Z перемещения" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -9410,19 +9708,19 @@ msgstr "" "Высота (Z) для перемещения между колодками\n" "(без дозирования паяльной пасты)." -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" -msgstr "Z смены инструмента:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" +msgstr "Z смены инструмента" -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "Высота (Z) для изменения инструмента (сопла)." -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" -msgstr "XY смены инструмента:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" +msgstr "Смена инструмента X,Y" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -9430,19 +9728,19 @@ msgstr "" "Положение X, Y для изменения инструмента (сопла).\n" "Формат (x, y), где x и y-действительные числа." -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" -msgstr "Скорость подачи X-Y:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" +msgstr "Скорость подачи X-Y" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Скорость подачи при движении по плоскости X-Y." -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" -msgstr "Скорость подачи Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" +msgstr "Скорость подачи Z" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -9450,11 +9748,11 @@ msgstr "" "Скорость подачи (скорость) при движении по вертикали\n" "(на плоскости Z)." -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" -msgstr "Скорость подачи Z Диспенсер:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" +msgstr "Скорость подачи Z Диспенсер" -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -9462,11 +9760,11 @@ msgstr "" "Скорость подачи (скорость) при движении вверх по вертикали\n" "распределить положение (на плоскости Z)." -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" -msgstr "Скорость прям. вр. шпинделя:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" +msgstr "Скорость прям. вр. шпинделя" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -9474,19 +9772,19 @@ msgstr "" "Диспенсер скорости при нажатии паяльной пасты\n" "через сопло дозатора." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" -msgstr "Задержка В НАЧАЛЕ:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" +msgstr "Задержка В НАЧАЛЕ" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Пауза после выдачи паяльной пасты." -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" -msgstr "Скорость обратн. вр. шпинделя:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" +msgstr "Скорость обратн. вр. шпинделя" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -9494,11 +9792,11 @@ msgstr "" "Скорость распределителя пока втягивающ затир припоя\n" "через сопло дозатора." -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" -msgstr "Задержка В КОНЦЕ:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" +msgstr "Задержка В КОНЦЕ" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -9506,19 +9804,20 @@ msgstr "" "Пауза после того, как дозатор паяльной пасты будет убран,\n" "чтобы обеспечить равномерное выдавливание." -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" -msgstr "Постпроцессоры:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" +msgstr "Постпроцессор" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Файлы контролирующие генерацию GCode." -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "Параметры инструмента Substractor" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -9526,24 +9825,24 @@ msgstr "" "Инструмент для вычитания одного объекта Gerber или Геометрия\n" "от другого того же типа." -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Закрыть пути" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "Проверка этого закроет пути, прорезанные объектом субметора Геометрия." -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "Нет заданий." -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "Приложение запущено ..." -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "Привет!" @@ -9569,17 +9868,13 @@ msgstr "" "Изменить - > настройки -> Общие и проверить:\n" "- Приложение. Уровень ' переключатель." -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr "Масштаб:" - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "Изменение размера объекта." #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" -msgstr "Коэффициент:" +msgid "Factor" +msgstr "Коэффициент" #: flatcamGUI/ObjectUI.py:91 msgid "" @@ -9593,17 +9888,13 @@ msgstr "" msgid "Perform scaling operation." msgstr "Будет выполнена операция масштабирования." -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "Смещение:" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "Смена положения этого объекта." #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" -msgstr "Вектор:" +msgid "Vector" +msgstr "Вектор" #: flatcamGUI/ObjectUI.py:119 msgid "" @@ -9622,9 +9913,9 @@ msgid "Gerber Object" msgstr "Объект Gerber" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" -msgstr "Имя:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" +msgstr "Имя" #: flatcamGUI/ObjectUI.py:203 msgid "" @@ -9668,17 +9959,9 @@ msgstr "" "функцию, используйте отрицательное значение для\n" "этот параметр." -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "Проходы:" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "Комбинировать" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" -msgstr "Создание изолирующей Geometry:" +msgid "Generate Isolation Geometry" +msgstr "Создание изолирующей Геометрия" #: flatcamGUI/ObjectUI.py:325 msgid "" @@ -9745,10 +10028,10 @@ msgstr "" "только геометрия интерьеров." #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" -msgstr "Очистка меди:" +msgid "Clear N-copper" +msgstr "Чистый N-медь" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -9757,10 +10040,10 @@ msgstr "" "для безмедного полигона." #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" -msgstr "Обрезка контура платы:" +msgid "Board cutout" +msgstr "Обрезка контура платы" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "Обрезка платы" @@ -9772,35 +10055,9 @@ msgstr "" "Будет создан объект геометрии\n" "для обрезки контура." -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr "Безмедные полигоны:" - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" -"Создание полигонов, охватывающих\n" -"участки без меди на печатной плате.\n" -"Обратный эквивалент этого\n" -"объекта может использоваться для удаления всей\n" -"меди из указанного региона." - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "Закруглять" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "Полученная геометрия будет иметь закругленные углы." - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Создать" @@ -9824,22 +10081,10 @@ msgstr "Объект Excellon" msgid "Solid circles." msgstr "Закрашенные круги." -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr "Таблица инструментов" - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "Отверстия" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "Пазы" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "Смещение Z" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -9852,7 +10097,7 @@ msgstr "" "будет показано, как Т1, Т2 ... Tn в машинном коде." #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -9886,59 +10131,11 @@ msgid "" "for this drill object." msgstr "Создание G-Code для объекта сверловки." -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" -msgstr "Смена инструмента" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" +msgstr "Смена инструмента Z" -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" -msgstr "Смена инструмента Z:" - -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "Отвод по оси Z для смены инструмента." - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" -"Высота положения инструмента непосредственно перед началом работы.\n" -"Удалите значение если вам не нужна эта функция." - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "" -"Положение оси Z (высота) для\n" -"следующего прохода." - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "Скорость подачи (подвод):" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" -"Скорость вращения инструмента при сверлении\n" -"(в единицах измерения в минуту).\n" -"Используется для линейного перемещения G01." - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" -"Файл json, который диктует\n" -"выход УП." - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." @@ -9946,11 +10143,7 @@ msgstr "" "Выберите из таблицы инструменты выше\n" "инструменты, которые вы хотите включить." -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr "Тип: " - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -9962,15 +10155,15 @@ msgstr "" "При выборе \"Пазы\" или \"Оба\", пазы будут\n" "преобразованы в массив отверстий." -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "Создать GCode" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "Создание программы для ЧПУ." -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." @@ -9978,15 +10171,11 @@ msgstr "" "Выберите из таблицы инструментов выше\n" " отверстия, которые должны быть фрезерованы." -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "Диам. свёрел:" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "Создать Geo" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -9994,10 +10183,6 @@ msgstr "" "Создание объекта Geometry \n" "для траектории фрезерования отверстий." -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "Диаметр инструмента пазов:" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "Создать Geo" @@ -10043,12 +10228,12 @@ msgstr "" "показал пользовательский интерфейс записи форма имени Вольт-Совет диаметр и " "V-наконечник угол." -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "Диам" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TT" @@ -10153,8 +10338,8 @@ msgstr "" "для соответствующего инструмента." #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" -msgstr "Смещение:" +msgid "Tool Offset" +msgstr "Смещение" #: flatcamGUI/ObjectUI.py:951 msgid "" @@ -10168,12 +10353,13 @@ msgstr "" "Значение может быть положительным для \"снаружи\"\n" "вырезать и отрицательный для \"внутри\" вырезать." -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" -msgstr "Диам. инструмента:" +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" +msgstr "Диаметр инструмента" -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -10198,8 +10384,8 @@ msgstr "" "сначала выберите строку в таблице инструментов." #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" -msgstr "Данные инструмента" +msgid "Tool Data" +msgstr "Диаметр инструмента" #: flatcamGUI/ObjectUI.py:1028 msgid "" @@ -10210,16 +10396,16 @@ msgstr "" "Каждый инструмент хранит свой собственный набор таких данных." #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" -msgstr "Диам. V-наконечника:" +msgid "V-Tip Dia" +msgstr "Диам. V-наконечника" #: flatcamGUI/ObjectUI.py:1049 msgid "The tip diameter for V-Shape Tool" msgstr "Диаметр наконечника для V-образного инструмента" #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" -msgstr "Угол V-наконечника:" +msgid "V-Tip Angle" +msgstr "Угол V-наконечника" #: flatcamGUI/ObjectUI.py:1060 msgid "" @@ -10229,105 +10415,11 @@ msgstr "" "Угол наклона наконечника для V-образного инструмента.\n" "В степенях." -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "Мультипроход:" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" -"Используйте несколько проходов, чтобы ограничить\n" -"глубина реза за каждый проход. Будет\n" -"вырезаться несколько раз, пока не будет\n" -"достигнута глубина резания \n" -"Справа введите глубину \n" -"за каждый проход (положительное значение)." - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "Глубина каждого прохода (положительный)." -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" -"Включить последовательность смены инструмента\n" -"в машинном коде (пауза для смены инструмента)." - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" -"Это высота (Z), на которой ЧПУ\n" -"пойдет как последний ход." - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "Скорость подачи Z (подвод):" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" -"Скорость резания в Z\n" -"самолет в единицах измерения в минуту" - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "Скорость подачи:" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" -"Скорость резания в XY\n" -"самолет в единицах измерения в минуту\n" -"(в единицах измерения в минуту).\n" -"Это для быстрого перемещения G00.\n" -"Это полезно только для Марлина,\n" -"игнорировать для любых других случаев." - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "Вырезать над 1-й пт" - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" -"Скорость шпинделя в об/мин (опционально).\n" -"Если используется лазерный постпроцессор,\n" -"это значение - мощность лазера." - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "Постпроцессор:" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" -"Файл постпроцессора, который диктует\n" -"вывод машинного кода (например, кода, RML, HPGL)." - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -10337,39 +10429,35 @@ msgstr "" "Щелкните заголовок, чтобы выбрать все, или Ctrl + LMB\n" "для пользовательского выбора инструментов." -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "Создать" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "Будет создан объект программы для ЧПУ." -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" -msgstr "Область рисования:" +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" +msgstr "Область рисования" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "Запускает инструмент рисования во вкладке Инструменты." -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "Объект программы для ЧПУ" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" -msgstr "Вид участка:" +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" +msgstr "Рисовать участка" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" -msgstr "Показывать подписи:" +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." +msgstr "Расст. прохода" -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr "Расст. прохода:" - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -10377,11 +10465,11 @@ msgstr "" "Это общее пройденное расстояние на X-Y плоскости.\n" "В текущих единицах измерения." -#: flatcamGUI/ObjectUI.py:1406 -msgid "Estimated time:" -msgstr "Предполагаемая Продолжительность:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" +msgstr "Расчетное время" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -10389,11 +10477,11 @@ msgstr "" "Это расчетное время для выполнения маршрутизации / бурения,\n" "без времени, проведенного в событиях смены инструмента." -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" -msgstr "Таблица инструментов" +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" +msgstr "Стол с ЧПУ" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -10415,83 +10503,49 @@ msgstr "" "\"Тип инструмента\" (TT) может быть круговым с 1 до 4 зубами (C1..C4),\n" "шарик (B), или V-образный(V)." -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "Обновить участок" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "Обновление участка." -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" -msgstr "Экспорт CNC Code:" +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" +msgstr "Добавить в начало CNC Code" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" -msgstr "Добавить в начало CNC Code:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" +msgstr "Дописать в конец CNC Code" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" -"Введите здесь любые G-Code команды, которые вы\n" -"хотели бы добавить в начале генерируемого файла." - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "Дописать в конец CNC Code:" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" -"Введите здесь любые G-Code команды, которые вам понадобится\n" -"выполнить при смене инструмента.\n" -"Это будет представлять собой пользовательский GCode смены инструмента,\n" -"или макрос смены инструмента.\n" -"Переменные FlatCAM окружены символом\"%\".\n" -"\n" -"Предупреждение: это можно использовать только с файлом постпроцессора\n" -"и иметь \"toolchange_custom\" в имени, и будет построено\n" -"используя в качестве шаблона файл постпроцессора \"Tool change Custom\"." - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "z_cut = глубина резания" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "z_move = высота перемещения" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "Просмотр CNC Code" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." msgstr "Открывает вкладку для просмотра/изменения/печати файла G-Code." -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "Сохранить CNC Code" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -10503,18 +10557,10 @@ msgstr "" msgid "Calculators" msgstr "Калькуляторы" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "Калькулятор V-образного инструмента" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "Калькулятор единиц" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "Калькулятор электронных плат" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "Здесь вы вводите значение, которое будет конвертировано из ДЮЙМОВ в MM" @@ -10523,19 +10569,7 @@ msgstr "Здесь вы вводите значение, которое буде msgid "Here you enter the value to be converted from MM to INCH" msgstr "Здесь вы вводите значение, которое будет конвертировано из MM в ДЮЙМЫ" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" -"Это диаметр наконечника инструмента.\n" -"Производитель указывает его." - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "Угол наклона:" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -10543,7 +10577,7 @@ msgstr "" "Это угол наклона кончика инструмента.\n" "Это указано производителем." -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -10551,11 +10585,11 @@ msgstr "" "Это глубина для того чтобы отрезать в материал.\n" "В работе с ЧПУ-это параметр, CutZ." -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" -msgstr "Диаметр инструмента:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" +msgstr "Диаметр инструмента" -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -10565,11 +10599,11 @@ msgstr "" "Секция FlatCAM Gerber.\n" "В разделе Работа с ЧПУ он называется > инструмент dia<." -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "Рассчитать" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -10577,11 +10611,11 @@ msgstr "" "Рассчитывает любую глубину резания или эффективный диаметр инструмента,\n" " в зависимости от того, что желательно и что известно." -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" -msgstr "Текущее значение:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" +msgstr "Текущее значение" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -10589,11 +10623,11 @@ msgstr "" "Это текущее значение интенсивности \n" "быть установленным на электропитание. В Усилителях." -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" -msgstr "Время:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" +msgstr "Время" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." @@ -10601,7 +10635,7 @@ msgstr "" "Это расчетное время, необходимое для процедуры.\n" "В минутах." -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -10609,7 +10643,7 @@ msgstr "" "Вычислите текущее значение интенсивности и время процедуры,\n" "в зависимости от параметров выше" -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "Калькулятор" @@ -10617,9 +10651,10 @@ msgstr "Калькулятор" msgid "Cutout PCB" msgstr "Обрезка платы" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" -msgstr "Тип объекта:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" +msgstr "Тип объекта" #: flatcamTools/ToolCutOut.py:56 msgid "" @@ -10633,51 +10668,19 @@ msgstr "" "То, что выбрано здесь будет диктовать вид\n" "объектов, которые будут заполнять поле со списком \"объект\"." -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" -msgstr "Объект:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" +msgstr "Объект" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "Объект, который нужно вырезать. " -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "" -"Диаметр инструмента, используемого для вырезания\n" -"форма печатной платы из окружающего материала." - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" -"Маржа над границами. Положительное значение здесь\n" -"сделает отрезок из ПКБ дальше от\n" -"фактическая граница печатной платы" - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" -"Размер мостовых зазоров в вырезе\n" -"используется, чтобы держать совет, подключенный к\n" -"окружающий материал (тот самый \n" -"из которого вырезается печатная плата)." - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." -msgstr "" -"Создайте выпуклую форму, окружающую всю печатную плату.\n" -"Используется только в том случае, если тип исходного объекта-Gerber." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" +msgstr "Размер перемычки:" #: flatcamTools/ToolCutOut.py:138 msgid "A. Automatic Bridge Gaps" @@ -10692,6 +10695,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -10702,6 +10706,7 @@ msgstr "" "Количество зазоров, используемых для автоматического вырезания.\n" "Может быть максимум 8 мостов / зазоров.\n" "Выбор:\n" +"- нет - нет пробелов\n" "- ЛР - левый + правый\n" "- tb-top + bottom\n" "- 4 - левый + правый +верхний + нижний\n" @@ -10709,11 +10714,11 @@ msgstr "" "- 2tb - 2 * top + 2 * bottom\n" "- 8 - 2*слева + 2 * справа + 2*сверху + 2 * снизу" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" -msgstr "Свободная форма:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" +msgstr "Свободная форма" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." @@ -10721,7 +10726,7 @@ msgstr "" "Форма выреза может быть в форме Нью-Йорк.\n" "Полезно, когда печатная плата имеет непрямоугольную форму." -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" @@ -10731,11 +10736,11 @@ msgstr "" "Форма выреза может быть любой формы.\n" "Полезно, когда печатная плата имеет непрямоугольную форму." -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" -msgstr "Прямоугольная:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" +msgstr "Прямоугольная" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" @@ -10745,7 +10750,7 @@ msgstr "" "всегда прямоугольная форма, и это будет\n" "ограничивающий прямоугольник объекта." -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -10757,11 +10762,11 @@ msgstr "" "всегда прямоугольная форма, и это будет\n" "ограничивающий прямоугольник объекта." -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "Б. Ручное размещение перемычек" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" @@ -10772,19 +10777,19 @@ msgstr "" "объекта геометрии, который используется \n" "в качестве объекта выреза. " -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" -msgstr "Об. Geo:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" +msgstr "Об. Geo" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "Геометрический объект, используемый для создания ручного выреза." -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" -msgstr "Ручная Geo:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" +msgstr "Ручная Geo" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -10796,11 +10801,11 @@ msgstr "" "для использования в качестве выреза, если он еще не существует.\n" "Выберите исходный файл Gerber в верхнем поле со списком объектов." -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" -msgstr "Ручное добавление перемычек:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" +msgstr "Ручное добавление перемычек" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10809,11 +10814,11 @@ msgstr "" "Используйте левую кнопку мыши (ЛКМ) \n" "чтобы создать перемычку на печатной плате." -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "Созд. перемычку" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -10826,18 +10831,19 @@ msgstr "" "Щелчок ЛКМ должен быть сделан по периметру\n" "объекта геометрии, используемой в качестве геометрии выреза." -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "[ERROR_NOTCL] Не удалось получить объект: %s" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." @@ -10845,7 +10851,7 @@ msgstr "" "[ERROR_NOTCL] Не выбран объект для обрезки.\n" "Выберите один и повторите попытку." -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10853,38 +10859,37 @@ msgstr "" "[WARNING_NOTCL] Диаметр инструмента-нулевое значение. Измените его на " "положительное вещественное число." -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Значение отступа отсутствует или оно имеет неправильный " "формат. Добавьте его и повторите попытку." -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" "[WARNING_NOTCL] Значение размера зазора отсутствует или неверный формат. " "Добавьте его и повторите попытку." -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "" "[WARNING_NOTCL] Значение количества перемычек отсутствует. Добавьте его и " "повторите попытку.." -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" -"[WARNING_NOTCL] Значение перемычек может быть только одним из следующих: " -"'lr', 'tb', '2lr', '2tb', 4 или 8. Введите правильное значение и повторите " -"попытку. " +"[WARNING_NOTCL] Значение пробела может быть только одним из: «Нет», «lr», " +"«tb», «2lr», «2tb», 4 или 8. Введите правильное значение и повторите попытку." -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -10896,18 +10901,18 @@ msgstr "" "Geometry,\n" "а после этого выполнена обрезка." -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "[success] Операция обрезки закончена." -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "[ERROR_NOTCL] Объект не найден: %s" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." @@ -10915,37 +10920,37 @@ msgstr "" "[ERROR_NOTCL] Диаметр инструмента имеет нулевое значение. Измените его на " "положительное целое число." -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" "Щелкните по периметру выбранного объекта геометрии, чтобы создать " "перемычку ..." -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "Создание перемычки вручную..." - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "[ERROR_NOTCL] Не удалось получить объект Geometry: %s" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "Создание перемычки вручную..." + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "[ERROR_NOTCL] Объект геометрии для ручного выреза не найден: %s" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "[success] Премычка добавлена вручная." -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "[ERROR_NOTCL] Не удалось получить объект Gerber: %s" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." @@ -10953,7 +10958,7 @@ msgstr "" "[ERROR_NOTCL] Для обрезки не выбран объект Gerber.\n" "Выберите один и повторите попытку." -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." @@ -10961,14 +10966,15 @@ msgstr "" "[ERROR_NOTCL] Выбранный объект должен быть типа Gerber.\n" "Выберите файл Gerber и повторите попытку." +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" +msgstr "[ERROR_NOTCL] Геометрия не поддерживается для выреза: %s" + #: flatcamTools/ToolDblSided.py:18 msgid "2-Sided PCB" msgstr "2-х сторонняя плата" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" -msgstr "GERBER:" - #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 #: flatcamTools/ToolDblSided.py:100 msgid "Mirror" @@ -10985,35 +10991,21 @@ msgstr "" "вокруг заданной оси. Не создаёт новый объект,\n" "но изменяет его." -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "EXCELLON:" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "Объект Excellon для отражения." -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "GEOMETRY:" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "Объект Geometry для зеркалирования." -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." -msgstr "" -"Ось должна проходить через точку или вырезать\n" -"указанный коробка (в объекте FlatCAM) через\n" -"центр." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" +msgstr "Указатель оси:" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" -msgstr "Указатель точка/рамка:" +msgid "Point/Box Reference" +msgstr "Указатель точка/рамка" #: flatcamTools/ToolDblSided.py:154 msgid "" @@ -11044,21 +11036,24 @@ msgstr "" "и щелкните левой кнопкой мыши на холсте или вы можете ввести координаты " "вручную." -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "Gerber объект указателя рамки" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "Excellon объект указателя рамки" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "Geometry объект указателя рамки" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" -msgstr "Координаты выравнивающего отверстия:" +msgid "Alignment Drill Coordinates" +msgstr "Координаты выравнивающего отверстия" #: flatcamTools/ToolDblSided.py:194 msgid "" @@ -11129,11 +11124,11 @@ msgstr "Сбросить" msgid "Resets all the fields." msgstr "Сбрасывает все поля." -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "Инструмент 2-х сторонних плат" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." @@ -11141,14 +11136,14 @@ msgstr "" "[WARNING_NOTCL] Ссылка «Точка» выбрана, а координаты «Точка» отсутствуют. " "Добавьте их и повторите попытку." -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" "[WARNING_NOTCL] Ссылочный объект не загружен. Загрузите один и повторите " "попытку." -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." @@ -11156,7 +11151,7 @@ msgstr "" "[WARNING_NOTCL] Нет значения либо неправильный формат значения диаметра " "сверла. Добавьте его и повторите попытку." -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." @@ -11164,23 +11159,23 @@ msgstr "" "[WARNING_NOTCL] Нет координатных сверлильных координат для использования. " "Добавьте их и повторите попытку." -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "[success] Объект Excellon с выравнивающими отверстиями создан..." -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "[WARNING_NOTCL] Не загружен объект Гербера ..." -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" "[ERROR_NOTCL] Зеркальное отображение доступно только для объектов Gerber, " "Excellon и Geometry." -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." @@ -11188,21 +11183,21 @@ msgstr "" "[WARNING_NOTCL] Координаты точки отсутствуют. Использование Origin (0, 0) в " "качестве ссылки на зеркальное отображение." -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "[WARNING_NOTCL] Там нет загруженного объекта коробки ..." -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "[success] Gerber %s отзеркалирован..." -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "[WARNING_NOTCL] Не загружен объект Excellon ..." -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." @@ -11210,16 +11205,16 @@ msgstr "" "[WARNING_NOTCL] В поле Точка нет координат точки. Добавьте координаты и " "попробуйте снова ..." -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "[success] Excellon %s отзеркалирован..." -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "[WARNING_NOTCL] Не загружен объект геометрии ..." -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "[success] Geometry %s отзеркалирован..." @@ -11229,9 +11224,9 @@ msgid "Film PCB" msgstr "Плёнка" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" -msgstr "Тип объекта:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" +msgstr "Тип объекта" #: flatcamTools/ToolFilm.py:58 msgid "" @@ -11246,14 +11241,14 @@ msgstr "" "в выпадающем списке объектов фильма." #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" -msgstr "Объект плёнки:" +msgid "Film Object" +msgstr "Объект плёнки" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "Объект для создания плёнки." -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "Тип рамки:" @@ -11270,8 +11265,8 @@ msgstr "" "в поле со списком объектов." #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" -msgstr "Объект рамки:" +msgid "Box Object" +msgstr "Объект рамки" #: flatcamTools/ToolFilm.py:106 msgid "" @@ -11309,37 +11304,37 @@ msgstr "" "  Объект FlatCAM, но напрямую сохраните его в формате SVG\n" "который можно открыть с помощью Inkscape." -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" "[ERROR_NOTCL] Объект FlatCAM не выбран. Загрузите объект для Плёнки и " "повторите попытку." -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" "[ERROR_NOTCL] Объект FlatCAM не выбран. Загрузите объект для Рамки и " "повторите попытку." -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "Создание плёнки ..." -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "Экспорт позитива SVG" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "[WARNING_NOTCL] Экспорт SVG положительный отменен." -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "Экспорт негатива SVG" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "[WARNING_NOTCL] Экспорт SVG негатив отменен." @@ -11360,8 +11355,8 @@ msgstr "" "Он может быть типа: Gerber или Geometry." #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" -msgstr "Значение DPI:" +msgid "DPI value" +msgstr "Значение DPI" #: flatcamTools/ToolImage.py:65 msgid "Specify a DPI value for the image." @@ -11449,11 +11444,11 @@ msgid "Open a image of raster type and then import it in FlatCAM." msgstr "" "Откройте изображение растрового типа, а затем импортируйте его в FlatCAM." -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "Изображение" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "Импорт изображения" @@ -11461,10 +11456,6 @@ msgstr "Импорт изображения" msgid "Measurement" msgstr "Измеритель" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "Единицы:" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "Это единицы измерения расстояния." @@ -11498,16 +11489,16 @@ msgid "This is the measuring Stop point coordinates." msgstr "Это координаты точки остановки измерения." #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" -msgstr "Дистанция по X:" +msgid "Dx" +msgstr "Дист. по X" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 msgid "This is the distance measured over the X axis." msgstr "Это расстояние, измеренное по оси X." #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" -msgstr "Дистанция по Y:" +msgid "Dy" +msgstr "Дист. по Y" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 msgid "This is the distance measured over the Y axis." @@ -11594,12 +11585,23 @@ msgstr "[WARNING_NOTCL] Объекты не выбраны" msgid "Non-Copper Clearing" msgstr "Очиста от меди" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." msgstr "" -"Gerber объект будет очищен от излишнего медного слоя. " +"Укажите тип очищаемого объекта от избытка меди.\n" +"Это может быть типа: Гербер или Геометрия.\n" +"То, что здесь выбрано, будет диктовать вид\n" +"объектов, которые будут заполнять поле «Объект»." -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "Объект должен быть очищен от избытка меди." + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." @@ -11607,7 +11609,7 @@ msgstr "" "Пул инструментов, из которого алгоритм\n" "выберет те, которые будут использоваться для очистки меди." -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -11624,7 +11626,7 @@ msgstr "" "в результирующей геометрии. Это потому, что с некоторыми инструментами\n" "эта функция не сможет создавать геометрию рисования." -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -11649,15 +11651,11 @@ msgstr "" "инструмента» этой таблицы.
Выбор типа инструмента V-Shape " "автоматически выберет Тип операции в результирующей геометрии как Изоляция." -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "Диаметр инструмента" - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Диаметр нового инструмента для добавления в таблицу инструментов" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" @@ -11666,41 +11664,23 @@ msgstr "" "Удалить выбор инструментов в таблице инструментов\n" "сначала выбрав строку (и) в таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." -msgstr "" -"Если установлен этот флажок, используйте «остальная обработка».\n" -"В основном это очистит медь от внешних особенностей печатной платы,\n" -"используя самый большой инструмент и переходите к следующим инструментам,\n" -"от большего к меньшему, чтобы очистить участки меди, которые\n" -"не может быть очищен предыдущим инструментом, пока\n" -"больше нет меди для очистки или больше нет инструментов.\n" -"Если не проверено, используйте стандартный алгоритм." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" +msgstr "Выбор области" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." -msgstr "" -"- «Сам»: степень очистки без меди\n" -"основан на объекте, который очищен от меди.\n" -"- «Kоробка»: очистка от меди внутри коробки\n" -"указанным объектом, выбранным в работе. Объектный ящик." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" +msgstr "Ссылочный объект" -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" -msgstr "Тип ссылки:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" +msgstr "Ссылка:" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "Тип ссылки" + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -11709,42 +11689,42 @@ msgstr "" "очистке без использования меди.\n" "Это может быть Gerber, Excellon или Геометрия." -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" -msgstr "Кон. объект:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" +msgstr "Кон. объект" -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" "Объект FlatCAM, который будет использоваться как ссылка на очистку от меди." -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "Создать объект" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "" "[WARNING_NOTCL] Пожалуйста, введите диаметр инструмента для добавления в " "формате Float." -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Добавление инструмента отменено. Инструмент уже в таблице " "инструментов." -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "[success] Новый инструмент добавлен в таблицу инструментов." -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "[success] Инструмент был изменён в таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." @@ -11752,61 +11732,79 @@ msgstr "" "[WARNING_NOTCL] Правка отменена. Новое значение диаметра уже находится в " "таблице инструментов." -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Ошибка удаления. Выберите инструмент для удаления." -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "[success] Инструмент удалён из таблицы инструментов." -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "[WARNING_NOTCL] Нажмите на начальную точку области." + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "[WARNING_NOTCL] Нажмите на конечную точку области рисования." + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "Зона добавлена. Щелкните правой кнопкой мыши, чтобы закончить." + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "[ERROR_NOTCL] Значение перекрытия должно быть от 0 (включитение) до 1 " "(исключение), " -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "[ERROR_NOTCL] Нет доступных объектов." -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "[WARNING_NOTCL] Буферизация ..." -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "[success] Буферизация закончена ..." -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "[ERROR_NOTCL] Выбранный объект не подходит для очистки меди." + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" "[ERROR_NOTCL] Не удалось получить размер области, не подлежащей очистке от " "меди." -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "Очистка областей от меди." -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "" "[success] Началась очистка от меди с помощью инструмента диаметром = %s." -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "[success] NCC Tool завершён." -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." @@ -11814,19 +11812,19 @@ msgstr "" "[WARNING_NOTCL] Инструмент NCC закончен, но некоторые функции печатной платы " "не могут быть очищены. Проверить результаты." -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "" "[success] Началась очистка от остатков меди с помощью инструмента диаметром " "= %s." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -11864,19 +11862,23 @@ msgstr "[ERROR_NOTCL] Не удалось открыть PDF-файл." msgid "[success] Rendered: %s" msgstr "[success] Отрисовка: %s" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" -msgstr "Область рисования" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." +msgstr "" +"Укажите тип объекта для рисования.\n" +"Это может быть типа: Gerber или Geometriya.\n" +"То, что здесь выбрано, будет диктовать вид\n" +"объектов, которые будут заполнять поле «Объект»." -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" -msgstr "Geometry:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." +msgstr "Объект для рисования." -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "Объект Geometry для рисования. " - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." @@ -11884,7 +11886,7 @@ msgstr "" "Пул инструментов, из которого алгоритм\n" "выберет те, которые будут использоваться для окрашивания." -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -11901,11 +11903,11 @@ msgstr "" "в результирующей геометрии. Это потому, что с некоторыми инструментами\n" "эта функция не сможет создавать геометрию рисования." -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "Диаметр нового инструмента." -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -11925,74 +11927,93 @@ msgstr "" "\n" "Если не проверено, используйте стандартный алгоритм." -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -"Как выбрать полигоны для рисования.
Параметры:
- Одиночный : " -"щелкните левой кнопкой мыши на полигоне для рисования.
- Все : " -"рисовать все полигоны." +"Как выбрать полигоны для рисования.
Параметры:
- Отдельные " +"полигоны : щелкните левой кнопкой мыши на полигоне, который нужно " +"нарисовать.
- Выбор области : щелкните левой кнопкой мыши, чтобы " +"начать выделение области для рисования.
- Все полигоны : " +"закрасьте все полигоны.
- Контрольный объект : закрасьте " +"описанную область внешним эталонным объектом." -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "Единственный Полигон" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "Все полигоны" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"Тип объекта FlatCAM, который будет использоваться как ссылка для рисования.\n" +"Это может быть Gerber, Excellon или Geometry." + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "Создать Paint Geometry" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -"Нажав здесь, щелкните внутри
многоугольника, который вы хотите рисовать, " -"если выбран Одиночный .
Если выбран Все , тогда " -"рисование начнется после щелчка.
Будет создан новый объект Geometry с " -"путями инструмента
." +"- «Выбор области» - щелчок левой кнопкой мыши, чтобы начать выбор области " +"для рисования.\n" +"Удерживая нажатой клавишу-модификатор (CTRL или SHIFT), можно добавить " +"несколько областей.\n" +"- «Все полигоны» - краска начнется после щелчка.\n" +"- «Контрольный объект» - будет выполнять очистку от меди в области\n" +"указано другим объектом." -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "геометрия на кнопке рисования" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "[WARNING_NOTCL] Нажмите внутри нужного многоугольника." -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "[ERROR_NOTCL] Невозможно окрашивание multi-geo Geometries ..." -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "Отрисовка полигона..." -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "[WARNING_NOTCL] Нажмите на начальную точку области рисования." -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "[WARNING_NOTCL] Нажмите на конечную точку области рисования." - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "Готово." - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "[WARNING] Полигон не найден." -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "Отрисовка безмедного полигона." -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "[ERROR_NOTCL] Геометрия не может быть окрашена полностью" -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -12003,18 +12024,18 @@ msgstr "" "другой способ рисования\n" "%s" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "Запущена отрисовка полигона ..." -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -12025,7 +12046,7 @@ msgstr "" "другой способ рисования\n" "%s" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12037,11 +12058,11 @@ msgstr "" "Geometry .\n" "Измените параметры рисования и повторите попытку." -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "[success] Paint All выполнено." -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12053,7 +12074,7 @@ msgstr "" "Geometry.\n" "Измените параметры рисования и повторите попытку." -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "[success] Paint All with Rest-Machining done." @@ -12081,17 +12102,9 @@ msgstr "" "Объект для панелей. Это означает, что это будет\n" "дублироваться в массиве строк и столбцов." -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "Объект" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "Ограничительная рамка" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" -msgstr "Характеристики пенелизации:" +msgid "Penelization Reference" +msgstr "Характеристики пенелизации" #: flatcamTools/ToolPanelize.py:88 msgid "" @@ -12115,6 +12128,10 @@ msgstr "" "к этому эталонному объекту, следовательно, поддерживая панель\n" "объекты в синхронизации." +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "Тип рамки" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -12137,8 +12154,8 @@ msgstr "" "  выделенный объект, который должен быть панелизирован." #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" -msgstr "Данные панели:" +msgid "Panel Data" +msgstr "Данные панели" #: flatcamTools/ToolPanelize.py:136 msgid "" @@ -12156,10 +12173,6 @@ msgstr "" "Расстояние устанавливает дистанцию между любыми двумя\n" "элементами массива панели." -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "Тип панели:" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -12171,8 +12184,8 @@ msgstr "" "- Gerber" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" -msgstr "Ограничить панель внутри:" +msgid "Constrain panel within" +msgstr "Ограничить панель внутри" #: flatcamTools/ToolPanelize.py:227 msgid "Panelize Object" @@ -12188,16 +12201,16 @@ msgstr "" "Другими словами, он создает несколько копий исходного объекта,\n" "расположеных в 2D массиве строк и столбцов." -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "Панелизация" -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "[WARNING_NOTCL]Нет объекта Box. Используйте взамен %s" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." @@ -12205,15 +12218,15 @@ msgstr "" "[ERROR_NOTCL] Столбцы или строки имеют нулевое значение. Измените их на " "положительное целое число." -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "Выполняется панелизация ... Пожалуйста, подождите." -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "[success] Панель готова..." -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " @@ -12222,7 +12235,7 @@ msgstr "" "[WARNING] Слишком большой для зоны ограничения. Последняя панель содержит " "столбцы {col} и строки {row}" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "[success] Панелизация успешно выполнена." @@ -12235,12 +12248,12 @@ msgid "Import 2-file Excellon" msgstr "Импорт 2-х файлов Excellon" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" -msgstr "Загрузка файлов:" +msgid "Load files" +msgstr "Загрузка файлов" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" -msgstr "Excellon файл:" +msgid "Excellon file" +msgstr "Excellon файл" #: flatcamTools/ToolPcbWizard.py:59 msgid "" @@ -12251,8 +12264,8 @@ msgstr "" "Обычно он имеет расширение .DRL" #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" -msgstr "INF файл:" +msgid "INF file" +msgstr "INF файл" #: flatcamTools/ToolPcbWizard.py:67 msgid "Load the INF file." @@ -12267,20 +12280,20 @@ msgid "Tool diameter in file units." msgstr "Диаметр инструмента в файловых единицах." #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" -msgstr "Формат excellon:" +msgid "Excellon format" +msgstr "Формат Excellon" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" -msgstr "Целые цифры:" +msgid "Int. digits" +msgstr "Целые цифры" #: flatcamTools/ToolPcbWizard.py:97 msgid "The number of digits for the integral part of the coordinates." msgstr "Количество цифр для неотъемлемой части координат." #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" -msgstr "Дробные цифры:" +msgid "Frac. digits" +msgstr "Дробные цифры" #: flatcamTools/ToolPcbWizard.py:106 msgid "The number of digits for the fractional part of the coordinates." @@ -12291,8 +12304,8 @@ msgid "No Suppression" msgstr "Нет подавления" #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" -msgstr "Подд. нулей:" +msgid "Zeros supp." +msgstr "Подд. нулей" #: flatcamTools/ToolPcbWizard.py:116 msgid "" @@ -12308,10 +12321,6 @@ msgstr "" "- TZ = конечные нули сохраняются\n" "- Нет подавления = нет подавления нуля" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "Единицы" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -12336,19 +12345,19 @@ msgstr "" "Один обычно имеет расширение .DRL, а\n" "другой имеет расширение .INF." -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "Инструмент PCBWizard" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "Загрузить Excellon-файл PcbWizard" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "Загрузить INF-файл PcbWizard" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" @@ -12358,54 +12367,112 @@ msgstr "" "Попробуйте открыть Excellon из меню Файл- > Открыть - > Открыть Excellon\n" "и отредактируйте диаметр сверла вручную." -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "[success] Inf-файл PcbWizard загружен." -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "[success] Файл PcbWizard Excellon загружен." -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "[ERROR_NOTCL] Не удается прочитать файл: %s" -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "Импортирование Excellon." -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "[ERROR_NOTCL] Не удалось импортировать файл Excellon." -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "[success] Импортирован: %s" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "" "[WARNING_NOTCL] Слияние Excellon продолжается. Пожалуйста, подождите..." -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "[ERROR_NOTCL] Импортированный файл Excellon есть None." -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "" "[ERROR_NOTCL] Инструмент \"Свойства\" не отображается. Объект не выбран." -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "[success] Отображены свойства объекта." -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "Свойства" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "ТИП" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "НАЗВАНИЕ" + +#: flatcamTools/ToolProperties.py:127 +msgid "Dimensions" +msgstr "Размеры" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "Опции" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "Тип рамки" + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "Одиночный" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "Мультипроход" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "Ширина" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "Рабочая область" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "Выпуклая область корпуса" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "дюйм" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "метрический" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "настоящее время" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "Никто" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "...обработка..." @@ -12471,8 +12538,8 @@ msgid "Generate solder paste dispensing geometry." msgstr "Создание геометрии дозирования паяльной пасты." #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" -msgstr "ШАГ 1:" +msgid "STEP 1" +msgstr "ШАГ 1" #: flatcamTools/ToolSolderPaste.py:144 msgid "" @@ -12511,8 +12578,8 @@ msgstr "" "на печатной плате." #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" -msgstr "ШАГ 2:" +msgid "STEP 2" +msgstr "ШАГ 2" #: flatcamTools/ToolSolderPaste.py:308 msgid "" @@ -12523,8 +12590,8 @@ msgstr "" "геометрия из файла паяльной маски Gerber." #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" -msgstr "Результ. Geo:" +msgid "Geo Result" +msgstr "Результ. Geo" #: flatcamTools/ToolSolderPaste.py:326 msgid "" @@ -12537,8 +12604,8 @@ msgstr "" "«_solderpaste» в качестве защиты." #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" -msgstr "ШАГ 3:" +msgid "STEP 3" +msgstr "ШАГ 3" #: flatcamTools/ToolSolderPaste.py:337 msgid "" @@ -12557,8 +12624,8 @@ msgstr "" "и только после этого вы можете сгенерировать обновленный CNCJob." #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" -msgstr "Результ. CNC:" +msgid "CNC Result" +msgstr "Результ. CNC" #: flatcamTools/ToolSolderPaste.py:359 msgid "" @@ -12597,8 +12664,8 @@ msgstr "" "на печатную платау, в файл." #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" -msgstr "ШАГ 4:" +msgid "STEP 4" +msgstr "ШАГ 4" #: flatcamTools/ToolSolderPaste.py:383 msgid "" @@ -12612,47 +12679,47 @@ msgstr "" msgid "Delete Object" msgstr "Удалить объект" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "[WARNING_NOTCL] Добавление инструмента Сопло отменено. Инструмент уже в " "таблице инструментов." -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "[success] Новое сопло добавлено в таблицу инструментов." -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "[success] Сопло было изменено в таблице инструментов." -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "" "[WARNING_NOTCL] Удалить не удалось. Выберите инструмент Сопла для удаления." -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "[success] Сопло удалено из таблицы инструментов." -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "[WARNING_NOTCL] Нет загруженного Gerber объекта маски паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "Создание геометрии дозирования паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "[WARNING_NOTCL] Нет инструментов сопла в таблице инструментов." -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "[success] Геометрия дозатора паяльной пасты успешно создана..." -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." @@ -12660,15 +12727,15 @@ msgstr "" "[WARNING_NOTCL] Некоторые или все прокладки не имеют припоя из-за " "недостаточного диаметра сопла ..." -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "Генерация геометрии дозирования паяльной пасты ..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "[WARNING_NOTCL] Объект Geometry недоступен." -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." @@ -12676,13 +12743,13 @@ msgstr "" "[WARNING_NOTCL] Эта геометрия не может быть обработана. НЕ паяльная паста " "геометрия инструмента." -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "[success] CNCjob дозатора паяльной пасты создан: %s" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." @@ -12690,33 +12757,33 @@ msgstr "" "[WARNING_NOTCL] Этот объект CNCJob не может быть обработан. Нет CNCJob " "объекта паяльной пасты." -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "[ERROR_NOTCL] Нет Gcode в этом объекте......" -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "Экспорт GCode ..." -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "[success] Файл GCode дозатора паяльной пасты сохранён в: %s" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" -msgstr "Объекты Gerber" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" +msgstr "Gerber Объекты" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" -msgstr "Цель:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" +msgstr "Цель" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." @@ -12724,11 +12791,11 @@ msgstr "" "Гербер объект, из которого вычитать\n" "вычитатель объекта Гербера." -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" -msgstr "Вычитатель:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" +msgstr "Вычитатель" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." @@ -12736,11 +12803,11 @@ msgstr "" "Гербер объект, который будет вычтен\n" "от целевого объекта Гербера." -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "Вычесть Gerber" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -12752,11 +12819,11 @@ msgstr "" "Может использоваться для удаления перекрывающей шелкографии\n" "над маской припоя." -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" -msgstr "Объекты Geometry" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" +msgstr "Геометрия Объекты" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." @@ -12764,7 +12831,7 @@ msgstr "" "Объект геометрии, из которого будет вычетать\n" "вычитатель объекта Geometry." -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." @@ -12772,11 +12839,11 @@ msgstr "" "Объект Geometry, который будет вычтен\n" "от целевого объекта Geometry." -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "Вычесть Geometry" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." @@ -12784,48 +12851,49 @@ msgstr "" "Удалит область, занятую вычитателем\n" "из целевой геометрии." -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "Вычитатель" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "[ERROR_NOTCL] Нет загруженного целевого объекта." -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "[ERROR_NOTCL] Нет загруженного объекта Вычитателя." -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "Разбор апертуры %s геометрии ..." -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "Генерация нового объекта ..." -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "[ERROR_NOTCL] Не удалось создать новый объект." -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "[success] Создан: %s" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" "[ERROR_NOTCL] В настоящее время Substractor geometry не может иметь тип " "Multigeo." -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "Разбор solid_geometry ..." -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "Разбор инструмента %s геометрии ..." @@ -12864,15 +12932,7 @@ msgstr "" "Точка отсчета зависит от\n" "состояние флажка Scale Reference." -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" -"Масштабирование выбранных объектов\n" -"используя коэффициент X для обеих осей." - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" @@ -12882,7 +12942,7 @@ msgstr "" "Точка отсчета - середина\n" "ограничительной рамки для всех выбранных объектов.\n" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" @@ -12892,59 +12952,451 @@ msgstr "" "Не создает новую фугуру.\n" " " -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите объект для поворота!" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "Объекты CNCJob не могут вращаться." -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "[success] Поворот выполнен ..." -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите объект, чтобы " "перевернуть!" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "Объекты CNCJob не могут быть зеркалировны/отражены." -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите объект для сдвига / " "перекоса!" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "CNCJob объекты не могут быть наклонены." -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите объект для " "масштабирования!" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "CNCJob объекты не могут быть масштабированы." -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "" "[WARNING_NOTCL] Объект не выбран. Пожалуйста, выберите объект для смещения!" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "Объекты CNCJob не могут быть смещены." +#~ msgid "Apertures:" +#~ msgstr "Отверстия:" + +#~ msgid "Aperture Code:" +#~ msgstr "Код отверстия:" + +#~ msgid "Languages:" +#~ msgstr "Язык:" + +#~ msgid "Width (# passes):" +#~ msgstr "Кол-во проходов:" + +#~ msgid "Clear non-copper" +#~ msgstr "Очистка меди" + +#~ msgid "Rounded corners" +#~ msgstr "Закруглять углы" + +#~ msgid "" +#~ "Creates a Geometry objects with polygons\n" +#~ "covering the copper-free areas of the PCB." +#~ msgstr "" +#~ "Создает объект геометрии с полигонами\n" +#~ "охватывающими неомедненные области печатной платы." + +#~ msgid "Bounding Box:" +#~ msgstr "Ограничительная рамка:" + +#~ msgid "Units:" +#~ msgstr "Единицы:" + +#~ msgid "Zeros:" +#~ msgstr "Нули:" + +#~ msgid "INCH:" +#~ msgstr "ДЮЙМЫ:" + +#~ msgid "Tool change:" +#~ msgstr "Смена инструмента:" + +#~ msgid "Toolchange Z position." +#~ msgstr "Позиция Z смены инструмента." + +#~ msgid "Feedrate:" +#~ msgstr "Скорость подачи:" + +#~ msgid "" +#~ "Tool speed while drilling\n" +#~ "(in units per minute)." +#~ msgstr "" +#~ "Настройка скорости подачи при сверлении \n" +#~ "(в единицах в минуту)." + +#~ msgid "Gcode: " +#~ msgstr "Gcode: " + +#~ msgid "Offset Z:" +#~ msgstr "Смещение Z:" + +#~ msgid "Slots:" +#~ msgstr "щель:" + +#~ msgid "Create CNC Job:" +#~ msgstr "Создание программы для ЧПУ:" + +#~ msgid "Multidepth" +#~ msgstr "Мультипроход" + +#~ msgid "Multidepth usage: True or False." +#~ msgstr "Многократное использование: Истина или Ложь." + +#~ msgid "" +#~ "The postprocessor file that dictates\n" +#~ "Machine Code output." +#~ msgstr "" +#~ "Файл постпроцессора, который диктует\n" +#~ "Вывод машинного кода." + +#~ msgid "Display Annotation:" +#~ msgstr "Показывать подписи:" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to be executed when Toolchange event is encountered.\n" +#~ "This will constitute a Custom Toolchange GCode,\n" +#~ "or a Toolchange Macro." +#~ msgstr "" +#~ "Введите здесь любые G-Code команды, которые вам понадобится\n" +#~ "выполнить при смене инструмента.\n" +#~ "Это будет представлять собой пользовательский GCode смены инструмента,\n" +#~ "или макрос смены инструмента." + +#~ msgid "" +#~ "If checked, use 'rest machining'.\n" +#~ "Basically it will clear copper outside PCB features,\n" +#~ "using the biggest tool and continue with the next tools,\n" +#~ "from bigger to smaller, to clear areas of copper that\n" +#~ "could not be cleared by previous tool.\n" +#~ "If not checked, use the standard algorithm." +#~ msgstr "" +#~ "Если флажок установлен, используется \"остальные обработки\".\n" +#~ "Это очистит основную медь снаружи печатных плат ,\n" +#~ "используя самый большой инструмент и перейдёт к следующему инструменту,\n" +#~ "от большего к меньшему, чтобы очистить участки меди, которые\n" +#~ "не удалось очистить предыдущим инструментом.\n" +#~ "Если флажок не установлен, используется стандартный алгоритм." + +#~ msgid "Offset:" +#~ msgstr "Oфсет:" + +#~ msgid "" +#~ "When choosing the 'Itself' option the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " Choosing the 'Box' option will do non copper clearing within the box\n" +#~ "specified by another object different than the one that is copper cleared." +#~ msgstr "" +#~ "При выборе опции «Сама» степень очистки без меди\n" +#~ "основан на объекте, который очищен от меди.\n" +#~ "Выбор опции «Kоробка» сделает очистку без меди внутри коробки\n" +#~ "указан другим объектом, отличным от того, который очищен от меди." + +#~ msgid "" +#~ "Distance from objects at which\n" +#~ "to draw the cutout." +#~ msgstr "" +#~ "Расстояние от объектов вокруг которых\n" +#~ "будет нарисовано очертание." + +#~ msgid "" +#~ "Size of the gaps in the toolpath\n" +#~ "that will remain to hold the\n" +#~ "board in place." +#~ msgstr "" +#~ "Размер перемычек для удержания\n" +#~ "печатной платы в заготовке." + +#~ msgid "Create a convex shape surrounding the entire PCB." +#~ msgstr "Создайте выпуклую форму, окружающую печатную плату." + +#~ msgid "" +#~ "The axis should pass through a point or cut\n" +#~ " a specified box (in a Geometry object) in \n" +#~ "the middle." +#~ msgstr "" +#~ "Ось должна проходить через точку или вырезать\n" +#~ " указанное поле (в Geometry объект) в\n" +#~ "середине." + +#~ msgid "" +#~ "How much (fraction) of the tool\n" +#~ "width to overlap each tool pass." +#~ msgstr "" +#~ "Размер части ширины инструмента \n" +#~ "который будет перекрываться за каждый проход." + +#~ msgid "" +#~ "How to select the polygons to paint.
Options:
- Single: left " +#~ "mouse click on the polygon to be painted.
- Area: left mouse " +#~ "click to start selection of the area to be painted.
- All: " +#~ "paint all polygons.
- Ref: paint an area described by an " +#~ "external reference object." +#~ msgstr "" +#~ "Как выбрать полигоны для рисования.
Параметры:
- Одиночный : щелкните левой кнопкой мыши на полигоне для рисования.
- " +#~ "Площадь : слева щелкните мышью, чтобы начать выделение области для " +#~ "рисования.
- Все : закрасить все многоугольники.
- " +#~ "Ссылка : закрасить область, описанную внешней ссылкой объект." + +#~ msgid "Panel Type:" +#~ msgstr "Тип панели:" + +#~ msgid "Tip angle:" +#~ msgstr "Угол наклона:" + +#~ msgid "Angle for rotation. In degrees." +#~ msgstr "Угол поворота. В градусах." + +#~ msgid "Angle for Skew/Shear on X axis. In degrees." +#~ msgstr "Угол наклона/сдвига по оси X. В градусах." + +#~ msgid "Angle for Skew/Shear on Y axis. In degrees." +#~ msgstr "Угол наклона/сдвига по оси Y. В градусах." + +#~ msgid "XY Toolchange:" +#~ msgstr "XY смены инструмента:" + +#~ msgid "PostProcessors:" +#~ msgstr "Постпроцессоры:" + +#~ msgid "Scale:" +#~ msgstr "Масштаб:" + +#~ msgid "Offset:" +#~ msgstr "Смещение:" + +#~ msgid "Combine" +#~ msgstr "Комбинировать" + +#~ msgid "Tools Table" +#~ msgstr "Таблица инструментов" + +#~ msgid "" +#~ "Tool height just before starting the work.\n" +#~ "Delete the value if you don't need this feature." +#~ msgstr "" +#~ "Высота положения инструмента непосредственно перед началом работы.\n" +#~ "Удалите значение если вам не нужна эта функция." + +#~ msgid "" +#~ "Z-axis position (height) for\n" +#~ "the last move." +#~ msgstr "" +#~ "Положение оси Z (высота) для\n" +#~ "следующего прохода." + +#~ msgid "" +#~ "The json file that dictates\n" +#~ "gcode output." +#~ msgstr "" +#~ "Файл json, который диктует\n" +#~ "выход УП." + +#~ msgid "Type: " +#~ msgstr "Тип: " + +#~ msgid "Drills Tool dia:" +#~ msgstr "Диам. свёрел:" + +#~ msgid "Slots Tool dia:" +#~ msgstr "Диаметр инструмента пазов:" + +#~ msgid "Tool Dia:" +#~ msgstr "Диам. инструмента:" + +#~ msgid "Tool Data" +#~ msgstr "Данные инструмента" + +#~ msgid "" +#~ "This is the height (Z) at which the CNC\n" +#~ "will go as the last move." +#~ msgstr "" +#~ "Это высота (Z), на которой ЧПУ\n" +#~ "пойдет как последний ход." + +#~ msgid "Feed Rate Z (Plunge):" +#~ msgstr "Скорость подачи Z (подвод):" + +#~ msgid "" +#~ "Cutting speed in the Z\n" +#~ "plane in units per minute" +#~ msgstr "" +#~ "Скорость резания в Z\n" +#~ "самолет в единицах измерения в минуту" + +#~ msgid "" +#~ "Cutting speed in the XY\n" +#~ "plane in units per minute\n" +#~ "(in units per minute).\n" +#~ "This is for the rapid move G00.\n" +#~ "It is useful only for Marlin,\n" +#~ "ignore for any other cases." +#~ msgstr "" +#~ "Скорость резания в XY\n" +#~ "самолет в единицах измерения в минуту\n" +#~ "(в единицах измерения в минуту).\n" +#~ "Это для быстрого перемещения G00.\n" +#~ "Это полезно только для Марлина,\n" +#~ "игнорировать для любых других случаев." + +#~ msgid "Cut over 1st pt" +#~ msgstr "Вырезать над 1-й пт" + +#~ msgid "Paint Area:" +#~ msgstr "Область рисования:" + +#~ msgid "CNC Tools Table" +#~ msgstr "Таблица инструментов" + +#~ msgid "" +#~ "Type here any G-Code commands you would\n" +#~ "like to add to the beginning of the generated file." +#~ msgstr "" +#~ "Введите здесь любые G-Code команды, которые вы\n" +#~ "хотели бы добавить в начале генерируемого файла." + +#~ msgid "" +#~ "This is the diameter of the tool tip.\n" +#~ "The manufacturer specifies it." +#~ msgstr "" +#~ "Это диаметр наконечника инструмента.\n" +#~ "Производитель указывает его." + +#~ msgid "Object:" +#~ msgstr "Объект:" + +#~ msgid "Units:" +#~ msgstr "Единицы:" + +#~ msgid "" +#~ "- 'Itself': the non copper clearing extent\n" +#~ "is based on the object that is copper cleared.\n" +#~ " - 'Box': will do non copper clearing within the box\n" +#~ "specified by the object selected in the Ref. Object combobox." +#~ msgstr "" +#~ "- «Сам»: степень очистки без меди\n" +#~ "основан на объекте, который очищен от меди.\n" +#~ "- «Kоробка»: очистка от меди внутри коробки\n" +#~ "указанным объектом, выбранным в работе. Объектный ящик." + +#~ msgid "Geometry:" +#~ msgstr "Geometry:" + +#~ msgid "Geometry object to be painted. " +#~ msgstr "Объект Geometry для рисования. " + +#~ msgid "" +#~ "After clicking here, click inside
the polygon you wish to be painted " +#~ "if Single is selected.
If Area is selected, then the " +#~ "selection of the area to be painted
will be initiated by a first click " +#~ "and finished by the second mouse click.
If All is selected " +#~ "then the Paint will start after click.
If Ref is selected then " +#~ "the Paint will start after click,
and the painted area will be " +#~ "described by a selected object.
A new Geometry object with the tool " +#~ "paths will be created." +#~ msgstr "" +#~ "После нажатия здесь щелкните внутри
многоугольника, который вы " +#~ "хотите нарисовать, если выбрано не замужем.
Если выбрано " +#~ "Area , то выбор области для быть нарисованным
Если выбрано " +#~ "Все , то рисование начнется после щелчка.
Если Ссылка " +#~ "выбирается, после чего начинается щелчок Paint,
и окрашенная область " +#~ "будет описываться выделенным объектом.
Будет создан новый объект " +#~ "Geometry с путями инструмента." + +#~ msgid "Done." +#~ msgstr "Готово." + +#~ msgid "" +#~ "Scale the selected object(s)\n" +#~ "using the Scale Factor X for both axis." +#~ msgstr "" +#~ "Масштабирование выбранных объектов\n" +#~ "используя коэффициент X для обеих осей." + +#~ msgid "Excellon Format:" +#~ msgstr "Формат Excellon:" + +#~ msgid "Tools:" +#~ msgstr "Инструменты:" + +#~ msgid "Export G-Code:" +#~ msgstr "Экспорт G-Code:" + +#~ msgid "How to select the polygons to paint." +#~ msgstr "Как выбирать полигоны для рисования." + +#~ msgid "V-Shape Tool Calculator:" +#~ msgstr "Калькулятор V-образного инструмента:" + +#~ msgid "ElectroPlating Calculator:" +#~ msgstr "Калькулятор электронных плат:" + +#~ msgid "Name:" +#~ msgstr "Имя:" + +#~ msgid "Plot kind:" +#~ msgstr "Вид участка:" + +#~ msgid "Display Annotation:" +#~ msgstr "Показывать подписи:" + +#~ msgid "GERBER:" +#~ msgstr "GERBER:" + +#~ msgid "EXCELLON:" +#~ msgstr "EXCELLON:" + +#~ msgid "GEOMETRY:" +#~ msgstr "GEOMETRY:" + +#~ msgid "Panel Type:" +#~ msgstr "Тип панели:" + +#~ msgid "Excellon format:" +#~ msgstr "Формат excellon:" + +#~ msgid "Gerber Objects" +#~ msgstr "Объекты Gerber" + +#~ msgid "Geometry Objects" +#~ msgstr "Объекты Geometry" + #~ msgid "Save &Defaults" #~ msgstr "Сохранить &настройки" diff --git a/locale_template/strings.pot b/locale_template/strings.pot index 034ef3d4..8b1eada9 100644 --- a/locale_template/strings.pot +++ b/locale_template/strings.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-08-17 15:12+0300\n" +"POT-Creation-Date: 2019-08-23 22:35+0300\n" "PO-Revision-Date: 2019-03-25 15:08+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -23,166 +23,172 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:323 FlatCAMApp.py:6425 -msgid "New Project - Not saved" -msgstr "" - -#: FlatCAMApp.py:1015 +#: FlatCAMApp.py:1053 msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" -#: FlatCAMApp.py:1932 +#: FlatCAMApp.py:1587 +msgid "Detachable Tabs" +msgstr "" + +#: FlatCAMApp.py:1977 msgid "" "(Type help to get started)\n" "\n" msgstr "" -#: FlatCAMApp.py:2120 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 -#: flatcamTools/ToolPcbWizard.py:296 flatcamTools/ToolPcbWizard.py:319 +#: FlatCAMApp.py:2172 FlatCAMApp.py:6595 +msgid "New Project - Not saved" +msgstr "" + +#: FlatCAMApp.py:2205 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "" -#: FlatCAMApp.py:2134 +#: FlatCAMApp.py:2220 msgid "Open Config file failed." msgstr "" -#: FlatCAMApp.py:2148 +#: FlatCAMApp.py:2234 msgid "Open Script file failed." msgstr "" -#: FlatCAMApp.py:2371 +#: FlatCAMApp.py:2440 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2453 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" "Edit only one geometry at a time." msgstr "" -#: FlatCAMApp.py:2438 +#: FlatCAMApp.py:2507 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "" -#: FlatCAMApp.py:2456 +#: FlatCAMApp.py:2525 msgid "Do you want to save the edited object?" msgstr "" -#: FlatCAMApp.py:2457 flatcamGUI/FlatCAMGUI.py:1701 +#: FlatCAMApp.py:2526 flatcamGUI/FlatCAMGUI.py:1703 msgid "Close Editor" msgstr "" -#: FlatCAMApp.py:2460 FlatCAMApp.py:3576 FlatCAMApp.py:5457 FlatCAMApp.py:6334 +#: FlatCAMApp.py:2529 FlatCAMApp.py:3654 FlatCAMApp.py:5627 FlatCAMApp.py:6504 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 -#: flatcamGUI/FlatCAMGUI.py:3892 +#: flatcamGUI/FlatCAMGUI.py:3945 msgid "Yes" msgstr "" -#: FlatCAMApp.py:2461 FlatCAMApp.py:3577 FlatCAMApp.py:5458 FlatCAMApp.py:6335 +#: FlatCAMApp.py:2530 FlatCAMApp.py:3655 FlatCAMApp.py:5628 FlatCAMApp.py:6505 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3893 +#: flatcamGUI/FlatCAMGUI.py:3946 flatcamGUI/FlatCAMGUI.py:6372 +#: flatcamGUI/FlatCAMGUI.py:6702 flatcamTools/ToolNonCopperClear.py:145 +#: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "" -#: FlatCAMApp.py:2462 FlatCAMApp.py:3578 FlatCAMApp.py:4013 FlatCAMApp.py:4993 -#: FlatCAMApp.py:6336 +#: FlatCAMApp.py:2531 FlatCAMApp.py:3656 FlatCAMApp.py:4176 FlatCAMApp.py:5163 +#: FlatCAMApp.py:6506 msgid "Cancel" msgstr "" -#: FlatCAMApp.py:2489 +#: FlatCAMApp.py:2558 msgid "[WARNING] Object empty after edit." msgstr "" -#: FlatCAMApp.py:2511 FlatCAMApp.py:2530 FlatCAMApp.py:2542 +#: FlatCAMApp.py:2580 FlatCAMApp.py:2599 FlatCAMApp.py:2611 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" -#: FlatCAMApp.py:2514 +#: FlatCAMApp.py:2583 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "" -#: FlatCAMApp.py:2879 +#: FlatCAMApp.py:2948 msgid "[ERROR] Could not load defaults file." msgstr "" -#: FlatCAMApp.py:2891 +#: FlatCAMApp.py:2960 msgid "[ERROR] Failed to parse defaults file." msgstr "" -#: FlatCAMApp.py:2912 FlatCAMApp.py:2916 +#: FlatCAMApp.py:2981 FlatCAMApp.py:2985 msgid "Import FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2991 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "" -#: FlatCAMApp.py:2930 FlatCAMApp.py:2989 FlatCAMApp.py:3455 +#: FlatCAMApp.py:2999 FlatCAMApp.py:3058 FlatCAMApp.py:3530 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "" -#: FlatCAMApp.py:2938 FlatCAMApp.py:3464 +#: FlatCAMApp.py:3007 FlatCAMApp.py:3539 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "" -#: FlatCAMApp.py:2942 +#: FlatCAMApp.py:3011 #, python-format msgid "[success] Imported Defaults from %s" msgstr "" -#: FlatCAMApp.py:2957 FlatCAMApp.py:2962 +#: FlatCAMApp.py:3026 FlatCAMApp.py:3031 msgid "Export FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:2969 +#: FlatCAMApp.py:3038 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "" -#: FlatCAMApp.py:2977 FlatCAMApp.py:4804 FlatCAMApp.py:7270 FlatCAMApp.py:7380 -#: FlatCAMApp.py:7501 FlatCAMApp.py:7556 FlatCAMApp.py:7667 FlatCAMApp.py:7790 -#: FlatCAMObj.py:5875 flatcamTools/ToolSolderPaste.py:1400 +#: FlatCAMApp.py:3046 FlatCAMApp.py:4974 FlatCAMApp.py:7446 FlatCAMApp.py:7559 +#: FlatCAMApp.py:7682 FlatCAMApp.py:7739 FlatCAMApp.py:7852 FlatCAMApp.py:7977 +#: FlatCAMObj.py:5888 flatcamTools/ToolSolderPaste.py:1405 msgid "" "[WARNING] Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." msgstr "" -#: FlatCAMApp.py:3008 FlatCAMApp.py:3509 +#: FlatCAMApp.py:3077 FlatCAMApp.py:3584 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "" -#: FlatCAMApp.py:3068 +#: FlatCAMApp.py:3137 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" -#: FlatCAMApp.py:3078 +#: FlatCAMApp.py:3147 msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." msgstr "" -#: FlatCAMApp.py:3155 camlib.py:4466 +#: FlatCAMApp.py:3229 camlib.py:4501 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:3156 +#: FlatCAMApp.py:3230 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" "\n" msgstr "" -#: FlatCAMApp.py:3176 +#: FlatCAMApp.py:3250 msgid "Converting units to " msgstr "" -#: FlatCAMApp.py:3255 FlatCAMApp.py:3258 FlatCAMApp.py:3261 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3327 FlatCAMApp.py:3330 FlatCAMApp.py:3333 FlatCAMApp.py:3336 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}" msgstr "" -#: FlatCAMApp.py:3360 +#: FlatCAMApp.py:3432 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -196,45 +202,45 @@ msgid "" "downloads/\">here.
" msgstr "" -#: FlatCAMApp.py:3393 +#: FlatCAMApp.py:3465 msgid "Close" msgstr "" -#: FlatCAMApp.py:3513 +#: FlatCAMApp.py:3588 msgid "[success] Defaults saved." msgstr "" -#: FlatCAMApp.py:3534 +#: FlatCAMApp.py:3612 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "" -#: FlatCAMApp.py:3543 +#: FlatCAMApp.py:3621 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "" -#: FlatCAMApp.py:3557 +#: FlatCAMApp.py:3635 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3639 msgid "Factory defaults saved." msgstr "" -#: FlatCAMApp.py:3566 flatcamGUI/FlatCAMGUI.py:3228 +#: FlatCAMApp.py:3644 flatcamGUI/FlatCAMGUI.py:3282 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "" -#: FlatCAMApp.py:3571 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:3649 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" msgstr "" -#: FlatCAMApp.py:3574 FlatCAMApp.py:6332 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:3652 FlatCAMApp.py:6502 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "" -#: FlatCAMApp.py:3645 +#: FlatCAMApp.py:3808 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -244,541 +250,541 @@ msgid "" "Check the generated GCODE." msgstr "" -#: FlatCAMApp.py:3686 +#: FlatCAMApp.py:3849 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" -#: FlatCAMApp.py:3708 +#: FlatCAMApp.py:3871 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" -#: FlatCAMApp.py:3723 FlatCAMApp.py:3748 +#: FlatCAMApp.py:3886 FlatCAMApp.py:3911 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" -#: FlatCAMApp.py:3727 FlatCAMApp.py:3752 +#: FlatCAMApp.py:3890 FlatCAMApp.py:3915 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "" -#: FlatCAMApp.py:3740 +#: FlatCAMApp.py:3903 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "" -#: FlatCAMApp.py:3766 +#: FlatCAMApp.py:3929 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "" -#: FlatCAMApp.py:4007 +#: FlatCAMApp.py:4170 msgid "Toggle Units" msgstr "" -#: FlatCAMApp.py:4009 -msgid "Change project units ..." +#: FlatCAMApp.py:4172 +msgid "Change project units ..." msgstr "" -#: FlatCAMApp.py:4010 +#: FlatCAMApp.py:4173 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" "Continue?" msgstr "" -#: FlatCAMApp.py:4012 FlatCAMApp.py:4887 FlatCAMApp.py:4992 FlatCAMApp.py:6610 -#: FlatCAMApp.py:6623 FlatCAMApp.py:6863 FlatCAMApp.py:6873 +#: FlatCAMApp.py:4175 FlatCAMApp.py:5057 FlatCAMApp.py:5162 FlatCAMApp.py:6780 +#: FlatCAMApp.py:6793 FlatCAMApp.py:7033 FlatCAMApp.py:7043 msgid "Ok" msgstr "" -#: FlatCAMApp.py:4060 +#: FlatCAMApp.py:4223 #, python-format msgid "[success] Converted units to %s" msgstr "" -#: FlatCAMApp.py:4071 +#: FlatCAMApp.py:4234 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "" -#: FlatCAMApp.py:4753 +#: FlatCAMApp.py:4923 msgid "Open file" msgstr "" -#: FlatCAMApp.py:4784 FlatCAMApp.py:4789 +#: FlatCAMApp.py:4954 FlatCAMApp.py:4959 msgid "Export G-Code ..." msgstr "" -#: FlatCAMApp.py:4792 +#: FlatCAMApp.py:4962 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "" -#: FlatCAMApp.py:4801 +#: FlatCAMApp.py:4971 msgid "[WARNING] No such file or directory" msgstr "" -#: FlatCAMApp.py:4812 +#: FlatCAMApp.py:4982 #, python-format msgid "Saved to: %s" msgstr "" -#: FlatCAMApp.py:4875 FlatCAMApp.py:4908 FlatCAMApp.py:4919 FlatCAMApp.py:4930 -#: flatcamTools/ToolNonCopperClear.py:615 flatcamTools/ToolSolderPaste.py:767 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5078 FlatCAMApp.py:5089 FlatCAMApp.py:5100 +#: flatcamTools/ToolNonCopperClear.py:693 flatcamTools/ToolSolderPaste.py:772 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." msgstr "" -#: FlatCAMApp.py:4880 FlatCAMApp.py:4913 FlatCAMApp.py:4924 FlatCAMApp.py:4935 -#: flatcamGUI/FlatCAMGUI.py:3111 +#: FlatCAMApp.py:5050 FlatCAMApp.py:5083 FlatCAMApp.py:5094 FlatCAMApp.py:5105 +#: flatcamGUI/FlatCAMGUI.py:3138 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "" -#: FlatCAMApp.py:4883 +#: FlatCAMApp.py:5053 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." msgstr "" -#: FlatCAMApp.py:4987 +#: FlatCAMApp.py:5157 msgid "Delete objects" msgstr "" -#: FlatCAMApp.py:4990 +#: FlatCAMApp.py:5160 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" msgstr "" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5189 msgid "Object(s) deleted ..." msgstr "" -#: FlatCAMApp.py:5023 +#: FlatCAMApp.py:5193 msgid "Failed. No object(s) selected..." msgstr "" -#: FlatCAMApp.py:5025 +#: FlatCAMApp.py:5195 msgid "Save the work in Editor and try again ..." msgstr "" -#: FlatCAMApp.py:5055 +#: FlatCAMApp.py:5225 msgid "Click to set the origin ..." msgstr "" -#: FlatCAMApp.py:5067 +#: FlatCAMApp.py:5237 msgid "Jump to ..." msgstr "" -#: FlatCAMApp.py:5068 +#: FlatCAMApp.py:5238 msgid "Enter the coordinates in format X,Y:" msgstr "" -#: FlatCAMApp.py:5075 +#: FlatCAMApp.py:5245 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "" -#: FlatCAMApp.py:5093 flatcamEditors/FlatCAMExcEditor.py:3404 -#: flatcamEditors/FlatCAMExcEditor.py:3411 -#: flatcamEditors/FlatCAMGeoEditor.py:3706 -#: flatcamEditors/FlatCAMGeoEditor.py:3720 -#: flatcamEditors/FlatCAMGrbEditor.py:1040 -#: flatcamEditors/FlatCAMGrbEditor.py:1141 -#: flatcamEditors/FlatCAMGrbEditor.py:1409 -#: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:4117 -#: flatcamEditors/FlatCAMGrbEditor.py:4131 flatcamGUI/FlatCAMGUI.py:2503 -#: flatcamGUI/FlatCAMGUI.py:2515 +#: FlatCAMApp.py:5263 flatcamEditors/FlatCAMExcEditor.py:3422 +#: flatcamEditors/FlatCAMExcEditor.py:3429 +#: flatcamEditors/FlatCAMGeoEditor.py:3747 +#: flatcamEditors/FlatCAMGeoEditor.py:3761 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4153 +#: flatcamEditors/FlatCAMGrbEditor.py:4167 flatcamGUI/FlatCAMGUI.py:2530 +#: flatcamGUI/FlatCAMGUI.py:2542 msgid "[success] Done." msgstr "" -#: FlatCAMApp.py:5225 FlatCAMApp.py:5292 +#: FlatCAMApp.py:5395 FlatCAMApp.py:5462 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" -#: FlatCAMApp.py:5333 +#: FlatCAMApp.py:5503 msgid "[success] Origin set ..." msgstr "" -#: FlatCAMApp.py:5352 flatcamGUI/GUIElements.py:1375 +#: FlatCAMApp.py:5522 flatcamGUI/GUIElements.py:1439 msgid "Preferences" msgstr "" -#: FlatCAMApp.py:5418 +#: FlatCAMApp.py:5588 msgid "[WARNING_NOTCL] Preferences edited but not saved." msgstr "" -#: FlatCAMApp.py:5452 +#: FlatCAMApp.py:5622 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" msgstr "" -#: FlatCAMApp.py:5454 flatcamGUI/FlatCAMGUI.py:197 flatcamGUI/FlatCAMGUI.py:977 +#: FlatCAMApp.py:5624 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:979 msgid "Save Preferences" msgstr "" -#: FlatCAMApp.py:5466 +#: FlatCAMApp.py:5636 msgid "[success] Preferences saved." msgstr "" -#: FlatCAMApp.py:5481 +#: FlatCAMApp.py:5651 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "" -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5676 msgid "[success] Flip on Y axis done." msgstr "" -#: FlatCAMApp.py:5508 FlatCAMApp.py:5548 -#: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5545 flatcamTools/ToolTransform.py:747 +#: FlatCAMApp.py:5678 FlatCAMApp.py:5718 +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5581 flatcamTools/ToolTransform.py:753 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "" -#: FlatCAMApp.py:5521 +#: FlatCAMApp.py:5691 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "" -#: FlatCAMApp.py:5546 +#: FlatCAMApp.py:5716 msgid "[success] Flip on X axis done." msgstr "" -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5731 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Transform" msgstr "" -#: FlatCAMApp.py:5564 FlatCAMApp.py:5609 FlatCAMApp.py:5640 +#: FlatCAMApp.py:5734 FlatCAMApp.py:5779 FlatCAMApp.py:5810 msgid "Enter the Angle value:" msgstr "" -#: FlatCAMApp.py:5594 +#: FlatCAMApp.py:5764 msgid "[success] Rotation done." msgstr "" -#: FlatCAMApp.py:5596 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:676 +#: FlatCAMApp.py:5766 flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 flatcamTools/ToolTransform.py:682 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "" -#: FlatCAMApp.py:5607 +#: FlatCAMApp.py:5777 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "" -#: FlatCAMApp.py:5628 +#: FlatCAMApp.py:5798 msgid "[success] Skew on X axis done." msgstr "" -#: FlatCAMApp.py:5638 +#: FlatCAMApp.py:5808 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "" -#: FlatCAMApp.py:5659 +#: FlatCAMApp.py:5829 msgid "[success] Skew on Y axis done." msgstr "" -#: FlatCAMApp.py:5710 +#: FlatCAMApp.py:5880 msgid "Grid On/Off" msgstr "" -#: FlatCAMApp.py:5723 flatcamEditors/FlatCAMGeoEditor.py:937 -#: flatcamEditors/FlatCAMGrbEditor.py:2427 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 flatcamGUI/ObjectUI.py:990 +#: FlatCAMApp.py:5893 flatcamEditors/FlatCAMGeoEditor.py:939 +#: flatcamEditors/FlatCAMGrbEditor.py:2457 +#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/ObjectUI.py:990 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 -#: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 -#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:478 -#: flatcamTools/ToolTransform.py:337 +#: flatcamTools/ToolNonCopperClear.py:170 flatcamTools/ToolPaint.py:176 +#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 +#: flatcamTools/ToolTransform.py:338 msgid "Add" msgstr "" -#: FlatCAMApp.py:5724 FlatCAMObj.py:3397 -#: flatcamEditors/FlatCAMGrbEditor.py:2432 flatcamGUI/FlatCAMGUI.py:544 -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1699 -#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/ObjectUI.py:1006 -#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:143 -#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:480 +#: FlatCAMApp.py:5894 FlatCAMObj.py:3398 +#: flatcamEditors/FlatCAMGrbEditor.py:2462 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1701 +#: flatcamGUI/FlatCAMGUI.py:2069 flatcamGUI/ObjectUI.py:1006 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "" -#: FlatCAMApp.py:5737 +#: FlatCAMApp.py:5907 msgid "New Grid ..." msgstr "" -#: FlatCAMApp.py:5738 +#: FlatCAMApp.py:5908 msgid "Enter a Grid Value:" msgstr "" -#: FlatCAMApp.py:5746 FlatCAMApp.py:5773 +#: FlatCAMApp.py:5916 FlatCAMApp.py:5943 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." msgstr "" -#: FlatCAMApp.py:5752 +#: FlatCAMApp.py:5922 msgid "[success] New Grid added ..." msgstr "" -#: FlatCAMApp.py:5755 +#: FlatCAMApp.py:5925 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "" -#: FlatCAMApp.py:5758 +#: FlatCAMApp.py:5928 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "" -#: FlatCAMApp.py:5780 +#: FlatCAMApp.py:5950 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "" -#: FlatCAMApp.py:5783 +#: FlatCAMApp.py:5953 msgid "[success] Grid Value deleted ..." msgstr "" -#: FlatCAMApp.py:5786 +#: FlatCAMApp.py:5956 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "" -#: FlatCAMApp.py:5792 +#: FlatCAMApp.py:5962 msgid "Key Shortcut List" msgstr "" -#: FlatCAMApp.py:5825 +#: FlatCAMApp.py:5995 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "" -#: FlatCAMApp.py:5829 +#: FlatCAMApp.py:5999 msgid "Name copied on clipboard ..." msgstr "" -#: FlatCAMApp.py:5871 flatcamEditors/FlatCAMGrbEditor.py:4058 +#: FlatCAMApp.py:6041 flatcamEditors/FlatCAMGrbEditor.py:4094 msgid "[success] Coordinates copied to clipboard." msgstr "" -#: FlatCAMApp.py:6120 FlatCAMApp.py:6123 FlatCAMApp.py:6126 FlatCAMApp.py:6129 -#: FlatCAMApp.py:6144 FlatCAMApp.py:6147 FlatCAMApp.py:6150 FlatCAMApp.py:6153 -#: FlatCAMApp.py:6193 FlatCAMApp.py:6196 FlatCAMApp.py:6199 FlatCAMApp.py:6202 +#: FlatCAMApp.py:6290 FlatCAMApp.py:6293 FlatCAMApp.py:6296 FlatCAMApp.py:6299 +#: FlatCAMApp.py:6314 FlatCAMApp.py:6317 FlatCAMApp.py:6320 FlatCAMApp.py:6323 +#: FlatCAMApp.py:6363 FlatCAMApp.py:6366 FlatCAMApp.py:6369 FlatCAMApp.py:6372 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "" -#: FlatCAMApp.py:6329 +#: FlatCAMApp.py:6499 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" "Do you want to Save the project?" msgstr "" -#: FlatCAMApp.py:6350 +#: FlatCAMApp.py:6520 msgid "[success] New Project created..." msgstr "" -#: FlatCAMApp.py:6469 FlatCAMApp.py:6472 flatcamGUI/FlatCAMGUI.py:625 -#: flatcamGUI/FlatCAMGUI.py:1918 +#: FlatCAMApp.py:6639 FlatCAMApp.py:6642 flatcamGUI/FlatCAMGUI.py:626 +#: flatcamGUI/FlatCAMGUI.py:1945 msgid "Open Gerber" msgstr "" -#: FlatCAMApp.py:6477 +#: FlatCAMApp.py:6647 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "" -#: FlatCAMApp.py:6498 FlatCAMApp.py:6501 flatcamGUI/FlatCAMGUI.py:626 -#: flatcamGUI/FlatCAMGUI.py:1919 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 flatcamGUI/FlatCAMGUI.py:627 +#: flatcamGUI/FlatCAMGUI.py:1946 msgid "Open Excellon" msgstr "" -#: FlatCAMApp.py:6506 +#: FlatCAMApp.py:6676 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "" -#: FlatCAMApp.py:6528 FlatCAMApp.py:6531 +#: FlatCAMApp.py:6698 FlatCAMApp.py:6701 msgid "Open G-Code" msgstr "" -#: FlatCAMApp.py:6536 +#: FlatCAMApp.py:6706 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "" -#: FlatCAMApp.py:6554 FlatCAMApp.py:6557 +#: FlatCAMApp.py:6724 FlatCAMApp.py:6727 msgid "Open Project" msgstr "" -#: FlatCAMApp.py:6565 +#: FlatCAMApp.py:6735 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "" -#: FlatCAMApp.py:6584 FlatCAMApp.py:6587 +#: FlatCAMApp.py:6754 FlatCAMApp.py:6757 msgid "Open Configuration File" msgstr "" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6761 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "" -#: FlatCAMApp.py:6606 FlatCAMApp.py:6859 FlatCAMApp.py:9111 FlatCAMApp.py:9131 -#: FlatCAMApp.py:9152 FlatCAMApp.py:9174 +#: FlatCAMApp.py:6776 FlatCAMApp.py:7029 FlatCAMApp.py:9352 FlatCAMApp.py:9372 +#: FlatCAMApp.py:9393 FlatCAMApp.py:9415 msgid "[WARNING_NOTCL] No object selected." msgstr "" -#: FlatCAMApp.py:6607 FlatCAMApp.py:6860 +#: FlatCAMApp.py:6777 FlatCAMApp.py:7030 msgid "Please Select a Geometry object to export" msgstr "" -#: FlatCAMApp.py:6620 +#: FlatCAMApp.py:6790 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" -#: FlatCAMApp.py:6633 FlatCAMApp.py:6637 +#: FlatCAMApp.py:6803 FlatCAMApp.py:6807 msgid "Export SVG" msgstr "" -#: FlatCAMApp.py:6642 +#: FlatCAMApp.py:6812 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "" -#: FlatCAMApp.py:6661 +#: FlatCAMApp.py:6831 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" -#: FlatCAMApp.py:6667 FlatCAMApp.py:6671 +#: FlatCAMApp.py:6837 FlatCAMApp.py:6841 msgid "Export PNG Image" msgstr "" -#: FlatCAMApp.py:6676 +#: FlatCAMApp.py:6846 msgid "Export PNG cancelled." msgstr "" -#: FlatCAMApp.py:6695 +#: FlatCAMApp.py:6865 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:6700 FlatCAMApp.py:6823 +#: FlatCAMApp.py:6870 FlatCAMApp.py:6993 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" -#: FlatCAMApp.py:6712 +#: FlatCAMApp.py:6882 msgid "Save Gerber source file" msgstr "" -#: FlatCAMApp.py:6717 +#: FlatCAMApp.py:6887 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "" -#: FlatCAMApp.py:6736 +#: FlatCAMApp.py:6906 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." msgstr "" -#: FlatCAMApp.py:6741 FlatCAMApp.py:6782 +#: FlatCAMApp.py:6911 FlatCAMApp.py:6952 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" -#: FlatCAMApp.py:6749 FlatCAMApp.py:6753 +#: FlatCAMApp.py:6919 FlatCAMApp.py:6923 msgid "Save Excellon source file" msgstr "" -#: FlatCAMApp.py:6758 +#: FlatCAMApp.py:6928 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "" -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6947 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." msgstr "" -#: FlatCAMApp.py:6790 FlatCAMApp.py:6794 +#: FlatCAMApp.py:6960 FlatCAMApp.py:6964 msgid "Export Excellon" msgstr "" -#: FlatCAMApp.py:6799 +#: FlatCAMApp.py:6969 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "" -#: FlatCAMApp.py:6818 +#: FlatCAMApp.py:6988 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:6831 FlatCAMApp.py:6835 +#: FlatCAMApp.py:7001 FlatCAMApp.py:7005 msgid "Export Gerber" msgstr "" -#: FlatCAMApp.py:6840 +#: FlatCAMApp.py:7010 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "" -#: FlatCAMApp.py:6870 +#: FlatCAMApp.py:7040 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "" -#: FlatCAMApp.py:6884 FlatCAMApp.py:6888 +#: FlatCAMApp.py:7054 FlatCAMApp.py:7058 msgid "Export DXF" msgstr "" -#: FlatCAMApp.py:6894 +#: FlatCAMApp.py:7064 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "" -#: FlatCAMApp.py:6914 FlatCAMApp.py:6917 +#: FlatCAMApp.py:7084 FlatCAMApp.py:7087 msgid "Import SVG" msgstr "" -#: FlatCAMApp.py:6926 +#: FlatCAMApp.py:7096 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "" -#: FlatCAMApp.py:6945 FlatCAMApp.py:6949 +#: FlatCAMApp.py:7115 FlatCAMApp.py:7119 msgid "Import DXF" msgstr "" -#: FlatCAMApp.py:6958 +#: FlatCAMApp.py:7128 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "" -#: FlatCAMApp.py:6976 +#: FlatCAMApp.py:7146 #, python-format msgid "%s" msgstr "" -#: FlatCAMApp.py:6996 +#: FlatCAMApp.py:7166 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" -#: FlatCAMApp.py:7003 +#: FlatCAMApp.py:7173 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." msgstr "" -#: FlatCAMApp.py:7011 +#: FlatCAMApp.py:7181 msgid "Source Editor" msgstr "" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:7191 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "" -#: FlatCAMApp.py:7033 FlatCAMApp.py:8215 FlatCAMObj.py:5656 -#: flatcamTools/ToolSolderPaste.py:1284 +#: FlatCAMApp.py:7203 FlatCAMApp.py:8404 FlatCAMObj.py:5669 +#: flatcamTools/ToolSolderPaste.py:1289 msgid "Code Editor" msgstr "" -#: FlatCAMApp.py:7045 +#: FlatCAMApp.py:7215 msgid "Script Editor" msgstr "" -#: FlatCAMApp.py:7048 +#: FlatCAMApp.py:7218 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -802,216 +808,224 @@ msgid "" "\n" msgstr "" -#: FlatCAMApp.py:7071 FlatCAMApp.py:7074 +#: FlatCAMApp.py:7241 FlatCAMApp.py:7244 msgid "Open TCL script" msgstr "" -#: FlatCAMApp.py:7082 +#: FlatCAMApp.py:7252 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "" -#: FlatCAMApp.py:7094 +#: FlatCAMApp.py:7264 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "" -#: FlatCAMApp.py:7120 FlatCAMApp.py:7123 +#: FlatCAMApp.py:7290 FlatCAMApp.py:7293 msgid "Run TCL script" msgstr "" -#: FlatCAMApp.py:7131 +#: FlatCAMApp.py:7301 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "" -#: FlatCAMApp.py:7183 FlatCAMApp.py:7187 +#: FlatCAMApp.py:7356 FlatCAMApp.py:7360 msgid "Save Project As ..." msgstr "" -#: FlatCAMApp.py:7184 +#: FlatCAMApp.py:7357 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "" -#: FlatCAMApp.py:7192 +#: FlatCAMApp.py:7365 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "" -#: FlatCAMApp.py:7237 +#: FlatCAMApp.py:7413 msgid "Exporting SVG" msgstr "" -#: FlatCAMApp.py:7277 FlatCAMApp.py:7388 FlatCAMApp.py:7509 +#: FlatCAMApp.py:7453 FlatCAMApp.py:7567 FlatCAMApp.py:7690 #, python-format msgid "[success] SVG file exported to %s" msgstr "" -#: FlatCAMApp.py:7308 FlatCAMApp.py:7434 +#: FlatCAMApp.py:7487 FlatCAMApp.py:7615 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "" -#: FlatCAMApp.py:7391 FlatCAMApp.py:7512 +#: FlatCAMApp.py:7570 FlatCAMApp.py:7693 msgid "Generating Film ... Please wait." msgstr "" -#: FlatCAMApp.py:7674 +#: FlatCAMApp.py:7859 #, python-format msgid "[success] Excellon file exported to %s" msgstr "" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7866 msgid "Exporting Excellon" msgstr "" -#: FlatCAMApp.py:7686 FlatCAMApp.py:7693 +#: FlatCAMApp.py:7871 FlatCAMApp.py:7878 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "" -#: FlatCAMApp.py:7797 +#: FlatCAMApp.py:7984 #, python-format msgid "[success] Gerber file exported to %s" msgstr "" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7991 msgid "Exporting Gerber" msgstr "" -#: FlatCAMApp.py:7809 FlatCAMApp.py:7816 +#: FlatCAMApp.py:7996 FlatCAMApp.py:8003 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "" -#: FlatCAMApp.py:7856 +#: FlatCAMApp.py:8045 #, python-format msgid "[success] DXF file exported to %s" msgstr "" -#: FlatCAMApp.py:7862 +#: FlatCAMApp.py:8051 msgid "Exporting DXF" msgstr "" -#: FlatCAMApp.py:7867 FlatCAMApp.py:7874 +#: FlatCAMApp.py:8056 FlatCAMApp.py:8063 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "" -#: FlatCAMApp.py:7894 FlatCAMApp.py:7936 FlatCAMApp.py:7980 +#: FlatCAMApp.py:8083 FlatCAMApp.py:8125 FlatCAMApp.py:8169 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" msgstr "" -#: FlatCAMApp.py:7904 +#: FlatCAMApp.py:8093 msgid "Importing SVG" msgstr "" -#: FlatCAMApp.py:7915 FlatCAMApp.py:7957 FlatCAMApp.py:8000 FlatCAMApp.py:8077 -#: FlatCAMApp.py:8138 FlatCAMApp.py:8201 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:8104 FlatCAMApp.py:8146 FlatCAMApp.py:8189 FlatCAMApp.py:8266 +#: FlatCAMApp.py:8327 FlatCAMApp.py:8390 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "" -#: FlatCAMApp.py:7946 +#: FlatCAMApp.py:8135 msgid "Importing DXF" msgstr "" -#: FlatCAMApp.py:7988 +#: FlatCAMApp.py:8177 msgid "Importing Image" msgstr "" -#: FlatCAMApp.py:8029 FlatCAMApp.py:8031 +#: FlatCAMApp.py:8218 FlatCAMApp.py:8220 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "" -#: FlatCAMApp.py:8034 +#: FlatCAMApp.py:8223 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "" -#: FlatCAMApp.py:8041 FlatCAMObj.py:4344 -#: flatcamEditors/FlatCAMGrbEditor.py:3878 +#: FlatCAMApp.py:8230 FlatCAMObj.py:4344 +#: flatcamEditors/FlatCAMGrbEditor.py:3914 msgid "[ERROR] An internal error has occurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:8050 +#: FlatCAMApp.py:8239 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8247 msgid "Opening Gerber" msgstr "" -#: FlatCAMApp.py:8068 +#: FlatCAMApp.py:8257 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" -#: FlatCAMApp.py:8101 flatcamTools/ToolPcbWizard.py:418 +#: FlatCAMApp.py:8290 flatcamTools/ToolPcbWizard.py:423 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "" -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8293 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "" -#: FlatCAMApp.py:8109 flatcamTools/ToolPcbWizard.py:427 +#: FlatCAMApp.py:8298 flatcamTools/ToolPcbWizard.py:432 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:8122 flatcamTools/ToolPDF.py:262 -#: flatcamTools/ToolPcbWizard.py:440 +#: FlatCAMApp.py:8311 flatcamTools/ToolPDF.py:262 +#: flatcamTools/ToolPcbWizard.py:445 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8314 msgid "Opening Excellon." msgstr "" -#: FlatCAMApp.py:8131 +#: FlatCAMApp.py:8320 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" -#: FlatCAMApp.py:8168 +#: FlatCAMApp.py:8357 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "" -#: FlatCAMApp.py:8178 +#: FlatCAMApp.py:8367 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "" -#: FlatCAMApp.py:8184 +#: FlatCAMApp.py:8373 msgid "Opening G-Code." msgstr "" -#: FlatCAMApp.py:8192 +#: FlatCAMApp.py:8381 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" msgstr "" -#: FlatCAMApp.py:8232 +#: FlatCAMApp.py:8421 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "" -#: FlatCAMApp.py:8258 FlatCAMApp.py:8276 +#: FlatCAMApp.py:8442 +msgid "Loading Project ... Please Wait ..." +msgstr "" + +#: FlatCAMApp.py:8449 FlatCAMApp.py:8467 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "" -#: FlatCAMApp.py:8299 +#: FlatCAMApp.py:8491 +msgid "Loading Project ... restoring" +msgstr "" + +#: FlatCAMApp.py:8496 #, python-format msgid "[success] Project loaded from: %s" msgstr "" -#: FlatCAMApp.py:8405 +#: FlatCAMApp.py:8602 msgid "Available commands:\n" msgstr "" -#: FlatCAMApp.py:8407 +#: FlatCAMApp.py:8604 msgid "" "\n" "\n" @@ -1019,35 +1033,35 @@ msgid "" " Example: help open_gerber" msgstr "" -#: FlatCAMApp.py:8557 +#: FlatCAMApp.py:8754 msgid "Shows list of commands." msgstr "" -#: FlatCAMApp.py:8614 +#: FlatCAMApp.py:8811 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "" -#: FlatCAMApp.py:8621 +#: FlatCAMApp.py:8818 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "" -#: FlatCAMApp.py:8631 +#: FlatCAMApp.py:8828 msgid "[ERROR_NOTCL] Failed to load recent projects item list." msgstr "" -#: FlatCAMApp.py:8638 +#: FlatCAMApp.py:8835 msgid "[ERROR_NOTCL] Failed to parse recent project item list." msgstr "" -#: FlatCAMApp.py:8697 FlatCAMApp.py:8720 +#: FlatCAMApp.py:8894 FlatCAMApp.py:8917 msgid "Clear Recent files" msgstr "" -#: FlatCAMApp.py:8737 flatcamGUI/FlatCAMGUI.py:994 +#: FlatCAMApp.py:8934 flatcamGUI/FlatCAMGUI.py:996 msgid "Shortcut Key List" msgstr "" -#: FlatCAMApp.py:8749 +#: FlatCAMApp.py:8946 #, python-brace-format msgid "" "\n" @@ -1098,102 +1112,102 @@ msgid "" " " msgstr "" -#: FlatCAMApp.py:8827 +#: FlatCAMApp.py:9024 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" -#: FlatCAMApp.py:8834 +#: FlatCAMApp.py:9031 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" -#: FlatCAMApp.py:8844 +#: FlatCAMApp.py:9041 msgid "[success] FlatCAM is up to date!" msgstr "" -#: FlatCAMApp.py:8849 +#: FlatCAMApp.py:9046 msgid "Newer Version Available" msgstr "" -#: FlatCAMApp.py:8850 +#: FlatCAMApp.py:9047 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" msgstr "" -#: FlatCAMApp.py:8852 +#: FlatCAMApp.py:9049 msgid "info" msgstr "" -#: FlatCAMApp.py:8871 +#: FlatCAMApp.py:9103 msgid "[success] All plots disabled." msgstr "" -#: FlatCAMApp.py:8877 +#: FlatCAMApp.py:9109 msgid "[success] All non selected plots disabled." msgstr "" -#: FlatCAMApp.py:8883 +#: FlatCAMApp.py:9115 msgid "[success] All plots enabled." msgstr "" -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:9121 msgid "[success] Selected plots enabled..." msgstr "" -#: FlatCAMApp.py:8897 +#: FlatCAMApp.py:9129 msgid "[success] Selected plots disabled..." msgstr "" -#: FlatCAMApp.py:8907 FlatCAMApp.py:8925 FlatCAMApp.py:8943 +#: FlatCAMApp.py:9138 FlatCAMApp.py:9156 FlatCAMApp.py:9174 msgid "Working ..." msgstr "" -#: FlatCAMApp.py:8980 +#: FlatCAMApp.py:9212 msgid "Saving FlatCAM Project" msgstr "" -#: FlatCAMApp.py:9001 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9264 #, python-format msgid "[success] Project saved to: %s" msgstr "" -#: FlatCAMApp.py:9019 +#: FlatCAMApp.py:9251 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" -#: FlatCAMApp.py:9026 +#: FlatCAMApp.py:9258 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" -#: FlatCAMApp.py:9034 +#: FlatCAMApp.py:9266 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" -#: FlatCAMObj.py:209 +#: FlatCAMObj.py:208 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "" -#: FlatCAMObj.py:558 FlatCAMObj.py:2128 FlatCAMObj.py:3402 FlatCAMObj.py:5549 +#: FlatCAMObj.py:557 FlatCAMObj.py:2128 FlatCAMObj.py:3403 FlatCAMObj.py:5562 msgid "Basic" msgstr "" -#: FlatCAMObj.py:570 FlatCAMObj.py:2144 FlatCAMObj.py:3424 FlatCAMObj.py:5555 +#: FlatCAMObj.py:569 FlatCAMObj.py:2144 FlatCAMObj.py:3425 FlatCAMObj.py:5568 msgid "Advanced" msgstr "" -#: FlatCAMObj.py:948 FlatCAMObj.py:1051 +#: FlatCAMObj.py:947 FlatCAMObj.py:1050 msgid "[ERROR_NOTCL] Isolation geometry could not be generated." msgstr "" -#: FlatCAMObj.py:985 FlatCAMObj.py:3097 FlatCAMObj.py:3359 FlatCAMObj.py:3637 +#: FlatCAMObj.py:984 FlatCAMObj.py:3098 FlatCAMObj.py:3360 FlatCAMObj.py:3637 msgid "Rough" msgstr "" -#: FlatCAMObj.py:1003 FlatCAMObj.py:1067 +#: FlatCAMObj.py:1002 FlatCAMObj.py:1066 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "" @@ -1202,34 +1216,34 @@ msgstr "" msgid "Plotting Apertures" msgstr "" -#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2272 +#: FlatCAMObj.py:1969 flatcamEditors/FlatCAMExcEditor.py:2290 msgid "Total Drills" msgstr "" -#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2304 +#: FlatCAMObj.py:1995 flatcamEditors/FlatCAMExcEditor.py:2322 msgid "Total Slots" msgstr "" #: FlatCAMObj.py:2202 FlatCAMObj.py:3475 FlatCAMObj.py:3765 FlatCAMObj.py:3952 #: FlatCAMObj.py:3963 FlatCAMObj.py:4081 FlatCAMObj.py:4486 FlatCAMObj.py:4712 -#: FlatCAMObj.py:5115 flatcamEditors/FlatCAMExcEditor.py:2378 -#: flatcamTools/ToolCalculators.py:304 flatcamTools/ToolCalculators.py:315 -#: flatcamTools/ToolCalculators.py:327 flatcamTools/ToolCalculators.py:342 -#: flatcamTools/ToolCalculators.py:355 flatcamTools/ToolCalculators.py:369 -#: flatcamTools/ToolCalculators.py:380 flatcamTools/ToolCalculators.py:391 -#: flatcamTools/ToolCalculators.py:402 flatcamTools/ToolFilm.py:241 -#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolNonCopperClear.py:606 -#: flatcamTools/ToolNonCopperClear.py:678 -#: flatcamTools/ToolNonCopperClear.py:757 -#: flatcamTools/ToolNonCopperClear.py:774 -#: flatcamTools/ToolNonCopperClear.py:782 flatcamTools/ToolPaint.py:543 -#: flatcamTools/ToolPaint.py:615 flatcamTools/ToolPaint.py:752 -#: flatcamTools/ToolPaint.py:925 flatcamTools/ToolPaint.py:1079 -#: flatcamTools/ToolPaint.py:1379 flatcamTools/ToolPanelize.py:387 -#: flatcamTools/ToolPanelize.py:399 flatcamTools/ToolPanelize.py:412 -#: flatcamTools/ToolPanelize.py:425 flatcamTools/ToolPanelize.py:437 -#: flatcamTools/ToolPanelize.py:448 flatcamTools/ToolSolderPaste.py:758 -#: flatcamTools/ToolSolderPaste.py:830 +#: FlatCAMObj.py:5128 flatcamEditors/FlatCAMExcEditor.py:2396 +#: flatcamTools/ToolCalculators.py:310 flatcamTools/ToolCalculators.py:321 +#: flatcamTools/ToolCalculators.py:333 flatcamTools/ToolCalculators.py:348 +#: flatcamTools/ToolCalculators.py:361 flatcamTools/ToolCalculators.py:375 +#: flatcamTools/ToolCalculators.py:386 flatcamTools/ToolCalculators.py:397 +#: flatcamTools/ToolCalculators.py:408 flatcamTools/ToolFilm.py:246 +#: flatcamTools/ToolFilm.py:253 flatcamTools/ToolNonCopperClear.py:684 +#: flatcamTools/ToolNonCopperClear.py:756 +#: flatcamTools/ToolNonCopperClear.py:953 +#: flatcamTools/ToolNonCopperClear.py:970 +#: flatcamTools/ToolNonCopperClear.py:978 flatcamTools/ToolPaint.py:694 +#: flatcamTools/ToolPaint.py:766 flatcamTools/ToolPaint.py:907 +#: flatcamTools/ToolPaint.py:1147 flatcamTools/ToolPaint.py:1301 +#: flatcamTools/ToolPaint.py:1608 flatcamTools/ToolPanelize.py:392 +#: flatcamTools/ToolPanelize.py:404 flatcamTools/ToolPanelize.py:417 +#: flatcamTools/ToolPanelize.py:430 flatcamTools/ToolPanelize.py:442 +#: flatcamTools/ToolPanelize.py:453 flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolSolderPaste.py:835 msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "" @@ -1248,9 +1262,9 @@ msgid "Tool_nr" msgstr "" #: FlatCAMObj.py:2465 FlatCAMObj.py:2560 FlatCAMObj.py:2679 -#: flatcamEditors/FlatCAMExcEditor.py:1469 -#: flatcamEditors/FlatCAMExcEditor.py:3096 flatcamGUI/ObjectUI.py:554 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamEditors/FlatCAMExcEditor.py:1481 +#: flatcamEditors/FlatCAMExcEditor.py:3114 flatcamGUI/ObjectUI.py:554 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "" @@ -1284,24 +1298,24 @@ msgstr "" msgid "Generating CNC Code" msgstr "" -#: FlatCAMObj.py:2785 FlatCAMObj.py:5075 camlib.py:5184 camlib.py:5680 -#: camlib.py:5970 +#: FlatCAMObj.py:2786 FlatCAMObj.py:5088 camlib.py:5244 camlib.py:5740 +#: camlib.py:6030 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" "but now there is only one value, not two. " msgstr "" -#: FlatCAMObj.py:3097 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 +#: FlatCAMObj.py:3098 FlatCAMObj.py:4004 FlatCAMObj.py:4005 FlatCAMObj.py:4014 msgid "Iso" msgstr "" -#: FlatCAMObj.py:3097 +#: FlatCAMObj.py:3098 msgid "Finish" msgstr "" -#: FlatCAMObj.py:3395 flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:745 -#: flatcamGUI/FlatCAMGUI.py:1698 flatcamGUI/FlatCAMGUI.py:2040 +#: FlatCAMObj.py:3396 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: flatcamGUI/FlatCAMGUI.py:1700 flatcamGUI/FlatCAMGUI.py:2067 #: flatcamGUI/ObjectUI.py:998 msgid "Copy" msgstr "" @@ -1363,79 +1377,79 @@ msgid "" "Add a Tool Offset or change the Offset Type." msgstr "" -#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1112 -#: flatcamTools/ToolSolderPaste.py:1168 +#: FlatCAMObj.py:4605 flatcamTools/ToolSolderPaste.py:1117 +#: flatcamTools/ToolSolderPaste.py:1173 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "" -#: FlatCAMObj.py:4966 FlatCAMObj.py:4975 camlib.py:3358 camlib.py:3367 +#: FlatCAMObj.py:4967 FlatCAMObj.py:4976 camlib.py:3373 camlib.py:3382 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" -#: FlatCAMObj.py:5012 +#: FlatCAMObj.py:5019 msgid "[success] Geometry Scale done." msgstr "" -#: FlatCAMObj.py:5029 camlib.py:3436 +#: FlatCAMObj.py:5037 camlib.py:3456 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." msgstr "" -#: FlatCAMObj.py:5048 +#: FlatCAMObj.py:5059 msgid "[success] Geometry Offset done." msgstr "" -#: FlatCAMObj.py:5617 FlatCAMObj.py:5622 flatcamTools/ToolSolderPaste.py:1368 +#: FlatCAMObj.py:5630 FlatCAMObj.py:5635 flatcamTools/ToolSolderPaste.py:1373 msgid "Export Machine Code ..." msgstr "" -#: FlatCAMObj.py:5628 flatcamTools/ToolSolderPaste.py:1371 +#: FlatCAMObj.py:5641 flatcamTools/ToolSolderPaste.py:1376 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "" -#: FlatCAMObj.py:5645 +#: FlatCAMObj.py:5658 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "" -#: FlatCAMObj.py:5667 +#: FlatCAMObj.py:5680 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "" -#: FlatCAMObj.py:5784 +#: FlatCAMObj.py:5797 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " "CNCJob object." msgstr "" -#: FlatCAMObj.py:5837 +#: FlatCAMObj.py:5850 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "" -#: FlatCAMObj.py:5850 +#: FlatCAMObj.py:5863 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." msgstr "" -#: FlatCAMObj.py:5857 +#: FlatCAMObj.py:5870 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" -#: FlatCAMObj.py:5871 flatcamTools/ToolSolderPaste.py:1397 +#: FlatCAMObj.py:5884 flatcamTools/ToolSolderPaste.py:1402 msgid "[WARNING_NOTCL] No such file or directory" msgstr "" -#: FlatCAMObj.py:5895 FlatCAMObj.py:5907 +#: FlatCAMObj.py:5908 FlatCAMObj.py:5920 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" msgstr "" -#: FlatCAMObj.py:5913 +#: FlatCAMObj.py:5926 msgid "[ERROR] There is no postprocessor file." msgstr "" @@ -1466,79 +1480,79 @@ msgstr "" msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "" -#: camlib.py:1400 +#: camlib.py:1405 msgid "[success] Object was mirrored ..." msgstr "" -#: camlib.py:1402 +#: camlib.py:1407 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "" -#: camlib.py:1438 +#: camlib.py:1447 msgid "[success] Object was rotated ..." msgstr "" -#: camlib.py:1440 +#: camlib.py:1449 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "" -#: camlib.py:1474 +#: camlib.py:1488 msgid "[success] Object was skewed ..." msgstr "" -#: camlib.py:1476 +#: camlib.py:1490 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "" -#: camlib.py:2738 camlib.py:2823 +#: camlib.py:2752 camlib.py:2837 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "" -#: camlib.py:2739 camlib.py:2824 +#: camlib.py:2753 camlib.py:2838 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" -#: camlib.py:2788 +#: camlib.py:2802 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " "are parser errors. Line number: %s" msgstr "" -#: camlib.py:3180 +#: camlib.py:3194 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" "%s:" msgstr "" -#: camlib.py:3404 +#: camlib.py:3422 msgid "[success] Gerber Scale done." msgstr "" -#: camlib.py:3469 +#: camlib.py:3492 msgid "[success] Gerber Offset done." msgstr "" -#: camlib.py:3523 +#: camlib.py:3550 msgid "[success] Gerber Mirror done." msgstr "" -#: camlib.py:3569 +#: camlib.py:3600 msgid "[success] Gerber Skew done." msgstr "" -#: camlib.py:3607 +#: camlib.py:3642 msgid "[success] Gerber Rotate done." msgstr "" -#: camlib.py:3888 +#: camlib.py:3923 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "" -#: camlib.py:4003 +#: camlib.py:4038 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1549,26 +1563,26 @@ msgid "" "diameters to reflect the real diameters." msgstr "" -#: camlib.py:4467 +#: camlib.py:4502 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" msgstr "" -#: camlib.py:4549 +#: camlib.py:4581 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" "Check the resulting GCode." msgstr "" -#: camlib.py:5093 +#: camlib.py:5153 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "" -#: camlib.py:5163 +#: camlib.py:5223 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1577,27 +1591,27 @@ msgid "" "CNC code (Gcode etc)." msgstr "" -#: camlib.py:5170 camlib.py:5703 camlib.py:5993 +#: camlib.py:5230 camlib.py:5763 camlib.py:6053 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" msgstr "" -#: camlib.py:5410 camlib.py:5516 camlib.py:5582 +#: camlib.py:5470 camlib.py:5576 camlib.py:5642 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "" -#: camlib.py:5521 +#: camlib.py:5581 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "" -#: camlib.py:5691 camlib.py:5981 +#: camlib.py:5751 camlib.py:6041 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." msgstr "" -#: camlib.py:5696 camlib.py:5986 +#: camlib.py:5756 camlib.py:6046 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1606,11 +1620,11 @@ msgid "" "code (Gcode etc)." msgstr "" -#: camlib.py:5712 camlib.py:5998 +#: camlib.py:5772 camlib.py:6058 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "" -#: camlib.py:5716 camlib.py:6002 +#: camlib.py:5776 camlib.py:6062 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1619,294 +1633,292 @@ msgid "" "code (Gcode etc)." msgstr "" -#: camlib.py:5723 camlib.py:6009 +#: camlib.py:5783 camlib.py:6069 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" msgstr "" -#: camlib.py:5876 +#: camlib.py:5936 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "" -#: camlib.py:5882 +#: camlib.py:5942 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." msgstr "" -#: camlib.py:5921 +#: camlib.py:5981 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" "Raise the value (in module) and try again." msgstr "" -#: camlib.py:6155 +#: camlib.py:6215 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:37 flatcamEditors/FlatCAMExcEditor.py:61 -#: flatcamEditors/FlatCAMExcEditor.py:142 -#: flatcamEditors/FlatCAMExcEditor.py:342 -#: flatcamEditors/FlatCAMExcEditor.py:532 -#: flatcamEditors/FlatCAMGrbEditor.py:229 -#: flatcamEditors/FlatCAMGrbEditor.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:150 +#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:540 +#: flatcamEditors/FlatCAMGrbEditor.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:242 msgid "Click to place ..." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:45 +#: flatcamEditors/FlatCAMExcEditor.py:53 msgid "[WARNING_NOTCL] To add a drill first select a tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:107 +#: flatcamEditors/FlatCAMExcEditor.py:115 msgid "[success] Done. Drill added." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:149 +#: flatcamEditors/FlatCAMExcEditor.py:157 msgid "[WARNING_NOTCL] To add an Drill Array first select a tool in Tool Table" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:165 -#: flatcamEditors/FlatCAMExcEditor.py:371 -#: flatcamEditors/FlatCAMExcEditor.py:579 -#: flatcamEditors/FlatCAMExcEditor.py:1075 -#: flatcamEditors/FlatCAMExcEditor.py:1100 -#: flatcamEditors/FlatCAMGrbEditor.py:451 -#: flatcamEditors/FlatCAMGrbEditor.py:1821 -#: flatcamEditors/FlatCAMGrbEditor.py:1849 +#: flatcamEditors/FlatCAMExcEditor.py:173 +#: flatcamEditors/FlatCAMExcEditor.py:379 +#: flatcamEditors/FlatCAMExcEditor.py:587 +#: flatcamEditors/FlatCAMExcEditor.py:1083 +#: flatcamEditors/FlatCAMExcEditor.py:1108 +#: flatcamEditors/FlatCAMGrbEditor.py:459 +#: flatcamEditors/FlatCAMGrbEditor.py:1845 +#: flatcamEditors/FlatCAMGrbEditor.py:1873 msgid "Click on target location ..." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:182 +#: flatcamEditors/FlatCAMExcEditor.py:190 msgid "Click on the Drill Circular Array Start position" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:204 -#: flatcamEditors/FlatCAMExcEditor.py:618 -#: flatcamEditors/FlatCAMGrbEditor.py:494 +#: flatcamEditors/FlatCAMExcEditor.py:212 +#: flatcamEditors/FlatCAMExcEditor.py:626 +#: flatcamEditors/FlatCAMGrbEditor.py:502 msgid "" "[ERROR_NOTCL] The value is not Float. Check for comma instead of dot " "separator." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:207 +#: flatcamEditors/FlatCAMExcEditor.py:215 #, python-format msgid "[ERROR_NOTCL] The value is mistyped. Check the value. %s" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:305 +#: flatcamEditors/FlatCAMExcEditor.py:313 msgid "[WARNING_NOTCL] Too many drills for the selected spacing angle." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:322 +#: flatcamEditors/FlatCAMExcEditor.py:330 msgid "[success] Done. Drill Array added." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:350 +#: flatcamEditors/FlatCAMExcEditor.py:358 msgid "[WARNING_NOTCL] To add a slot first select a tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:407 -#: flatcamEditors/FlatCAMExcEditor.py:414 -#: flatcamEditors/FlatCAMExcEditor.py:682 -#: flatcamEditors/FlatCAMExcEditor.py:689 +#: flatcamEditors/FlatCAMExcEditor.py:415 +#: flatcamEditors/FlatCAMExcEditor.py:422 +#: flatcamEditors/FlatCAMExcEditor.py:690 +#: flatcamEditors/FlatCAMExcEditor.py:697 msgid "[WARNING_NOTCL] Value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:513 +#: flatcamEditors/FlatCAMExcEditor.py:521 msgid "[success] Done. Adding Slot completed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:539 +#: flatcamEditors/FlatCAMExcEditor.py:547 msgid "[WARNING_NOTCL] To add an Slot Array first select a tool in Tool Table" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:596 +#: flatcamEditors/FlatCAMExcEditor.py:604 msgid "Click on the Slot Circular Array Start position" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:497 +#: flatcamEditors/FlatCAMExcEditor.py:629 +#: flatcamEditors/FlatCAMGrbEditor.py:505 msgid "[ERROR_NOTCL] The value is mistyped. Check the value." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:799 +#: flatcamEditors/FlatCAMExcEditor.py:807 msgid "[WARNING_NOTCL] Too many Slots for the selected spacing angle." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:821 +#: flatcamEditors/FlatCAMExcEditor.py:829 msgid "[success] Done. Slot Array added." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:838 +#: flatcamEditors/FlatCAMExcEditor.py:846 msgid "Click on the Drill(s) to resize ..." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:868 +#: flatcamEditors/FlatCAMExcEditor.py:876 msgid "" "[ERROR_NOTCL] Resize drill(s) failed. Please enter a diameter for resize." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:958 -#: flatcamEditors/FlatCAMExcEditor.py:1027 +#: flatcamEditors/FlatCAMExcEditor.py:966 +#: flatcamEditors/FlatCAMExcEditor.py:1035 msgid "[ERROR_NOTCL] Cancelled." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1047 +#: flatcamEditors/FlatCAMExcEditor.py:1055 msgid "[success] Done. Drill/Slot Resize completed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1049 +#: flatcamEditors/FlatCAMExcEditor.py:1057 msgid "[WARNING_NOTCL] Cancelled. No drills/slots selected for resize ..." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1077 -#: flatcamEditors/FlatCAMGrbEditor.py:1823 +#: flatcamEditors/FlatCAMExcEditor.py:1085 +#: flatcamEditors/FlatCAMGrbEditor.py:1847 msgid "Click on reference location ..." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1132 +#: flatcamEditors/FlatCAMExcEditor.py:1140 msgid "[success] Done. Drill(s) Move completed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1229 +#: flatcamEditors/FlatCAMExcEditor.py:1237 msgid "[success] Done. Drill(s) copied." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1442 flatcamGUI/FlatCAMGUI.py:5203 +#: flatcamEditors/FlatCAMExcEditor.py:1454 flatcamGUI/FlatCAMGUI.py:5445 msgid "Excellon Editor" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1449 -#: flatcamEditors/FlatCAMGrbEditor.py:2311 +#: flatcamEditors/FlatCAMExcEditor.py:1461 +#: flatcamEditors/FlatCAMGrbEditor.py:2341 msgid "Name:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1455 -#: flatcamTools/ToolNonCopperClear.py:72 flatcamTools/ToolPaint.py:69 -#: flatcamTools/ToolSolderPaste.py:70 +#: flatcamEditors/FlatCAMExcEditor.py:1467 flatcamGUI/ObjectUI.py:534 +#: flatcamGUI/ObjectUI.py:856 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1457 flatcamGUI/ObjectUI.py:536 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:536 msgid "" "Tools in this Excellon object\n" "when are used for drilling." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1477 +#: flatcamEditors/FlatCAMExcEditor.py:1489 msgid "Add/Delete Tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1479 +#: flatcamEditors/FlatCAMExcEditor.py:1491 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamTools/ToolCutOut.py:92 +#: flatcamEditors/FlatCAMExcEditor.py:1499 msgid "Tool Dia:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1489 flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/FlatCAMGUI.py:5474 #: flatcamGUI/ObjectUI.py:977 msgid "Diameter for the new tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1497 +#: flatcamEditors/FlatCAMExcEditor.py:1509 msgid "Add Tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1499 +#: flatcamEditors/FlatCAMExcEditor.py:1511 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1511 +#: flatcamEditors/FlatCAMExcEditor.py:1523 msgid "Delete Tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1513 +#: flatcamEditors/FlatCAMExcEditor.py:1525 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1531 +#: flatcamEditors/FlatCAMExcEditor.py:1543 msgid "Resize Drill(s)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1533 +#: flatcamEditors/FlatCAMExcEditor.py:1545 msgid "Resize a drill or a selection of drills." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1540 +#: flatcamEditors/FlatCAMExcEditor.py:1552 msgid "Resize Dia:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1542 +#: flatcamEditors/FlatCAMExcEditor.py:1554 msgid "Diameter to resize to." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1550 +#: flatcamEditors/FlatCAMExcEditor.py:1562 msgid "Resize" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1552 +#: flatcamEditors/FlatCAMExcEditor.py:1564 msgid "Resize drill(s)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1577 flatcamGUI/FlatCAMGUI.py:1690 +#: flatcamEditors/FlatCAMExcEditor.py:1589 flatcamGUI/FlatCAMGUI.py:1692 msgid "Add Drill Array" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1579 +#: flatcamEditors/FlatCAMExcEditor.py:1591 msgid "Add an array of drills (linear or circular array)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1588 -#: flatcamEditors/FlatCAMExcEditor.py:1790 -#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMExcEditor.py:1600 +#: flatcamEditors/FlatCAMExcEditor.py:1802 +#: flatcamEditors/FlatCAMGrbEditor.py:2627 msgid "Linear" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1589 -#: flatcamEditors/FlatCAMExcEditor.py:1791 -#: flatcamEditors/FlatCAMGrbEditor.py:2599 +#: flatcamEditors/FlatCAMExcEditor.py:1601 +#: flatcamEditors/FlatCAMExcEditor.py:1803 +#: flatcamEditors/FlatCAMGrbEditor.py:2628 msgid "Circular" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1597 flatcamGUI/FlatCAMGUI.py:5242 +#: flatcamEditors/FlatCAMExcEditor.py:1609 msgid "Nr of drills:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1598 flatcamGUI/FlatCAMGUI.py:5244 +#: flatcamEditors/FlatCAMExcEditor.py:1610 flatcamGUI/FlatCAMGUI.py:5486 msgid "Specify how many drills to be in the array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1615 -#: flatcamEditors/FlatCAMExcEditor.py:1662 -#: flatcamEditors/FlatCAMExcEditor.py:1726 -#: flatcamEditors/FlatCAMExcEditor.py:1817 -#: flatcamEditors/FlatCAMExcEditor.py:1864 -#: flatcamEditors/FlatCAMGrbEditor.py:2625 -#: flatcamEditors/FlatCAMGrbEditor.py:2670 flatcamGUI/FlatCAMGUI.py:5336 +#: flatcamEditors/FlatCAMExcEditor.py:1627 +#: flatcamEditors/FlatCAMExcEditor.py:1674 +#: flatcamEditors/FlatCAMExcEditor.py:1738 +#: flatcamEditors/FlatCAMExcEditor.py:1829 +#: flatcamEditors/FlatCAMExcEditor.py:1876 msgid "Direction:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1617 -#: flatcamEditors/FlatCAMExcEditor.py:1819 -#: flatcamEditors/FlatCAMGrbEditor.py:2627 flatcamGUI/FlatCAMGUI.py:5259 -#: flatcamGUI/FlatCAMGUI.py:5390 +#: flatcamEditors/FlatCAMExcEditor.py:1629 +#: flatcamEditors/FlatCAMExcEditor.py:1831 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/FlatCAMGUI.py:4652 +#: flatcamGUI/FlatCAMGUI.py:5501 flatcamGUI/FlatCAMGUI.py:5632 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -1914,61 +1926,62 @@ msgid "" "- 'Angle' - a custom angle for the array inclination" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1735 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2634 flatcamGUI/FlatCAMGUI.py:5265 -#: flatcamGUI/FlatCAMGUI.py:5345 flatcamGUI/FlatCAMGUI.py:5396 +#: flatcamEditors/FlatCAMExcEditor.py:1636 +#: flatcamEditors/FlatCAMExcEditor.py:1747 +#: flatcamEditors/FlatCAMExcEditor.py:1838 +#: flatcamEditors/FlatCAMGrbEditor.py:2663 flatcamGUI/FlatCAMGUI.py:4658 +#: flatcamGUI/FlatCAMGUI.py:5507 flatcamGUI/FlatCAMGUI.py:5587 +#: flatcamGUI/FlatCAMGUI.py:5638 msgid "X" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1625 -#: flatcamEditors/FlatCAMExcEditor.py:1736 -#: flatcamEditors/FlatCAMExcEditor.py:1827 -#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:5266 -#: flatcamGUI/FlatCAMGUI.py:5346 flatcamGUI/FlatCAMGUI.py:5397 +#: flatcamEditors/FlatCAMExcEditor.py:1637 +#: flatcamEditors/FlatCAMExcEditor.py:1748 +#: flatcamEditors/FlatCAMExcEditor.py:1839 +#: flatcamEditors/FlatCAMGrbEditor.py:2664 flatcamGUI/FlatCAMGUI.py:4659 +#: flatcamGUI/FlatCAMGUI.py:5508 flatcamGUI/FlatCAMGUI.py:5588 +#: flatcamGUI/FlatCAMGUI.py:5639 msgid "Y" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1626 -#: flatcamEditors/FlatCAMExcEditor.py:1737 -#: flatcamEditors/FlatCAMExcEditor.py:1828 -#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:5267 -#: flatcamGUI/FlatCAMGUI.py:5347 flatcamGUI/FlatCAMGUI.py:5398 +#: flatcamEditors/FlatCAMExcEditor.py:1638 +#: flatcamEditors/FlatCAMExcEditor.py:1749 +#: flatcamEditors/FlatCAMExcEditor.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2665 +#: flatcamEditors/FlatCAMGrbEditor.py:2678 +#: flatcamEditors/FlatCAMGrbEditor.py:2714 flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4677 flatcamGUI/FlatCAMGUI.py:5509 +#: flatcamGUI/FlatCAMGUI.py:5526 flatcamGUI/FlatCAMGUI.py:5589 +#: flatcamGUI/FlatCAMGUI.py:5594 flatcamGUI/FlatCAMGUI.py:5640 +#: flatcamGUI/FlatCAMGUI.py:5657 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1630 -#: flatcamEditors/FlatCAMExcEditor.py:1832 -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:5273 -#: flatcamGUI/FlatCAMGUI.py:5404 -msgid "Pitch:" -msgstr "" - -#: flatcamEditors/FlatCAMExcEditor.py:1632 -#: flatcamEditors/FlatCAMExcEditor.py:1834 -#: flatcamEditors/FlatCAMGrbEditor.py:2642 flatcamGUI/FlatCAMGUI.py:5275 -#: flatcamGUI/FlatCAMGUI.py:5406 -msgid "Pitch = Distance between elements of the array." -msgstr "" - -#: flatcamEditors/FlatCAMExcEditor.py:1640 -#: flatcamEditors/FlatCAMExcEditor.py:1674 -#: flatcamEditors/FlatCAMExcEditor.py:1741 -#: flatcamEditors/FlatCAMExcEditor.py:1842 -#: flatcamEditors/FlatCAMExcEditor.py:1876 -#: flatcamEditors/FlatCAMGeoEditor.py:665 -#: flatcamEditors/FlatCAMGrbEditor.py:2649 -#: flatcamEditors/FlatCAMGrbEditor.py:2685 -#: flatcamEditors/FlatCAMGrbEditor.py:4790 flatcamGUI/FlatCAMGUI.py:5284 -#: flatcamGUI/FlatCAMGUI.py:5352 flatcamGUI/FlatCAMGUI.py:5415 -#: flatcamTools/ToolTransform.py:68 -msgid "Angle:" -msgstr "" - #: flatcamEditors/FlatCAMExcEditor.py:1642 #: flatcamEditors/FlatCAMExcEditor.py:1844 -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +msgid "Pitch:" +msgstr "" + +#: flatcamEditors/FlatCAMExcEditor.py:1644 +#: flatcamEditors/FlatCAMExcEditor.py:1846 +#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:5517 flatcamGUI/FlatCAMGUI.py:5648 +msgid "Pitch = Distance between elements of the array." +msgstr "" + +#: flatcamEditors/FlatCAMExcEditor.py:1652 +#: flatcamEditors/FlatCAMExcEditor.py:1686 +#: flatcamEditors/FlatCAMExcEditor.py:1753 +#: flatcamEditors/FlatCAMExcEditor.py:1854 +#: flatcamEditors/FlatCAMExcEditor.py:1888 +#: flatcamEditors/FlatCAMGeoEditor.py:667 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 +msgid "Angle:" +msgstr "" + +#: flatcamEditors/FlatCAMExcEditor.py:1654 +#: flatcamEditors/FlatCAMExcEditor.py:1856 +#: flatcamEditors/FlatCAMGrbEditor.py:2680 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" @@ -1976,57 +1989,58 @@ msgid "" "Max value is: 360.00 degrees." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1663 -#: flatcamEditors/FlatCAMExcEditor.py:1865 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 +#: flatcamEditors/FlatCAMExcEditor.py:1675 +#: flatcamEditors/FlatCAMExcEditor.py:1877 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1670 -#: flatcamEditors/FlatCAMExcEditor.py:1872 -#: flatcamEditors/FlatCAMGrbEditor.py:2680 flatcamGUI/FlatCAMGUI.py:4845 -#: flatcamGUI/FlatCAMGUI.py:5303 flatcamGUI/FlatCAMGUI.py:5434 -#: flatcamGUI/FlatCAMGUI.py:5623 +#: flatcamEditors/FlatCAMExcEditor.py:1682 +#: flatcamEditors/FlatCAMExcEditor.py:1884 +#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamGUI/FlatCAMGUI.py:4696 +#: flatcamGUI/FlatCAMGUI.py:5087 flatcamGUI/FlatCAMGUI.py:5545 +#: flatcamGUI/FlatCAMGUI.py:5676 flatcamGUI/FlatCAMGUI.py:5878 msgid "CW" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1671 -#: flatcamEditors/FlatCAMExcEditor.py:1873 -#: flatcamEditors/FlatCAMGrbEditor.py:2681 flatcamGUI/FlatCAMGUI.py:4846 -#: flatcamGUI/FlatCAMGUI.py:5304 flatcamGUI/FlatCAMGUI.py:5435 -#: flatcamGUI/FlatCAMGUI.py:5624 +#: flatcamEditors/FlatCAMExcEditor.py:1683 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2710 flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5677 flatcamGUI/FlatCAMGUI.py:5879 msgid "CCW" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMGrbEditor.py:2687 flatcamGUI/FlatCAMGUI.py:5286 -#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:5417 -#: flatcamGUI/FlatCAMGUI.py:5443 +#: flatcamEditors/FlatCAMExcEditor.py:1687 +#: flatcamEditors/FlatCAMExcEditor.py:1889 +#: flatcamEditors/FlatCAMGrbEditor.py:2716 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5528 +#: flatcamGUI/FlatCAMGUI.py:5554 flatcamGUI/FlatCAMGUI.py:5659 +#: flatcamGUI/FlatCAMGUI.py:5685 msgid "Angle at which each element in circular array is placed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1705 +#: flatcamEditors/FlatCAMExcEditor.py:1717 msgid "Slot Parameters" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1707 +#: flatcamEditors/FlatCAMExcEditor.py:1719 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1716 flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamEditors/FlatCAMExcEditor.py:1728 msgid "Length:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5569 msgid "Length = The length of the slot." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1728 flatcamGUI/FlatCAMGUI.py:5338 +#: flatcamEditors/FlatCAMExcEditor.py:1740 flatcamGUI/FlatCAMGUI.py:5580 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2034,7 +2048,7 @@ msgid "" "- 'Angle' - a custom angle for the slot inclination" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1743 flatcamGUI/FlatCAMGUI.py:5354 +#: flatcamEditors/FlatCAMExcEditor.py:1755 flatcamGUI/FlatCAMGUI.py:5596 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2042,95 +2056,93 @@ msgid "" "Max value is: 360.00 degrees." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1776 +#: flatcamEditors/FlatCAMExcEditor.py:1788 msgid "Slot Array Parameters" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1778 +#: flatcamEditors/FlatCAMExcEditor.py:1790 msgid "Parameters for the array of slots (linear or circular array)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1787 +#: flatcamEditors/FlatCAMExcEditor.py:1799 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamEditors/FlatCAMExcEditor.py:1811 msgid "Nr of slots:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1800 flatcamGUI/FlatCAMGUI.py:5378 +#: flatcamEditors/FlatCAMExcEditor.py:1812 flatcamGUI/FlatCAMGUI.py:5620 msgid "Specify how many slots to be in the array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2391 +#: flatcamEditors/FlatCAMExcEditor.py:2409 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2400 flatcamGUI/FlatCAMGUI.py:3107 +#: flatcamEditors/FlatCAMExcEditor.py:2418 flatcamGUI/FlatCAMGUI.py:3134 #, python-brace-format msgid "[success] Added new tool with dia: {dia} {units}" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2432 +#: flatcamEditors/FlatCAMExcEditor.py:2450 msgid "[WARNING_NOTCL] Select a tool in Tool Table" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2464 +#: flatcamEditors/FlatCAMExcEditor.py:2482 #, python-brace-format msgid "[success] Deleted tool with dia: {del_dia} {units}" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2615 +#: flatcamEditors/FlatCAMExcEditor.py:2633 msgid "[success] Done. Tool edit completed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3150 +#: flatcamEditors/FlatCAMExcEditor.py:3168 msgid "" "[ERROR_NOTCL] There are no Tools definitions in the file. Aborting Excellon " "creation." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3153 +#: flatcamEditors/FlatCAMExcEditor.py:3171 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3159 +#: flatcamEditors/FlatCAMExcEditor.py:3177 msgid "Creating Excellon." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3168 +#: flatcamEditors/FlatCAMExcEditor.py:3186 msgid "[success] Excellon editing finished." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3185 +#: flatcamEditors/FlatCAMExcEditor.py:3203 msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3767 +#: flatcamEditors/FlatCAMExcEditor.py:3785 msgid "[success] Done. Drill(s) deleted." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3839 -#: flatcamEditors/FlatCAMExcEditor.py:3849 -#: flatcamEditors/FlatCAMGrbEditor.py:4508 +#: flatcamEditors/FlatCAMExcEditor.py:3857 +#: flatcamEditors/FlatCAMExcEditor.py:3867 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 msgid "Click on the circular array Center position" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:80 -#: flatcamEditors/FlatCAMGrbEditor.py:2463 +#: flatcamEditors/FlatCAMGeoEditor.py:82 msgid "Buffer distance:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:81 -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGeoEditor.py:83 msgid "Buffer corner:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:83 +#: flatcamEditors/FlatCAMGeoEditor.py:85 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded for exterior buffer.\n" @@ -2139,78 +2151,75 @@ msgid "" "meeting in the corner" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:89 -#: flatcamEditors/FlatCAMGrbEditor.py:2472 +#: flatcamEditors/FlatCAMGeoEditor.py:91 +#: flatcamEditors/FlatCAMGrbEditor.py:2502 msgid "Round" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:90 -#: flatcamEditors/FlatCAMGrbEditor.py:2473 +#: flatcamEditors/FlatCAMGeoEditor.py:92 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Square" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:91 -#: flatcamEditors/FlatCAMGrbEditor.py:2474 +#: flatcamEditors/FlatCAMGeoEditor.py:93 +#: flatcamEditors/FlatCAMGrbEditor.py:2504 msgid "Beveled" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:98 +#: flatcamEditors/FlatCAMGeoEditor.py:100 msgid "Buffer Interior" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:100 +#: flatcamEditors/FlatCAMGeoEditor.py:102 msgid "Buffer Exterior" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:106 +#: flatcamEditors/FlatCAMGeoEditor.py:108 msgid "Full Buffer" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:127 -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:129 +#: flatcamEditors/FlatCAMGeoEditor.py:2689 flatcamGUI/FlatCAMGUI.py:4712 msgid "Buffer Tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:138 -#: flatcamEditors/FlatCAMGeoEditor.py:155 -#: flatcamEditors/FlatCAMGeoEditor.py:172 -#: flatcamEditors/FlatCAMGeoEditor.py:2705 -#: flatcamEditors/FlatCAMGeoEditor.py:2731 -#: flatcamEditors/FlatCAMGeoEditor.py:2757 -#: flatcamEditors/FlatCAMGrbEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:140 +#: flatcamEditors/FlatCAMGeoEditor.py:157 +#: flatcamEditors/FlatCAMGeoEditor.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:2707 +#: flatcamEditors/FlatCAMGeoEditor.py:2735 +#: flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamEditors/FlatCAMGrbEditor.py:4596 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:345 msgid "Text Tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:401 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:826 msgid "Tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:432 flatcamGUI/FlatCAMGUI.py:4225 -#: flatcamGUI/FlatCAMGUI.py:5489 flatcamGUI/FlatCAMGUI.py:5923 -#: flatcamGUI/FlatCAMGUI.py:6242 flatcamGUI/FlatCAMGUI.py:6397 -#: flatcamGUI/ObjectUI.py:259 +#: flatcamEditors/FlatCAMGeoEditor.py:434 msgid "Tool dia:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:6399 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6686 msgid "" "Diameter of the tool to\n" "be used in the operation." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:443 flatcamGUI/FlatCAMGUI.py:6106 -#: flatcamGUI/FlatCAMGUI.py:6408 flatcamTools/ToolNonCopperClear.py:165 -#: flatcamTools/ToolPaint.py:160 +#: flatcamEditors/FlatCAMGeoEditor.py:445 +#: flatcamTools/ToolNonCopperClear.py:201 msgid "Overlap Rate:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamTools/ToolPaint.py:162 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6717 +#: flatcamTools/ToolPaint.py:207 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -2225,169 +2234,163 @@ msgid "" "due of too many paths." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:461 flatcamGUI/FlatCAMGUI.py:6122 -#: flatcamGUI/FlatCAMGUI.py:6265 flatcamGUI/FlatCAMGUI.py:6418 -#: flatcamTools/ToolCutOut.py:101 flatcamTools/ToolNonCopperClear.py:181 -#: flatcamTools/ToolPaint.py:177 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamTools/ToolCutOut.py:101 msgid "Margin:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6420 -#: flatcamTools/ToolPaint.py:179 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6734 +#: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" "the edges of the polygon to\n" "be painted." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/FlatCAMGUI.py:6131 -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamTools/ToolNonCopperClear.py:190 -#: flatcamTools/ToolPaint.py:188 +#: flatcamEditors/FlatCAMGeoEditor.py:474 msgid "Method:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamEditors/FlatCAMGeoEditor.py:476 msgid "" "Algorithm to paint the polygon:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:480 flatcamGUI/FlatCAMGUI.py:6140 -#: flatcamGUI/FlatCAMGUI.py:6437 flatcamTools/ToolNonCopperClear.py:199 -#: flatcamTools/ToolPaint.py:197 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6418 +#: flatcamGUI/FlatCAMGUI.py:6752 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:481 flatcamGUI/FlatCAMGUI.py:6141 -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:200 -#: flatcamTools/ToolPaint.py:198 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6419 +#: flatcamGUI/FlatCAMGUI.py:6753 flatcamTools/ToolNonCopperClear.py:236 +#: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6142 -#: flatcamGUI/FlatCAMGUI.py:6439 flatcamTools/ToolNonCopperClear.py:201 -#: flatcamTools/ToolPaint.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6420 +#: flatcamGUI/FlatCAMGUI.py:6754 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/FlatCAMGUI.py:6147 -#: flatcamGUI/FlatCAMGUI.py:6444 flatcamTools/ToolNonCopperClear.py:206 -#: flatcamTools/ToolPaint.py:204 +#: flatcamEditors/FlatCAMGeoEditor.py:489 msgid "Connect:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/FlatCAMGUI.py:6149 -#: flatcamGUI/FlatCAMGUI.py:6446 flatcamTools/ToolNonCopperClear.py:208 -#: flatcamTools/ToolPaint.py:206 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6427 +#: flatcamGUI/FlatCAMGUI.py:6761 flatcamTools/ToolNonCopperClear.py:244 +#: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" "segments to minimize tool lifts." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/FlatCAMGUI.py:6156 -#: flatcamGUI/FlatCAMGUI.py:6454 flatcamTools/ToolNonCopperClear.py:215 -#: flatcamTools/ToolPaint.py:213 +#: flatcamEditors/FlatCAMGeoEditor.py:498 msgid "Contour:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/FlatCAMGUI.py:6158 -#: flatcamGUI/FlatCAMGUI.py:6456 flatcamTools/ToolNonCopperClear.py:217 -#: flatcamTools/ToolPaint.py:215 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6436 +#: flatcamGUI/FlatCAMGUI.py:6771 flatcamTools/ToolNonCopperClear.py:253 +#: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/FlatCAMGUI.py:1654 +#: flatcamEditors/FlatCAMGeoEditor.py:511 flatcamGUI/FlatCAMGUI.py:1655 msgid "Paint" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:527 flatcamGUI/FlatCAMGUI.py:660 -#: flatcamGUI/FlatCAMGUI.py:1952 flatcamGUI/ObjectUI.py:1321 -#: flatcamTools/ToolPaint.py:343 +#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 +#: flatcamGUI/FlatCAMGUI.py:1979 flatcamGUI/ObjectUI.py:1297 +#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:563 +#: flatcamEditors/FlatCAMGeoEditor.py:565 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:372 -#: flatcamTools/ToolCutOut.py:565 flatcamTools/ToolCutOut.py:727 -#: flatcamTools/ToolCutOut.py:834 flatcamTools/ToolDblSided.py:362 +#: flatcamEditors/FlatCAMGeoEditor.py:576 flatcamTools/ToolCutOut.py:381 +#: flatcamTools/ToolCutOut.py:577 flatcamTools/ToolCutOut.py:743 +#: flatcamTools/ToolCutOut.py:873 flatcamTools/ToolDblSided.py:367 msgid "" "[WARNING_NOTCL] Tool diameter value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:585 +#: flatcamEditors/FlatCAMGeoEditor.py:587 msgid "" "[WARNING_NOTCL] Overlap value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:597 +#: flatcamEditors/FlatCAMGeoEditor.py:599 msgid "" "[WARNING_NOTCL] Margin distance value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:606 -#: flatcamEditors/FlatCAMGeoEditor.py:2712 -#: flatcamEditors/FlatCAMGeoEditor.py:2738 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 -#: flatcamTools/ToolNonCopperClear.py:986 flatcamTools/ToolProperties.py:104 +#: flatcamEditors/FlatCAMGeoEditor.py:608 +#: flatcamEditors/FlatCAMGeoEditor.py:2714 +#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2770 flatcamGUI/FlatCAMGUI.py:5727 +#: flatcamTools/ToolProperties.py:109 flatcamTools/ToolProperties.py:134 msgid "Tools" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:617 -#: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4741 -#: flatcamEditors/FlatCAMGrbEditor.py:5126 flatcamGUI/FlatCAMGUI.py:671 -#: flatcamGUI/FlatCAMGUI.py:1965 flatcamTools/ToolTransform.py:397 +#: flatcamEditors/FlatCAMGeoEditor.py:619 +#: flatcamEditors/FlatCAMGeoEditor.py:992 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 +#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/FlatCAMGUI.py:672 +#: flatcamGUI/FlatCAMGUI.py:1992 flatcamTools/ToolTransform.py:403 msgid "Transform Tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:618 -#: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4742 -#: flatcamEditors/FlatCAMGrbEditor.py:4804 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGeoEditor.py:620 +#: flatcamEditors/FlatCAMGeoEditor.py:681 +#: flatcamEditors/FlatCAMGrbEditor.py:4778 +#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4743 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGeoEditor.py:621 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:620 -#: flatcamEditors/FlatCAMGrbEditor.py:2519 -#: flatcamEditors/FlatCAMGrbEditor.py:4744 flatcamGUI/FlatCAMGUI.py:738 -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:2034 -#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGeoEditor.py:622 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 +#: flatcamEditors/FlatCAMGrbEditor.py:4780 flatcamGUI/FlatCAMGUI.py:739 +#: flatcamGUI/FlatCAMGUI.py:1682 flatcamGUI/FlatCAMGUI.py:2061 +#: flatcamGUI/ObjectUI.py:79 flatcamGUI/ObjectUI.py:100 +#: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4745 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGeoEditor.py:623 +#: flatcamEditors/FlatCAMGrbEditor.py:4781 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4746 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGeoEditor.py:624 +#: flatcamEditors/FlatCAMGrbEditor.py:4782 flatcamGUI/FlatCAMGUI.py:6458 +#: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:275 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4758 +#: flatcamEditors/FlatCAMGeoEditor.py:635 +#: flatcamEditors/FlatCAMGrbEditor.py:4794 #, python-format msgid "Editor %s" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4792 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGeoEditor.py:669 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2395,115 +2398,116 @@ msgid "" "Negative numbers for CCW motion." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4806 +#: flatcamEditors/FlatCAMGeoEditor.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:4842 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" "the bounding box for all selected shapes." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGeoEditor.py:706 +#: flatcamEditors/FlatCAMGrbEditor.py:4865 msgid "Angle X:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:706 -#: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 -#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGeoEditor.py:708 +#: flatcamEditors/FlatCAMGeoEditor.py:726 +#: flatcamEditors/FlatCAMGrbEditor.py:4867 +#: flatcamEditors/FlatCAMGrbEditor.py:4885 flatcamGUI/FlatCAMGUI.py:7094 +#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" "Float number between -360 and 359." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4840 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:717 +#: flatcamEditors/FlatCAMGrbEditor.py:4876 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:717 -#: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4842 -#: flatcamEditors/FlatCAMGrbEditor.py:4860 +#: flatcamEditors/FlatCAMGeoEditor.py:719 +#: flatcamEditors/FlatCAMGeoEditor.py:737 +#: flatcamEditors/FlatCAMGrbEditor.py:4878 +#: flatcamEditors/FlatCAMGrbEditor.py:4896 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" "the bounding box for all selected shapes." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4847 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGeoEditor.py:724 +#: flatcamEditors/FlatCAMGrbEditor.py:4883 msgid "Angle Y:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4858 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGeoEditor.py:735 +#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4886 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGeoEditor.py:763 +#: flatcamEditors/FlatCAMGrbEditor.py:4922 msgid "Factor X:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGeoEditor.py:765 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 msgid "Factor for Scale action over X axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4896 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGeoEditor.py:773 +#: flatcamEditors/FlatCAMGrbEditor.py:4932 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:773 -#: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4898 -#: flatcamEditors/FlatCAMGrbEditor.py:4915 +#: flatcamEditors/FlatCAMGeoEditor.py:775 +#: flatcamEditors/FlatCAMGeoEditor.py:792 +#: flatcamEditors/FlatCAMGrbEditor.py:4934 +#: flatcamEditors/FlatCAMGrbEditor.py:4951 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" "the Scale reference checkbox state." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4903 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGeoEditor.py:780 +#: flatcamEditors/FlatCAMGrbEditor.py:4939 msgid "Factor Y:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4905 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGeoEditor.py:782 +#: flatcamEditors/FlatCAMGrbEditor.py:4941 msgid "Factor for Scale action over Y axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4913 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:790 +#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4922 flatcamGUI/FlatCAMGUI.py:6803 +#: flatcamEditors/FlatCAMGeoEditor.py:799 +#: flatcamEditors/FlatCAMGrbEditor.py:4958 flatcamGUI/FlatCAMGUI.py:7129 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4924 +#: flatcamEditors/FlatCAMGeoEditor.py:801 +#: flatcamEditors/FlatCAMGrbEditor.py:4960 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4930 flatcamGUI/FlatCAMGUI.py:6811 -#: flatcamTools/ToolTransform.py:208 +#: flatcamEditors/FlatCAMGeoEditor.py:807 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:7137 +#: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4932 +#: flatcamEditors/FlatCAMGeoEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2511,72 +2515,72 @@ msgid "" "of the selected shapes when unchecked." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGeoEditor.py:837 +#: flatcamEditors/FlatCAMGrbEditor.py:4997 msgid "Value X:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:839 +#: flatcamEditors/FlatCAMGrbEditor.py:4999 msgid "Value for Offset action on X axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4971 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGeoEditor.py:847 +#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:249 msgid "Offset X" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:847 -#: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4973 -#: flatcamEditors/FlatCAMGrbEditor.py:4991 +#: flatcamEditors/FlatCAMGeoEditor.py:849 +#: flatcamEditors/FlatCAMGeoEditor.py:867 +#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5027 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" "the bounding box for all selected shapes.\n" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4979 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGeoEditor.py:855 +#: flatcamEditors/FlatCAMGrbEditor.py:5015 msgid "Value Y:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4981 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGeoEditor.py:857 +#: flatcamEditors/FlatCAMGrbEditor.py:5017 msgid "Value for Offset action on Y axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGeoEditor.py:865 +#: flatcamEditors/FlatCAMGrbEditor.py:5025 flatcamTools/ToolTransform.py:266 msgid "Offset Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:5020 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGeoEditor.py:896 +#: flatcamEditors/FlatCAMGrbEditor.py:5056 flatcamTools/ToolTransform.py:296 msgid "Flip on X" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:896 -#: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:5022 -#: flatcamEditors/FlatCAMGrbEditor.py:5030 +#: flatcamEditors/FlatCAMGeoEditor.py:898 +#: flatcamEditors/FlatCAMGeoEditor.py:906 +#: flatcamEditors/FlatCAMGrbEditor.py:5058 +#: flatcamEditors/FlatCAMGrbEditor.py:5066 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:5028 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGeoEditor.py:904 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamTools/ToolTransform.py:304 msgid "Flip on Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5037 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGeoEditor.py:913 +#: flatcamEditors/FlatCAMGrbEditor.py:5073 msgid "Ref Pt" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:5039 +#: flatcamEditors/FlatCAMGeoEditor.py:915 +#: flatcamEditors/FlatCAMGrbEditor.py:5075 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2589,536 +2593,539 @@ msgid "" "Point Entry field and click Flip on X(Y)" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGeoEditor.py:927 +#: flatcamEditors/FlatCAMGrbEditor.py:5087 msgid "Point:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGeoEditor.py:929 +#: flatcamEditors/FlatCAMGrbEditor.py:5089 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" "the 'y' in (x, y) will be used when using Flip on Y." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:5065 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:941 +#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamTools/ToolTransform.py:340 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" "SHIFT key. Then click Add button to insert." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:5190 +#: flatcamEditors/FlatCAMGeoEditor.py:1056 +#: flatcamEditors/FlatCAMGrbEditor.py:5226 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:467 +#: flatcamEditors/FlatCAMGeoEditor.py:1077 +#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamTools/ToolTransform.py:473 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamTools/ToolTransform.py:501 +#: flatcamEditors/FlatCAMGeoEditor.py:1114 +#: flatcamEditors/FlatCAMGrbEditor.py:5289 flatcamTools/ToolTransform.py:507 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5280 flatcamTools/ToolTransform.py:519 +#: flatcamEditors/FlatCAMGeoEditor.py:1135 +#: flatcamEditors/FlatCAMGrbEditor.py:5316 flatcamTools/ToolTransform.py:525 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5307 flatcamTools/ToolTransform.py:537 +#: flatcamEditors/FlatCAMGeoEditor.py:1156 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:543 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamTools/ToolTransform.py:571 +#: flatcamEditors/FlatCAMGeoEditor.py:1193 +#: flatcamEditors/FlatCAMGrbEditor.py:5384 flatcamTools/ToolTransform.py:577 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:600 +#: flatcamEditors/FlatCAMGeoEditor.py:1225 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:606 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5412 flatcamTools/ToolTransform.py:618 +#: flatcamEditors/FlatCAMGeoEditor.py:1246 +#: flatcamEditors/FlatCAMGrbEditor.py:5448 flatcamTools/ToolTransform.py:624 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5435 +#: flatcamEditors/FlatCAMGeoEditor.py:1264 +#: flatcamEditors/FlatCAMGrbEditor.py:5471 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5438 flatcamTools/ToolTransform.py:639 +#: flatcamEditors/FlatCAMGeoEditor.py:1267 +#: flatcamEditors/FlatCAMGrbEditor.py:5474 flatcamTools/ToolTransform.py:645 msgid "Appying Rotate" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5471 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 +#: flatcamEditors/FlatCAMGrbEditor.py:5507 msgid "[success] Done. Rotate completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5490 +#: flatcamEditors/FlatCAMGeoEditor.py:1311 +#: flatcamEditors/FlatCAMGrbEditor.py:5526 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamTools/ToolTransform.py:690 +#: flatcamEditors/FlatCAMGeoEditor.py:1314 +#: flatcamEditors/FlatCAMGrbEditor.py:5529 flatcamTools/ToolTransform.py:696 msgid "Applying Flip" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 flatcamTools/ToolTransform.py:732 +#: flatcamEditors/FlatCAMGeoEditor.py:1344 +#: flatcamEditors/FlatCAMGrbEditor.py:5568 flatcamTools/ToolTransform.py:738 msgid "[success] Flip on the Y axis done ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5540 flatcamTools/ToolTransform.py:741 +#: flatcamEditors/FlatCAMGeoEditor.py:1347 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 flatcamTools/ToolTransform.py:747 msgid "[success] Flip on the X axis done ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5560 +#: flatcamEditors/FlatCAMGeoEditor.py:1366 +#: flatcamEditors/FlatCAMGrbEditor.py:5596 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolTransform.py:759 +#: flatcamEditors/FlatCAMGeoEditor.py:1369 +#: flatcamEditors/FlatCAMGrbEditor.py:5599 flatcamTools/ToolTransform.py:765 msgid "Applying Skew" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5598 flatcamTools/ToolTransform.py:790 +#: flatcamEditors/FlatCAMGeoEditor.py:1394 +#: flatcamEditors/FlatCAMGrbEditor.py:5634 flatcamTools/ToolTransform.py:796 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5602 flatcamTools/ToolTransform.py:794 +#: flatcamEditors/FlatCAMGeoEditor.py:1398 +#: flatcamEditors/FlatCAMGrbEditor.py:5638 flatcamTools/ToolTransform.py:800 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5621 +#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGrbEditor.py:5657 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5624 flatcamTools/ToolTransform.py:808 +#: flatcamEditors/FlatCAMGeoEditor.py:1412 +#: flatcamEditors/FlatCAMGrbEditor.py:5660 flatcamTools/ToolTransform.py:814 msgid "Applying Scale" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:847 +#: flatcamEditors/FlatCAMGeoEditor.py:1445 +#: flatcamEditors/FlatCAMGrbEditor.py:5698 flatcamTools/ToolTransform.py:853 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5665 flatcamTools/ToolTransform.py:850 +#: flatcamEditors/FlatCAMGeoEditor.py:1448 +#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:856 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5678 +#: flatcamEditors/FlatCAMGeoEditor.py:1457 +#: flatcamEditors/FlatCAMGrbEditor.py:5714 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5681 flatcamTools/ToolTransform.py:860 +#: flatcamEditors/FlatCAMGeoEditor.py:1460 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 flatcamTools/ToolTransform.py:866 msgid "Applying Offset" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5703 flatcamTools/ToolTransform.py:879 +#: flatcamEditors/FlatCAMGeoEditor.py:1471 +#: flatcamEditors/FlatCAMGrbEditor.py:5739 flatcamTools/ToolTransform.py:885 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5707 flatcamTools/ToolTransform.py:883 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 +#: flatcamEditors/FlatCAMGrbEditor.py:5743 flatcamTools/ToolTransform.py:889 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5711 +#: flatcamEditors/FlatCAMGeoEditor.py:1479 +#: flatcamEditors/FlatCAMGrbEditor.py:5747 msgid "Rotate ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1478 -#: flatcamEditors/FlatCAMGeoEditor.py:1535 -#: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5712 -#: flatcamEditors/FlatCAMGrbEditor.py:5769 -#: flatcamEditors/FlatCAMGrbEditor.py:5786 +#: flatcamEditors/FlatCAMGeoEditor.py:1480 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 +#: flatcamEditors/FlatCAMGrbEditor.py:5748 +#: flatcamEditors/FlatCAMGrbEditor.py:5805 +#: flatcamEditors/FlatCAMGrbEditor.py:5822 msgid "Enter an Angle Value (degrees):" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5721 +#: flatcamEditors/FlatCAMGeoEditor.py:1489 +#: flatcamEditors/FlatCAMGrbEditor.py:5757 msgid "[success] Geometry shape rotate done..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5726 +#: flatcamEditors/FlatCAMGeoEditor.py:1494 +#: flatcamEditors/FlatCAMGrbEditor.py:5762 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5732 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGrbEditor.py:5768 msgid "Offset on X axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1499 -#: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5733 -#: flatcamEditors/FlatCAMGrbEditor.py:5752 +#: flatcamEditors/FlatCAMGeoEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:1520 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 +#: flatcamEditors/FlatCAMGrbEditor.py:5788 #, python-format msgid "Enter a distance Value (%s):" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5742 +#: flatcamEditors/FlatCAMGeoEditor.py:1510 +#: flatcamEditors/FlatCAMGrbEditor.py:5778 msgid "[success] Geometry shape offset on X axis done..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5746 +#: flatcamEditors/FlatCAMGeoEditor.py:1514 +#: flatcamEditors/FlatCAMGrbEditor.py:5782 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5751 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 +#: flatcamEditors/FlatCAMGrbEditor.py:5787 msgid "Offset on Y axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5761 +#: flatcamEditors/FlatCAMGeoEditor.py:1529 +#: flatcamEditors/FlatCAMGrbEditor.py:5797 msgid "[success] Geometry shape offset on Y axis done..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5765 +#: flatcamEditors/FlatCAMGeoEditor.py:1533 +#: flatcamEditors/FlatCAMGrbEditor.py:5801 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5768 +#: flatcamEditors/FlatCAMGeoEditor.py:1536 +#: flatcamEditors/FlatCAMGrbEditor.py:5804 msgid "Skew on X axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:1546 +#: flatcamEditors/FlatCAMGrbEditor.py:5814 msgid "[success] Geometry shape skew on X axis done..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5782 +#: flatcamEditors/FlatCAMGeoEditor.py:1550 +#: flatcamEditors/FlatCAMGrbEditor.py:5818 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5785 +#: flatcamEditors/FlatCAMGeoEditor.py:1553 +#: flatcamEditors/FlatCAMGrbEditor.py:5821 msgid "Skew on Y axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5795 +#: flatcamEditors/FlatCAMGeoEditor.py:1563 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "[success] Geometry shape skew on Y axis done..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5799 +#: flatcamEditors/FlatCAMGeoEditor.py:1567 +#: flatcamEditors/FlatCAMGrbEditor.py:5835 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1929 -#: flatcamEditors/FlatCAMGeoEditor.py:1980 -#: flatcamEditors/FlatCAMGrbEditor.py:1361 -#: flatcamEditors/FlatCAMGrbEditor.py:1430 +#: flatcamEditors/FlatCAMGeoEditor.py:1931 +#: flatcamEditors/FlatCAMGeoEditor.py:1982 +#: flatcamEditors/FlatCAMGrbEditor.py:1385 +#: flatcamEditors/FlatCAMGrbEditor.py:1454 msgid "Click on Center point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1936 -#: flatcamEditors/FlatCAMGrbEditor.py:1369 +#: flatcamEditors/FlatCAMGeoEditor.py:1938 +#: flatcamEditors/FlatCAMGrbEditor.py:1393 msgid "Click on Perimeter point to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1965 +#: flatcamEditors/FlatCAMGeoEditor.py:1967 msgid "[success] Done. Adding Circle completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2000 -#: flatcamEditors/FlatCAMGrbEditor.py:1462 +#: flatcamEditors/FlatCAMGeoEditor.py:2002 +#: flatcamEditors/FlatCAMGrbEditor.py:1486 msgid "Click on Start point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2002 -#: flatcamEditors/FlatCAMGrbEditor.py:1464 +#: flatcamEditors/FlatCAMGeoEditor.py:2004 +#: flatcamEditors/FlatCAMGrbEditor.py:1488 msgid "Click on Point3 ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2004 -#: flatcamEditors/FlatCAMGrbEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGrbEditor.py:1490 msgid "Click on Stop point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2009 -#: flatcamEditors/FlatCAMGrbEditor.py:1471 +#: flatcamEditors/FlatCAMGeoEditor.py:2011 +#: flatcamEditors/FlatCAMGrbEditor.py:1495 msgid "Click on Stop point to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2011 -#: flatcamEditors/FlatCAMGrbEditor.py:1473 +#: flatcamEditors/FlatCAMGeoEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:1497 msgid "Click on Point2 to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2013 -#: flatcamEditors/FlatCAMGrbEditor.py:1475 +#: flatcamEditors/FlatCAMGeoEditor.py:2015 +#: flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Center point to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2025 -#: flatcamEditors/FlatCAMGrbEditor.py:1487 +#: flatcamEditors/FlatCAMGeoEditor.py:2027 +#: flatcamEditors/FlatCAMGrbEditor.py:1511 #, python-format msgid "Direction: %s" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 -#: flatcamEditors/FlatCAMGrbEditor.py:1497 +#: flatcamEditors/FlatCAMGeoEditor.py:2037 +#: flatcamEditors/FlatCAMGrbEditor.py:1521 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2038 -#: flatcamEditors/FlatCAMGrbEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:2040 +#: flatcamEditors/FlatCAMGrbEditor.py:1524 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2041 -#: flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2043 +#: flatcamEditors/FlatCAMGrbEditor.py:1527 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2179 +#: flatcamEditors/FlatCAMGeoEditor.py:2181 msgid "[success] Done. Arc completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2198 -#: flatcamEditors/FlatCAMGeoEditor.py:2251 -#: flatcamEditors/FlatCAMGeoEditor.py:2626 +#: flatcamEditors/FlatCAMGeoEditor.py:2200 +#: flatcamEditors/FlatCAMGeoEditor.py:2253 +#: flatcamEditors/FlatCAMGeoEditor.py:2628 msgid "Click on 1st corner ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2204 +#: flatcamEditors/FlatCAMGeoEditor.py:2206 msgid "Click on opposite corner to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2232 +#: flatcamEditors/FlatCAMGeoEditor.py:2234 msgid "[success] Done. Rectangle completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2258 +#: flatcamEditors/FlatCAMGeoEditor.py:2260 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2288 msgid "[success] Done. Polygon completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2296 -#: flatcamEditors/FlatCAMGeoEditor.py:2342 -#: flatcamEditors/FlatCAMGrbEditor.py:1058 -#: flatcamEditors/FlatCAMGrbEditor.py:1252 +#: flatcamEditors/FlatCAMGeoEditor.py:2298 +#: flatcamEditors/FlatCAMGeoEditor.py:2344 +#: flatcamEditors/FlatCAMGrbEditor.py:1075 +#: flatcamEditors/FlatCAMGrbEditor.py:1276 msgid "Backtracked one point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2324 +#: flatcamEditors/FlatCAMGeoEditor.py:2326 msgid "[success] Done. Path completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2447 +#: flatcamEditors/FlatCAMGeoEditor.py:2449 msgid "[WARNING_NOTCL] MOVE: No shape selected. Select a shape to move ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2449 -#: flatcamEditors/FlatCAMGeoEditor.py:2461 +#: flatcamEditors/FlatCAMGeoEditor.py:2451 +#: flatcamEditors/FlatCAMGeoEditor.py:2463 msgid " MOVE: Click on reference point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2452 +#: flatcamEditors/FlatCAMGeoEditor.py:2454 msgid " Click on destination point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2486 +#: flatcamEditors/FlatCAMGeoEditor.py:2488 msgid "[success] Done. Geometry(s) Move completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2606 +#: flatcamEditors/FlatCAMGeoEditor.py:2608 msgid "[success] Done. Geometry(s) Copy completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2642 +#: flatcamEditors/FlatCAMGeoEditor.py:2644 #, python-format msgid "" "[ERROR]Font not supported. Only Regular, Bold, Italic and BoldItalic are " "supported. Error: %s" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2649 +#: flatcamEditors/FlatCAMGeoEditor.py:2651 msgid "[WARNING_NOTCL] No text to add." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2655 +#: flatcamEditors/FlatCAMGeoEditor.py:2657 msgid "[success] Done. Adding Text completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2683 +#: flatcamEditors/FlatCAMGeoEditor.py:2685 msgid "Create buffer geometry ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2694 -#: flatcamEditors/FlatCAMGeoEditor.py:2720 -#: flatcamEditors/FlatCAMGeoEditor.py:2746 +#: flatcamEditors/FlatCAMGeoEditor.py:2696 +#: flatcamEditors/FlatCAMGeoEditor.py:2724 +#: flatcamEditors/FlatCAMGeoEditor.py:2752 msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2716 -#: flatcamEditors/FlatCAMGrbEditor.py:4605 +#: flatcamEditors/FlatCAMGeoEditor.py:2720 +#: flatcamEditors/FlatCAMGrbEditor.py:4641 msgid "[success] Done. Buffer Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2742 +#: flatcamEditors/FlatCAMGeoEditor.py:2748 msgid "[success] Done. Buffer Int Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2768 +#: flatcamEditors/FlatCAMGeoEditor.py:2776 msgid "[success] Done. Buffer Ext Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2803 -#: flatcamEditors/FlatCAMGrbEditor.py:2028 +#: flatcamEditors/FlatCAMGeoEditor.py:2811 +#: flatcamEditors/FlatCAMGrbEditor.py:2052 msgid "Select a shape to act as deletion area ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2805 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2830 -#: flatcamEditors/FlatCAMGrbEditor.py:2030 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 +#: flatcamEditors/FlatCAMGeoEditor.py:2832 +#: flatcamEditors/FlatCAMGeoEditor.py:2838 +#: flatcamEditors/FlatCAMGrbEditor.py:2054 msgid "Click to pick-up the erase shape..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2834 -#: flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2842 +#: flatcamEditors/FlatCAMGrbEditor.py:2111 msgid "Click to erase ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2863 -#: flatcamEditors/FlatCAMGrbEditor.py:2120 +#: flatcamEditors/FlatCAMGeoEditor.py:2871 +#: flatcamEditors/FlatCAMGrbEditor.py:2144 msgid "[success] Done. Eraser tool action completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2906 +#: flatcamEditors/FlatCAMGeoEditor.py:2914 msgid "Create Paint geometry ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2920 -#: flatcamEditors/FlatCAMGrbEditor.py:2262 +#: flatcamEditors/FlatCAMGeoEditor.py:2928 +#: flatcamEditors/FlatCAMGrbEditor.py:2292 msgid "Shape transformations ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3465 +#: flatcamEditors/FlatCAMGeoEditor.py:3506 #, python-brace-format msgid "" "[WARNING_NOTCL] Editing MultiGeo Geometry, tool: {tool} with diameter: {dia}" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3822 +#: flatcamEditors/FlatCAMGeoEditor.py:3863 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3829 flatcamGUI/FlatCAMGUI.py:2825 -#: flatcamGUI/FlatCAMGUI.py:2871 flatcamGUI/FlatCAMGUI.py:2889 -#: flatcamGUI/FlatCAMGUI.py:3020 flatcamGUI/FlatCAMGUI.py:3032 -#: flatcamGUI/FlatCAMGUI.py:3066 flatcamGUI/FlatCAMGUI.py:3123 +#: flatcamEditors/FlatCAMGeoEditor.py:3870 flatcamGUI/FlatCAMGUI.py:2852 +#: flatcamGUI/FlatCAMGUI.py:2898 flatcamGUI/FlatCAMGUI.py:2916 +#: flatcamGUI/FlatCAMGUI.py:3047 flatcamGUI/FlatCAMGUI.py:3059 +#: flatcamGUI/FlatCAMGUI.py:3093 flatcamGUI/FlatCAMGUI.py:3150 msgid "Click on target point." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4073 -#: flatcamEditors/FlatCAMGeoEditor.py:4108 +#: flatcamEditors/FlatCAMGeoEditor.py:4114 +#: flatcamEditors/FlatCAMGeoEditor.py:4149 msgid "" "[WARNING_NOTCL] A selection of at least 2 geo items is required to do " "Intersection." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4194 -#: flatcamEditors/FlatCAMGeoEditor.py:4232 -#: flatcamEditors/FlatCAMGeoEditor.py:4308 +#: flatcamEditors/FlatCAMGeoEditor.py:4235 +#: flatcamEditors/FlatCAMGeoEditor.py:4335 msgid "" "[ERROR_NOTCL] Negative buffer value is not accepted. Use Buffer interior to " "generate an 'inside' shape" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4203 -#: flatcamEditors/FlatCAMGeoEditor.py:4241 -#: flatcamEditors/FlatCAMGeoEditor.py:4316 +#: flatcamEditors/FlatCAMGeoEditor.py:4244 +#: flatcamEditors/FlatCAMGeoEditor.py:4296 +#: flatcamEditors/FlatCAMGeoEditor.py:4343 msgid "[WARNING_NOTCL] Nothing selected for buffering." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4207 -#: flatcamEditors/FlatCAMGeoEditor.py:4245 -#: flatcamEditors/FlatCAMGeoEditor.py:4320 +#: flatcamEditors/FlatCAMGeoEditor.py:4248 +#: flatcamEditors/FlatCAMGeoEditor.py:4300 +#: flatcamEditors/FlatCAMGeoEditor.py:4347 msgid "[WARNING_NOTCL] Invalid distance for buffering." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4217 -#: flatcamEditors/FlatCAMGeoEditor.py:4329 +#: flatcamEditors/FlatCAMGeoEditor.py:4271 +#: flatcamEditors/FlatCAMGeoEditor.py:4366 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a different buffer value." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4225 +#: flatcamEditors/FlatCAMGeoEditor.py:4281 msgid "[success] Full buffer geometry created." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4255 +#: flatcamEditors/FlatCAMGeoEditor.py:4288 +msgid "[ERROR_NOTCL] Negative buffer value is not accepted." +msgstr "" + +#: flatcamEditors/FlatCAMGeoEditor.py:4319 msgid "" "[ERROR_NOTCL] Failed, the result is empty. Choose a smaller buffer value." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4270 +#: flatcamEditors/FlatCAMGeoEditor.py:4329 msgid "[success] Interior buffer geometry created." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4341 +#: flatcamEditors/FlatCAMGeoEditor.py:4376 msgid "[success] Exterior buffer geometry created." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4405 +#: flatcamEditors/FlatCAMGeoEditor.py:4440 msgid "[WARNING_NOTCL] Nothing selected for painting." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4411 +#: flatcamEditors/FlatCAMGeoEditor.py:4446 msgid "[WARNING] Invalid value for {}" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4417 +#: flatcamEditors/FlatCAMGeoEditor.py:4452 msgid "" "[ERROR_NOTCL] Could not do Paint. Overlap value has to be less than 1.00 " "(100%)." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4476 +#: flatcamEditors/FlatCAMGeoEditor.py:4511 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -3126,217 +3133,218 @@ msgid "" "%s" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4487 +#: flatcamEditors/FlatCAMGeoEditor.py:4522 msgid "[success] Paint done." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:200 +#: flatcamEditors/FlatCAMGrbEditor.py:208 msgid "[WARNING_NOTCL] To add an Pad first select a aperture in Aperture Table" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:206 -#: flatcamEditors/FlatCAMGrbEditor.py:398 +#: flatcamEditors/FlatCAMGrbEditor.py:214 +#: flatcamEditors/FlatCAMGrbEditor.py:406 msgid "" "[WARNING_NOTCL] Aperture size is zero. It needs to be greater than zero." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:357 -#: flatcamEditors/FlatCAMGrbEditor.py:662 +#: flatcamEditors/FlatCAMGrbEditor.py:365 +#: flatcamEditors/FlatCAMGrbEditor.py:670 msgid "" "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:369 +#: flatcamEditors/FlatCAMGrbEditor.py:377 msgid "[success] Done. Adding Pad completed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:391 +#: flatcamEditors/FlatCAMGrbEditor.py:399 msgid "" "[WARNING_NOTCL] To add an Pad Array first select a aperture in Aperture Table" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:476 msgid "Click on the Pad Circular Array Start position" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:687 +#: flatcamEditors/FlatCAMGrbEditor.py:695 msgid "[WARNING_NOTCL] Too many Pads for the selected spacing angle." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:709 +#: flatcamEditors/FlatCAMGrbEditor.py:717 msgid "[success] Done. Pad Array added." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:730 +#: flatcamEditors/FlatCAMGrbEditor.py:738 msgid "Select shape(s) and then click ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:741 +#: flatcamEditors/FlatCAMGrbEditor.py:749 msgid "[ERROR_NOTCL] Failed. Nothing selected." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:756 +#: flatcamEditors/FlatCAMGrbEditor.py:764 msgid "" "[WARNING_NOTCL] Failed. Poligonize works only on geometries belonging to the " "same aperture." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:817 msgid "[success] Done. Poligonize completed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:1099 +#: flatcamEditors/FlatCAMGrbEditor.py:870 +#: flatcamEditors/FlatCAMGrbEditor.py:1092 +#: flatcamEditors/FlatCAMGrbEditor.py:1116 msgid "Corner Mode 1: 45 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:862 +#: flatcamEditors/FlatCAMGrbEditor.py:872 msgid "Click on 1st point ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:1170 +#: flatcamEditors/FlatCAMGrbEditor.py:882 +#: flatcamEditors/FlatCAMGrbEditor.py:1191 msgid "Click on next Point or click Right mouse button to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1063 -#: flatcamEditors/FlatCAMGrbEditor.py:1096 +#: flatcamEditors/FlatCAMGrbEditor.py:1080 +#: flatcamEditors/FlatCAMGrbEditor.py:1113 msgid "Corner Mode 2: Reverse 45 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1066 -#: flatcamEditors/FlatCAMGrbEditor.py:1093 +#: flatcamEditors/FlatCAMGrbEditor.py:1083 +#: flatcamEditors/FlatCAMGrbEditor.py:1110 msgid "Corner Mode 3: 90 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1069 -#: flatcamEditors/FlatCAMGrbEditor.py:1090 +#: flatcamEditors/FlatCAMGrbEditor.py:1086 +#: flatcamEditors/FlatCAMGrbEditor.py:1107 msgid "Corner Mode 4: Reverse 90 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1072 -#: flatcamEditors/FlatCAMGrbEditor.py:1087 +#: flatcamEditors/FlatCAMGrbEditor.py:1089 +#: flatcamEditors/FlatCAMGrbEditor.py:1104 msgid "Corner Mode 5: Free angle ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1126 -#: flatcamEditors/FlatCAMGrbEditor.py:1284 -#: flatcamEditors/FlatCAMGrbEditor.py:1323 +#: flatcamEditors/FlatCAMGrbEditor.py:1143 +#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1347 msgid "Track Mode 1: 45 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1264 -#: flatcamEditors/FlatCAMGrbEditor.py:1318 +#: flatcamEditors/FlatCAMGrbEditor.py:1288 +#: flatcamEditors/FlatCAMGrbEditor.py:1342 msgid "Track Mode 2: Reverse 45 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1269 -#: flatcamEditors/FlatCAMGrbEditor.py:1313 +#: flatcamEditors/FlatCAMGrbEditor.py:1293 +#: flatcamEditors/FlatCAMGrbEditor.py:1337 msgid "Track Mode 3: 90 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1274 -#: flatcamEditors/FlatCAMGrbEditor.py:1308 +#: flatcamEditors/FlatCAMGrbEditor.py:1298 +#: flatcamEditors/FlatCAMGrbEditor.py:1332 msgid "Track Mode 4: Reverse 90 degrees ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1279 #: flatcamEditors/FlatCAMGrbEditor.py:1303 +#: flatcamEditors/FlatCAMGrbEditor.py:1327 msgid "Track Mode 5: Free angle ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1683 +#: flatcamEditors/FlatCAMGrbEditor.py:1707 msgid "Scale the selected Gerber apertures ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1725 +#: flatcamEditors/FlatCAMGrbEditor.py:1749 msgid "Buffer the selected apertures ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1767 +#: flatcamEditors/FlatCAMGrbEditor.py:1791 msgid "Mark polygon areas in the edited Gerber ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1814 +#: flatcamEditors/FlatCAMGrbEditor.py:1838 msgid "[WARNING_NOTCL] Nothing selected to move ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:1937 +#: flatcamEditors/FlatCAMGrbEditor.py:1961 msgid "[success] Done. Apertures Move completed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2013 +#: flatcamEditors/FlatCAMGrbEditor.py:2037 msgid "[success] Done. Apertures copied." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2304 flatcamGUI/FlatCAMGUI.py:1667 -#: flatcamGUI/FlatCAMGUI.py:4495 +#: flatcamEditors/FlatCAMGrbEditor.py:2334 flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:4564 msgid "Gerber Editor" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2324 flatcamGUI/ObjectUI.py:192 -msgid "Apertures:" +#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/ObjectUI.py:192 +#: flatcamTools/ToolProperties.py:132 +msgid "Apertures" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2326 flatcamGUI/ObjectUI.py:194 +#: flatcamEditors/FlatCAMGrbEditor.py:2356 flatcamGUI/ObjectUI.py:194 msgid "Apertures Table for the Gerber Object." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Code" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Type" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Size" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2337 -#: flatcamEditors/FlatCAMGrbEditor.py:3758 flatcamGUI/ObjectUI.py:227 +#: flatcamEditors/FlatCAMGrbEditor.py:2367 +#: flatcamEditors/FlatCAMGrbEditor.py:3794 flatcamGUI/ObjectUI.py:227 msgid "Dim" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2341 flatcamGUI/ObjectUI.py:231 +#: flatcamEditors/FlatCAMGrbEditor.py:2371 flatcamGUI/ObjectUI.py:231 msgid "Index" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2343 flatcamGUI/ObjectUI.py:233 +#: flatcamEditors/FlatCAMGrbEditor.py:2373 +#: flatcamEditors/FlatCAMGrbEditor.py:2400 flatcamGUI/ObjectUI.py:233 msgid "Aperture Code" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2345 flatcamGUI/ObjectUI.py:235 +#: flatcamEditors/FlatCAMGrbEditor.py:2375 flatcamGUI/ObjectUI.py:235 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2347 -#: flatcamEditors/FlatCAMGrbEditor.py:2380 flatcamGUI/ObjectUI.py:237 +#: flatcamEditors/FlatCAMGrbEditor.py:2377 flatcamGUI/ObjectUI.py:237 msgid "Aperture Size:" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2349 flatcamGUI/ObjectUI.py:239 +#: flatcamEditors/FlatCAMGrbEditor.py:2379 flatcamGUI/ObjectUI.py:239 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" " - (dia, nVertices) for P type" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2370 -msgid "Aperture Code:" -msgstr "" - -#: flatcamEditors/FlatCAMGrbEditor.py:2372 +#: flatcamEditors/FlatCAMGrbEditor.py:2402 flatcamGUI/FlatCAMGUI.py:4593 msgid "Code for the new aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2382 +#: flatcamEditors/FlatCAMGrbEditor.py:2410 +msgid "Aperture Size" +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:2412 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3345,11 +3353,11 @@ msgid "" "sqrt(width**2 + height**2)" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 -msgid "Aperture Type:" +#: flatcamEditors/FlatCAMGrbEditor.py:2424 +msgid "Aperture Type" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 +#: flatcamEditors/FlatCAMGrbEditor.py:2426 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3357,42 +3365,50 @@ msgid "" "O = oblong" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -msgid "Aperture Dim:" +#: flatcamEditors/FlatCAMGrbEditor.py:2437 +msgid "Aperture Dim" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:2439 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" "The format is (width, height)" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2418 +#: flatcamEditors/FlatCAMGrbEditor.py:2448 msgid "Add/Delete Aperture:" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2420 +#: flatcamEditors/FlatCAMGrbEditor.py:2450 msgid "Add/Delete an aperture in the aperture table" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2429 +#: flatcamEditors/FlatCAMGrbEditor.py:2459 msgid "Add a new aperture to the aperture list." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2434 +#: flatcamEditors/FlatCAMGrbEditor.py:2464 msgid "Delete a aperture in the aperture list" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2451 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Buffer Aperture:" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2453 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "Buffer a aperture in the aperture list" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2466 +#: flatcamEditors/FlatCAMGrbEditor.py:2493 flatcamGUI/FlatCAMGUI.py:4716 +msgid "Buffer distance" +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:2494 +msgid "Buffer corner" +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:2496 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3401,409 +3417,419 @@ msgid "" "meeting in the corner" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2481 flatcamGUI/FlatCAMGUI.py:737 -#: flatcamGUI/FlatCAMGUI.py:1653 flatcamGUI/FlatCAMGUI.py:1679 -#: flatcamGUI/FlatCAMGUI.py:2033 +#: flatcamEditors/FlatCAMGrbEditor.py:2511 flatcamGUI/FlatCAMGUI.py:738 +#: flatcamGUI/FlatCAMGUI.py:1654 flatcamGUI/FlatCAMGUI.py:1681 +#: flatcamGUI/FlatCAMGUI.py:2060 msgid "Buffer" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 -msgid "Scale Aperture:" +#: flatcamEditors/FlatCAMGrbEditor.py:2526 +msgid "Scale Aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2498 +#: flatcamEditors/FlatCAMGrbEditor.py:2528 msgid "Scale a aperture in the aperture list" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2506 -msgid "Scale factor:" +#: flatcamEditors/FlatCAMGrbEditor.py:2536 flatcamGUI/FlatCAMGUI.py:4729 +msgid "Scale factor" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2508 +#: flatcamEditors/FlatCAMGrbEditor.py:2538 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 -msgid "Mark polygon areas:" +#: flatcamEditors/FlatCAMGrbEditor.py:2564 +msgid "Mark polygon areas" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2536 +#: flatcamEditors/FlatCAMGrbEditor.py:2566 msgid "Mark the polygon areas." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2544 -msgid "Area UPPER threshold:" +#: flatcamEditors/FlatCAMGrbEditor.py:2574 +msgid "Area UPPER threshold" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2546 +#: flatcamEditors/FlatCAMGrbEditor.py:2576 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2552 -msgid "Area LOWER threshold:" +#: flatcamEditors/FlatCAMGrbEditor.py:2582 +msgid "Area LOWER threshold" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2554 +#: flatcamEditors/FlatCAMGrbEditor.py:2584 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2567 +#: flatcamEditors/FlatCAMGrbEditor.py:2597 msgid "Go" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2587 flatcamGUI/FlatCAMGUI.py:727 -#: flatcamGUI/FlatCAMGUI.py:2023 +#: flatcamEditors/FlatCAMGrbEditor.py:2616 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2050 msgid "Add Pad Array" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2589 +#: flatcamEditors/FlatCAMGrbEditor.py:2618 msgid "Add an array of pads (linear or circular array)" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2595 +#: flatcamEditors/FlatCAMGrbEditor.py:2624 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2606 -msgid "Nr of pads:" +#: flatcamEditors/FlatCAMGrbEditor.py:2635 flatcamGUI/FlatCAMGUI.py:4628 +msgid "Nr of pads" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2608 +#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:4630 msgid "Specify how many pads to be in the array." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3096 -#: flatcamEditors/FlatCAMGrbEditor.py:3100 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 +#: flatcamEditors/FlatCAMGrbEditor.py:2699 flatcamGUI/FlatCAMGUI.py:5578 +msgid "Direction" +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:2669 flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:5646 +msgid "Pitch" +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:3132 +#: flatcamEditors/FlatCAMGrbEditor.py:3136 msgid "" "[WARNING_NOTCL] Aperture code value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3136 +#: flatcamEditors/FlatCAMGrbEditor.py:3172 msgid "" "[WARNING_NOTCL] Aperture dimensions value is missing or wrong format. Add it " "in format (width, height) and retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3148 +#: flatcamEditors/FlatCAMGrbEditor.py:3184 msgid "" "[WARNING_NOTCL] Aperture size value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3159 +#: flatcamEditors/FlatCAMGrbEditor.py:3195 msgid "[WARNING_NOTCL] Aperture already in the aperture table." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3166 +#: flatcamEditors/FlatCAMGrbEditor.py:3202 #, python-brace-format msgid "[success] Added new aperture with code: {apid}" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3194 +#: flatcamEditors/FlatCAMGrbEditor.py:3230 msgid "[WARNING_NOTCL] Select an aperture in Aperture Table" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3200 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 #, python-format msgid "[WARNING_NOTCL] Select an aperture in Aperture Table --> %s" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3223 +#: flatcamEditors/FlatCAMGrbEditor.py:3259 #, python-brace-format msgid "[success] Deleted aperture with code: {del_dia}" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3687 +#: flatcamEditors/FlatCAMGrbEditor.py:3723 #, python-format msgid "Adding aperture: %s geo ..." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3875 +#: flatcamEditors/FlatCAMGrbEditor.py:3911 msgid "" "[ERROR_NOTCL] There are no Aperture definitions in the file. Aborting Gerber " "creation." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3883 +#: flatcamEditors/FlatCAMGrbEditor.py:3919 msgid "Creating Gerber." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3891 +#: flatcamEditors/FlatCAMGrbEditor.py:3927 msgid "[success] Gerber editing finished." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3907 +#: flatcamEditors/FlatCAMGrbEditor.py:3943 msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4438 +#: flatcamEditors/FlatCAMGrbEditor.py:4474 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4446 +#: flatcamEditors/FlatCAMGrbEditor.py:4482 msgid "[success] Done. Apertures geometry deleted." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4589 +#: flatcamEditors/FlatCAMGrbEditor.py:4625 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4602 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 #, python-format msgid "" "[ERROR_NOTCL] Failed.\n" "%s" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4619 +#: flatcamEditors/FlatCAMGrbEditor.py:4655 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4652 +#: flatcamEditors/FlatCAMGrbEditor.py:4688 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4668 +#: flatcamEditors/FlatCAMGrbEditor.py:4704 msgid "[success] Done. Scale Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4741 msgid "[success] Polygon areas marked." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4707 +#: flatcamEditors/FlatCAMGrbEditor.py:4743 msgid "[WARNING_NOTCL] There are no polygons to mark area." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:51 +#: flatcamGUI/FlatCAMGUI.py:52 msgid "&File" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:56 +#: flatcamGUI/FlatCAMGUI.py:57 msgid "&New Project ...\tCTRL+N" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:58 +#: flatcamGUI/FlatCAMGUI.py:59 msgid "Will create a new, blank project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:63 +#: flatcamGUI/FlatCAMGUI.py:64 msgid "&New" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:66 +#: flatcamGUI/FlatCAMGUI.py:67 msgid "Geometry\tN" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:68 +#: flatcamGUI/FlatCAMGUI.py:69 msgid "Will create a new, empty Geometry Object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:70 +#: flatcamGUI/FlatCAMGUI.py:71 msgid "Gerber\tB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:72 +#: flatcamGUI/FlatCAMGUI.py:73 msgid "Will create a new, empty Gerber Object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:74 +#: flatcamGUI/FlatCAMGUI.py:75 msgid "Excellon\tL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:76 +#: flatcamGUI/FlatCAMGUI.py:77 msgid "Will create a new, empty Excellon Object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:79 flatcamTools/ToolPcbWizard.py:62 +#: flatcamGUI/FlatCAMGUI.py:80 flatcamTools/ToolPcbWizard.py:62 #: flatcamTools/ToolPcbWizard.py:69 msgid "Open" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:83 +#: flatcamGUI/FlatCAMGUI.py:84 msgid "Open &Project ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:89 +#: flatcamGUI/FlatCAMGUI.py:90 msgid "Open &Gerber ...\tCTRL+G" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:94 +#: flatcamGUI/FlatCAMGUI.py:95 msgid "Open &Excellon ...\tCTRL+E" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:98 +#: flatcamGUI/FlatCAMGUI.py:99 msgid "Open G-&Code ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:104 +#: flatcamGUI/FlatCAMGUI.py:105 msgid "Open Config ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:108 +#: flatcamGUI/FlatCAMGUI.py:109 msgid "Recent projects" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:109 +#: flatcamGUI/FlatCAMGUI.py:110 msgid "Recent files" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:115 +#: flatcamGUI/FlatCAMGUI.py:116 msgid "Scripting" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:118 +#: flatcamGUI/FlatCAMGUI.py:119 msgid "New Script ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:119 +#: flatcamGUI/FlatCAMGUI.py:120 msgid "Open Script ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:121 +#: flatcamGUI/FlatCAMGUI.py:122 msgid "Run Script ...\tSHIFT+S" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:123 +#: flatcamGUI/FlatCAMGUI.py:124 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" "functions of FlatCAM." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:136 +#: flatcamGUI/FlatCAMGUI.py:137 msgid "Import" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:138 +#: flatcamGUI/FlatCAMGUI.py:139 msgid "&SVG as Geometry Object ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:141 +#: flatcamGUI/FlatCAMGUI.py:142 msgid "&SVG as Gerber Object ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:146 +#: flatcamGUI/FlatCAMGUI.py:147 msgid "&DXF as Geometry Object ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:149 +#: flatcamGUI/FlatCAMGUI.py:150 msgid "&DXF as Gerber Object ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:154 +#: flatcamGUI/FlatCAMGUI.py:155 msgid "Export" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:157 +#: flatcamGUI/FlatCAMGUI.py:158 msgid "Export &SVG ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:160 +#: flatcamGUI/FlatCAMGUI.py:161 msgid "Export DXF ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:165 +#: flatcamGUI/FlatCAMGUI.py:166 msgid "Export &PNG ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:167 +#: flatcamGUI/FlatCAMGUI.py:168 msgid "" "Will export an image in PNG format,\n" "the saved image will contain the visual \n" "information currently in FlatCAM Plot Area." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:176 +#: flatcamGUI/FlatCAMGUI.py:177 msgid "Export &Excellon ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:178 +#: flatcamGUI/FlatCAMGUI.py:179 msgid "" "Will export an Excellon Object as Excellon file,\n" "the coordinates format, the file units and zeros\n" "are set in Preferences -> Excellon Export." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:185 +#: flatcamGUI/FlatCAMGUI.py:186 msgid "Export &Gerber ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:187 +#: flatcamGUI/FlatCAMGUI.py:188 msgid "" "Will export an Gerber Object as Gerber file,\n" "the coordinates format, the file units and zeros\n" "are set in Preferences -> Gerber Export." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:203 +#: flatcamGUI/FlatCAMGUI.py:204 msgid "Backup" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:207 +#: flatcamGUI/FlatCAMGUI.py:208 msgid "Import Preferences from file ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:212 +#: flatcamGUI/FlatCAMGUI.py:213 msgid "Export Preferences to file ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:218 flatcamGUI/FlatCAMGUI.py:545 +#: flatcamGUI/FlatCAMGUI.py:219 flatcamGUI/FlatCAMGUI.py:546 msgid "Save" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:221 +#: flatcamGUI/FlatCAMGUI.py:222 msgid "&Save Project ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:226 +#: flatcamGUI/FlatCAMGUI.py:227 msgid "Save Project &As ...\tCTRL+S" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:231 +#: flatcamGUI/FlatCAMGUI.py:232 msgid "Save Project C&opy ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:238 +#: flatcamGUI/FlatCAMGUI.py:239 msgid "E&xit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:244 +#: flatcamGUI/FlatCAMGUI.py:245 msgid "&Edit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:247 +#: flatcamGUI/FlatCAMGUI.py:248 msgid "Edit Object\tE" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:248 +#: flatcamGUI/FlatCAMGUI.py:249 msgid "Close Editor\tCTRL+S" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:256 +#: flatcamGUI/FlatCAMGUI.py:257 msgid "Conversion" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:258 +#: flatcamGUI/FlatCAMGUI.py:259 msgid "&Join Geo/Gerber/Exc -> Geo" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:260 +#: flatcamGUI/FlatCAMGUI.py:261 msgid "" "Merge a selection of objects, which can be of type:\n" "- Gerber\n" @@ -3812,731 +3838,731 @@ msgid "" "into a new combo Geometry object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:267 +#: flatcamGUI/FlatCAMGUI.py:268 msgid "Join Excellon(s) -> Excellon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:269 +#: flatcamGUI/FlatCAMGUI.py:270 msgid "Merge a selection of Excellon objects into a new combo Excellon object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:272 +#: flatcamGUI/FlatCAMGUI.py:273 msgid "Join Gerber(s) -> Gerber" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:275 msgid "Merge a selection of Gerber objects into a new combo Gerber object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:280 msgid "Convert Single to MultiGeo" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:281 +#: flatcamGUI/FlatCAMGUI.py:282 msgid "" "Will convert a Geometry object from single_geometry type\n" "to a multi_geometry type." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:286 msgid "Convert Multi to SingleGeo" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:287 +#: flatcamGUI/FlatCAMGUI.py:288 msgid "" "Will convert a Geometry object from multi_geometry type\n" "to a single_geometry type." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:293 +#: flatcamGUI/FlatCAMGUI.py:294 msgid "Convert Any to Geo" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:295 +#: flatcamGUI/FlatCAMGUI.py:296 msgid "Convert Any to Gerber" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:300 +#: flatcamGUI/FlatCAMGUI.py:301 msgid "&Copy\tCTRL+C" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:304 +#: flatcamGUI/FlatCAMGUI.py:305 msgid "&Delete\tDEL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:308 +#: flatcamGUI/FlatCAMGUI.py:309 msgid "Se&t Origin\tO" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:310 msgid "Jump to Location\tJ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:315 msgid "Toggle Units\tQ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:315 +#: flatcamGUI/FlatCAMGUI.py:316 msgid "&Select All\tCTRL+A" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:320 msgid "&Preferences\tSHIFT+P" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:322 +#: flatcamGUI/FlatCAMGUI.py:323 msgid "&Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:337 +#: flatcamGUI/FlatCAMGUI.py:338 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:342 +#: flatcamGUI/FlatCAMGUI.py:343 msgid "&Skew on X axis\tSHIFT+X" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:344 +#: flatcamGUI/FlatCAMGUI.py:345 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:349 +#: flatcamGUI/FlatCAMGUI.py:350 msgid "Flip on &X axis\tX" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:351 +#: flatcamGUI/FlatCAMGUI.py:352 msgid "Flip on &Y axis\tY" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:357 msgid "View source\tALT+S" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:362 msgid "&View" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:362 +#: flatcamGUI/FlatCAMGUI.py:363 msgid "Enable all plots\tALT+1" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:364 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "Disable all plots\tALT+2" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:366 +#: flatcamGUI/FlatCAMGUI.py:367 msgid "Disable non-selected\tALT+3" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:369 +#: flatcamGUI/FlatCAMGUI.py:370 msgid "&Zoom Fit\tV" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:371 msgid "&Zoom In\t=" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:371 +#: flatcamGUI/FlatCAMGUI.py:372 msgid "&Zoom Out\t-" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:376 msgid "Toggle Code Editor\tCTRL+E" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:378 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "&Toggle FullScreen\tALT+F10" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:380 +#: flatcamGUI/FlatCAMGUI.py:381 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:382 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Toggle Project/Sel/Tool\t`" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:386 msgid "&Toggle Grid Snap\tG" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "&Toggle Axis\tSHIFT+G" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:391 msgid "Toggle Workspace\tSHIFT+W" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:393 +#: flatcamGUI/FlatCAMGUI.py:394 msgid "&Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:395 +#: flatcamGUI/FlatCAMGUI.py:396 msgid "&Command Line\tS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:398 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Help" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:399 +#: flatcamGUI/FlatCAMGUI.py:400 msgid "Help\tF1" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:401 msgid "FlatCAM.org" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:404 msgid "Shortcuts List\tF3" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:404 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "YouTube Channel\tF4" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:406 +#: flatcamGUI/FlatCAMGUI.py:407 msgid "About" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Add Circle\tO" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:415 +#: flatcamGUI/FlatCAMGUI.py:416 msgid "Add Arc\tA" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:418 +#: flatcamGUI/FlatCAMGUI.py:419 msgid "Add Rectangle\tR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:421 +#: flatcamGUI/FlatCAMGUI.py:422 msgid "Add Polygon\tN" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:423 +#: flatcamGUI/FlatCAMGUI.py:424 msgid "Add Path\tP" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:426 msgid "Add Text\tT" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:428 +#: flatcamGUI/FlatCAMGUI.py:429 msgid "Polygon Union\tU" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:431 msgid "Polygon Intersection\tE" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Polygon Subtraction\tS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:436 +#: flatcamGUI/FlatCAMGUI.py:437 msgid "Cut Path\tX" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:439 msgid "Copy Geom\tC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Delete Shape\tDEL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:520 +#: flatcamGUI/FlatCAMGUI.py:444 flatcamGUI/FlatCAMGUI.py:521 msgid "Move\tM" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:445 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Buffer Tool\tB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:448 +#: flatcamGUI/FlatCAMGUI.py:449 msgid "Paint Tool\tI" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:451 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "Transform Tool\tALT+R" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:455 +#: flatcamGUI/FlatCAMGUI.py:456 msgid "Toggle Corner Snap\tK" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:458 +#: flatcamGUI/FlatCAMGUI.py:459 msgid ">Excellon Editor<" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:462 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Drill Array\tA" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Drill\tD" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:469 msgid "Add Slot Array\tQ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Slot\tW" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Resize Drill(S)\tR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:476 flatcamGUI/FlatCAMGUI.py:515 +#: flatcamGUI/FlatCAMGUI.py:477 flatcamGUI/FlatCAMGUI.py:516 msgid "Copy\tC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:478 flatcamGUI/FlatCAMGUI.py:517 +#: flatcamGUI/FlatCAMGUI.py:479 flatcamGUI/FlatCAMGUI.py:518 msgid "Delete\tDEL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:484 msgid "Move Drill(s)\tM" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:487 msgid ">Gerber Editor<" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:491 msgid "Add Pad\tP" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:492 +#: flatcamGUI/FlatCAMGUI.py:493 msgid "Add Pad Array\tA" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Add Track\tT" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:497 msgid "Add Region\tN" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:500 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Poligonize\tALT+N" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:502 +#: flatcamGUI/FlatCAMGUI.py:503 msgid "Add SemiDisc\tE" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:504 msgid "Add Disc\tD" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:505 +#: flatcamGUI/FlatCAMGUI.py:506 msgid "Buffer\tB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:507 msgid "Scale\tS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:508 +#: flatcamGUI/FlatCAMGUI.py:509 msgid "Mark Area\tALT+A" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:510 +#: flatcamGUI/FlatCAMGUI.py:511 msgid "Eraser\tCTRL+E" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:513 msgid "Transform\tALT+R" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:536 +#: flatcamGUI/FlatCAMGUI.py:537 msgid "Enable Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:537 +#: flatcamGUI/FlatCAMGUI.py:538 msgid "Disable Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:539 +#: flatcamGUI/FlatCAMGUI.py:540 msgid "Generate CNC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:540 +#: flatcamGUI/FlatCAMGUI.py:541 msgid "View Source" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:542 flatcamGUI/FlatCAMGUI.py:1700 +#: flatcamGUI/FlatCAMGUI.py:543 flatcamGUI/FlatCAMGUI.py:1702 msgid "Edit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:548 flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:549 flatcamGUI/FlatCAMGUI.py:1708 #: flatcamTools/ToolProperties.py:25 msgid "Properties" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:577 +#: flatcamGUI/FlatCAMGUI.py:578 msgid "File Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:581 +#: flatcamGUI/FlatCAMGUI.py:582 msgid "Edit Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:585 +#: flatcamGUI/FlatCAMGUI.py:586 msgid "View Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:589 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Shell Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:593 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "Tools Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:597 +#: flatcamGUI/FlatCAMGUI.py:598 msgid "Excellon Editor Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:602 msgid "Geometry Editor Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:606 msgid "Gerber Editor Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:609 +#: flatcamGUI/FlatCAMGUI.py:610 msgid "Grid Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:628 flatcamGUI/FlatCAMGUI.py:1921 +#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1948 msgid "Open project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:629 flatcamGUI/FlatCAMGUI.py:1922 +#: flatcamGUI/FlatCAMGUI.py:630 flatcamGUI/FlatCAMGUI.py:1949 msgid "Save project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:632 flatcamGUI/FlatCAMGUI.py:1925 +#: flatcamGUI/FlatCAMGUI.py:633 flatcamGUI/FlatCAMGUI.py:1952 msgid "New Blank Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:633 +#: flatcamGUI/FlatCAMGUI.py:634 msgid "New Blank Gerber" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:634 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:635 flatcamGUI/FlatCAMGUI.py:1953 msgid "New Blank Excellon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:636 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:637 flatcamGUI/FlatCAMGUI.py:1955 msgid "Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:638 flatcamGUI/FlatCAMGUI.py:1930 +#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:1957 msgid "Save Object and close the Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:642 flatcamGUI/FlatCAMGUI.py:1934 +#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:1961 msgid "&Delete" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:1937 +#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1964 msgid "&Replot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:646 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1965 msgid "&Clear plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:647 flatcamGUI/FlatCAMGUI.py:1939 +#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1966 msgid "Zoom In" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:648 flatcamGUI/FlatCAMGUI.py:1940 +#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1967 msgid "Zoom Out" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:1638 -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:650 flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1968 msgid "Zoom Fit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:654 flatcamGUI/FlatCAMGUI.py:1946 +#: flatcamGUI/FlatCAMGUI.py:655 flatcamGUI/FlatCAMGUI.py:1973 msgid "&Command Line" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:1949 +#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1976 msgid "2Sided Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1950 +#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1977 msgid "&Cutout Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1951 -#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:380 +#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/ObjectUI.py:390 flatcamTools/ToolNonCopperClear.py:437 msgid "NCC Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:663 flatcamGUI/FlatCAMGUI.py:1955 +#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1982 msgid "Panel Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:664 flatcamGUI/FlatCAMGUI.py:1956 -#: flatcamTools/ToolFilm.py:204 +#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamTools/ToolFilm.py:209 msgid "Film Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:1958 -#: flatcamTools/ToolSolderPaste.py:450 +#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1985 +#: flatcamTools/ToolSolderPaste.py:455 msgid "SolderPaste Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:666 flatcamGUI/FlatCAMGUI.py:1959 -#: flatcamTools/ToolSub.py:26 +#: flatcamGUI/FlatCAMGUI.py:667 flatcamGUI/FlatCAMGUI.py:1986 +#: flatcamTools/ToolSub.py:28 msgid "Substract Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:670 flatcamGUI/FlatCAMGUI.py:1964 +#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:1991 msgid "Calculators Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:674 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1968 -#: flatcamGUI/FlatCAMGUI.py:2021 +#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:692 +#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:2048 msgid "Select" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:675 flatcamGUI/FlatCAMGUI.py:1969 +#: flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:1996 msgid "Add Drill Hole" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:1971 +#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1998 msgid "Add Drill Hole Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:1692 -#: flatcamGUI/FlatCAMGUI.py:1973 +#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:1694 +#: flatcamGUI/FlatCAMGUI.py:2000 msgid "Add Slot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:1693 -#: flatcamGUI/FlatCAMGUI.py:1975 +#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 +#: flatcamGUI/FlatCAMGUI.py:2002 msgid "Add Slot Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:681 flatcamGUI/FlatCAMGUI.py:1695 -#: flatcamGUI/FlatCAMGUI.py:1972 +#: flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1697 +#: flatcamGUI/FlatCAMGUI.py:1999 msgid "Resize Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1978 +#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:2005 msgid "Copy Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:685 flatcamGUI/FlatCAMGUI.py:1980 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2007 msgid "Delete Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:1983 +#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2010 msgid "Move Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1987 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2014 msgid "Add Circle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:1988 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2015 msgid "Add Arc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1990 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2017 msgid "Add Rectangle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:1993 +#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2020 msgid "Add Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:1995 +#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2022 msgid "Add Polygon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:1997 +#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2024 msgid "Add Text" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:1998 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2025 msgid "Add Buffer" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:1999 +#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2026 msgid "Paint Shape" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:742 -#: flatcamGUI/FlatCAMGUI.py:1655 flatcamGUI/FlatCAMGUI.py:1682 -#: flatcamGUI/FlatCAMGUI.py:2000 flatcamGUI/FlatCAMGUI.py:2037 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:743 +#: flatcamGUI/FlatCAMGUI.py:1656 flatcamGUI/FlatCAMGUI.py:1684 +#: flatcamGUI/FlatCAMGUI.py:2027 flatcamGUI/FlatCAMGUI.py:2064 msgid "Eraser" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2003 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:2030 msgid "Polygon Union" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2005 +#: flatcamGUI/FlatCAMGUI.py:710 flatcamGUI/FlatCAMGUI.py:2032 msgid "Polygon Intersection" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2007 +#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2034 msgid "Polygon Subtraction" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2010 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2037 msgid "Cut Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:716 msgid "Copy Shape(s)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:718 +#: flatcamGUI/FlatCAMGUI.py:719 msgid "Delete Shape '-'" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:720 flatcamGUI/FlatCAMGUI.py:749 -#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2044 +#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:750 +#: flatcamGUI/FlatCAMGUI.py:1663 flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:2042 flatcamGUI/FlatCAMGUI.py:2071 msgid "Transformations" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:722 +#: flatcamGUI/FlatCAMGUI.py:723 msgid "Move Objects " msgstr "" -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2022 +#: flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2049 msgid "Add Pad" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2024 +#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2051 msgid "Add Track" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:729 flatcamGUI/FlatCAMGUI.py:2025 +#: flatcamGUI/FlatCAMGUI.py:730 flatcamGUI/FlatCAMGUI.py:2052 msgid "Add Region" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:731 flatcamGUI/FlatCAMGUI.py:1674 -#: flatcamGUI/FlatCAMGUI.py:2027 +#: flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:1676 +#: flatcamGUI/FlatCAMGUI.py:2054 msgid "Poligonize" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:1675 -#: flatcamGUI/FlatCAMGUI.py:2029 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1677 +#: flatcamGUI/FlatCAMGUI.py:2056 msgid "SemiDisc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:1676 -#: flatcamGUI/FlatCAMGUI.py:2030 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:1678 +#: flatcamGUI/FlatCAMGUI.py:2057 msgid "Disc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1681 -#: flatcamGUI/FlatCAMGUI.py:2036 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:1683 +#: flatcamGUI/FlatCAMGUI.py:2063 msgid "Mark Area" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:1665 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:2046 +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1666 +#: flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2073 #: flatcamTools/ToolMove.py:26 msgid "Move" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2052 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2079 msgid "Snap to grid" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2055 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:2082 msgid "Grid X snapping distance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2060 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2087 msgid "Grid Y snapping distance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2066 +#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2093 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2072 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2099 msgid "Snap to corner" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:2076 -#: flatcamGUI/FlatCAMGUI.py:3470 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2103 +#: flatcamGUI/FlatCAMGUI.py:3524 msgid "Max. magnet distance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:808 flatcamGUI/FlatCAMGUI.py:1632 +#: flatcamGUI/FlatCAMGUI.py:809 flatcamGUI/FlatCAMGUI.py:1633 msgid "Project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:818 +#: flatcamGUI/FlatCAMGUI.py:819 msgid "Selected" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:837 flatcamGUI/FlatCAMGUI.py:845 +#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:846 msgid "Plot Area" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:870 +#: flatcamGUI/FlatCAMGUI.py:872 msgid "General" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:879 +#: flatcamGUI/FlatCAMGUI.py:881 msgid "APP. DEFAULTS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:880 +#: flatcamGUI/FlatCAMGUI.py:882 msgid "PROJ. OPTIONS " msgstr "" -#: flatcamGUI/FlatCAMGUI.py:892 +#: flatcamGUI/FlatCAMGUI.py:894 flatcamTools/ToolDblSided.py:47 msgid "GERBER" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:902 +#: flatcamGUI/FlatCAMGUI.py:904 flatcamTools/ToolDblSided.py:71 msgid "EXCELLON" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:912 +#: flatcamGUI/FlatCAMGUI.py:914 flatcamTools/ToolDblSided.py:95 msgid "GEOMETRY" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:922 +#: flatcamGUI/FlatCAMGUI.py:924 msgid "CNC-JOB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:931 +#: flatcamGUI/FlatCAMGUI.py:933 msgid "TOOLS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:948 +#: flatcamGUI/FlatCAMGUI.py:950 msgid "Import Preferences" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:951 +#: flatcamGUI/FlatCAMGUI.py:953 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -4545,31 +4571,31 @@ msgid "" "on the first start. Do not delete that file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:958 +#: flatcamGUI/FlatCAMGUI.py:960 msgid "Export Preferences" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:961 +#: flatcamGUI/FlatCAMGUI.py:963 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:966 +#: flatcamGUI/FlatCAMGUI.py:968 msgid "Open Pref Folder" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:969 +#: flatcamGUI/FlatCAMGUI.py:971 msgid "Open the folder where FlatCAM save the preferences files." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:980 +#: flatcamGUI/FlatCAMGUI.py:982 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1006 +#: flatcamGUI/FlatCAMGUI.py:1008 msgid "" "General Shortcut list
\n" " Editor Shortcut list
\n" "
\n" @@ -5191,176 +5217,179 @@ msgid "" " " msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Toggle Visibility" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1624 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Panel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1627 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "New" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1630 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Excellon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1635 +#: flatcamGUI/FlatCAMGUI.py:1636 msgid "Grids" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1637 +#: flatcamGUI/FlatCAMGUI.py:1638 msgid "View" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1639 +#: flatcamGUI/FlatCAMGUI.py:1640 msgid "Clear Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1640 +#: flatcamGUI/FlatCAMGUI.py:1641 msgid "Replot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1643 +#: flatcamGUI/FlatCAMGUI.py:1644 msgid "Geo Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1644 +#: flatcamGUI/FlatCAMGUI.py:1645 msgid "Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1645 +#: flatcamGUI/FlatCAMGUI.py:1646 msgid "Rectangle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1647 +#: flatcamGUI/FlatCAMGUI.py:1648 msgid "Circle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1648 +#: flatcamGUI/FlatCAMGUI.py:1649 msgid "Polygon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1649 +#: flatcamGUI/FlatCAMGUI.py:1650 msgid "Arc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1652 +#: flatcamGUI/FlatCAMGUI.py:1653 msgid "Text" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1658 +#: flatcamGUI/FlatCAMGUI.py:1659 msgid "Union" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1659 +#: flatcamGUI/FlatCAMGUI.py:1660 msgid "Intersection" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1660 +#: flatcamGUI/FlatCAMGUI.py:1661 msgid "Substraction" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1661 flatcamGUI/FlatCAMGUI.py:5858 -#: flatcamGUI/ObjectUI.py:1372 +#: flatcamGUI/FlatCAMGUI.py:1662 flatcamGUI/FlatCAMGUI.py:6110 +#: flatcamGUI/ObjectUI.py:1346 msgid "Cut" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1668 +#: flatcamGUI/FlatCAMGUI.py:1669 msgid "Pad" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1669 +#: flatcamGUI/FlatCAMGUI.py:1670 msgid "Pad Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1672 +#: flatcamGUI/FlatCAMGUI.py:1673 msgid "Track" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1673 +#: flatcamGUI/FlatCAMGUI.py:1674 msgid "Region" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1688 +#: flatcamGUI/FlatCAMGUI.py:1690 msgid "Exc Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1689 +#: flatcamGUI/FlatCAMGUI.py:1691 msgid "Add Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1725 +#: flatcamGUI/FlatCAMGUI.py:1727 msgid "Print Preview" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1726 +#: flatcamGUI/FlatCAMGUI.py:1728 msgid "Print Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1727 +#: flatcamGUI/FlatCAMGUI.py:1729 msgid "Find in Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1732 +#: flatcamGUI/FlatCAMGUI.py:1734 msgid "Replace With" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1736 flatcamGUI/FlatCAMGUI.py:5856 -#: flatcamGUI/FlatCAMGUI.py:6472 flatcamGUI/ObjectUI.py:1370 -#: flatcamTools/ToolPaint.py:249 +#: flatcamGUI/FlatCAMGUI.py:1738 flatcamGUI/FlatCAMGUI.py:6108 +#: flatcamGUI/FlatCAMGUI.py:6792 flatcamGUI/ObjectUI.py:1344 msgid "All" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1738 +#: flatcamGUI/FlatCAMGUI.py:1740 msgid "" "When checked it will replace all instances in the 'Find' box\n" "with the text in the 'Replace' box.." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1741 +#: flatcamGUI/FlatCAMGUI.py:1743 msgid "Open Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1742 +#: flatcamGUI/FlatCAMGUI.py:1744 msgid "Save Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1777 +#: flatcamGUI/FlatCAMGUI.py:1779 msgid "" "Relative neasurement.\n" "Reference is last click position" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1783 +#: flatcamGUI/FlatCAMGUI.py:1785 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1986 -msgid "Select 'Esc'" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:2011 -msgid "Copy Objects" +#: flatcamGUI/FlatCAMGUI.py:1909 +msgid "Lock Toolbars" msgstr "" #: flatcamGUI/FlatCAMGUI.py:2013 +msgid "Select 'Esc'" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:2038 +msgid "Copy Objects" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:2040 msgid "Delete Shape" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2018 +#: flatcamGUI/FlatCAMGUI.py:2045 msgid "Move Objects" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2449 +#: flatcamGUI/FlatCAMGUI.py:2476 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -5368,135 +5397,135 @@ msgid "" "the toolbar button." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2456 flatcamGUI/FlatCAMGUI.py:2593 -#: flatcamGUI/FlatCAMGUI.py:2652 flatcamGUI/FlatCAMGUI.py:2672 +#: flatcamGUI/FlatCAMGUI.py:2483 flatcamGUI/FlatCAMGUI.py:2620 +#: flatcamGUI/FlatCAMGUI.py:2679 flatcamGUI/FlatCAMGUI.py:2699 msgid "Warning" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2523 flatcamGUI/FlatCAMGUI.py:2731 -#: flatcamGUI/FlatCAMGUI.py:2942 +#: flatcamGUI/FlatCAMGUI.py:2550 flatcamGUI/FlatCAMGUI.py:2758 +#: flatcamGUI/FlatCAMGUI.py:2969 msgid "[WARNING_NOTCL] Cancelled." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2588 +#: flatcamGUI/FlatCAMGUI.py:2615 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2647 +#: flatcamGUI/FlatCAMGUI.py:2674 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2667 +#: flatcamGUI/FlatCAMGUI.py:2694 msgid "" "Please select geometry items \n" "on which to perform union." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2747 flatcamGUI/FlatCAMGUI.py:2959 +#: flatcamGUI/FlatCAMGUI.py:2774 flatcamGUI/FlatCAMGUI.py:2986 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to delete." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2831 flatcamGUI/FlatCAMGUI.py:3026 +#: flatcamGUI/FlatCAMGUI.py:2858 flatcamGUI/FlatCAMGUI.py:3053 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to copy." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2877 flatcamGUI/FlatCAMGUI.py:3072 +#: flatcamGUI/FlatCAMGUI.py:2904 flatcamGUI/FlatCAMGUI.py:3099 msgid "[WARNING_NOTCL] Cancelled. Nothing selected to move." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3098 +#: flatcamGUI/FlatCAMGUI.py:3125 msgid "New Tool ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3099 +#: flatcamGUI/FlatCAMGUI.py:3126 msgid "Enter a Tool Diameter:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3154 +#: flatcamGUI/FlatCAMGUI.py:3181 msgid "Measurement Tool exit..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3449 +#: flatcamGUI/FlatCAMGUI.py:3503 msgid "GUI Preferences" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3455 +#: flatcamGUI/FlatCAMGUI.py:3509 msgid "Grid X value:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3457 +#: flatcamGUI/FlatCAMGUI.py:3511 msgid "This is the Grid snap value on X axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3462 +#: flatcamGUI/FlatCAMGUI.py:3516 msgid "Grid Y value:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3464 +#: flatcamGUI/FlatCAMGUI.py:3518 msgid "This is the Grid snap value on Y axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3469 +#: flatcamGUI/FlatCAMGUI.py:3523 msgid "Snap Max:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3474 +#: flatcamGUI/FlatCAMGUI.py:3528 msgid "Workspace:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3476 +#: flatcamGUI/FlatCAMGUI.py:3530 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3479 +#: flatcamGUI/FlatCAMGUI.py:3533 msgid "Wk. format:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3481 +#: flatcamGUI/FlatCAMGUI.py:3535 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3494 +#: flatcamGUI/FlatCAMGUI.py:3548 msgid "Plot Fill:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3496 +#: flatcamGUI/FlatCAMGUI.py:3550 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" "digits are for alpha (transparency) level." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3510 flatcamGUI/FlatCAMGUI.py:3560 -#: flatcamGUI/FlatCAMGUI.py:3610 +#: flatcamGUI/FlatCAMGUI.py:3564 flatcamGUI/FlatCAMGUI.py:3614 +#: flatcamGUI/FlatCAMGUI.py:3664 msgid "Alpha Level:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3512 +#: flatcamGUI/FlatCAMGUI.py:3566 msgid "Set the fill transparency for plotted objects." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3529 +#: flatcamGUI/FlatCAMGUI.py:3583 msgid "Plot Line:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3531 +#: flatcamGUI/FlatCAMGUI.py:3585 msgid "Set the line color for plotted objects." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3597 msgid "Sel. Fill:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3545 +#: flatcamGUI/FlatCAMGUI.py:3599 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -5504,23 +5533,23 @@ msgid "" "digits are for alpha (transparency) level." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3562 +#: flatcamGUI/FlatCAMGUI.py:3616 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3579 +#: flatcamGUI/FlatCAMGUI.py:3633 msgid "Sel. Line:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3581 +#: flatcamGUI/FlatCAMGUI.py:3635 msgid "Set the line color for the 'left to right' selection box." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3593 +#: flatcamGUI/FlatCAMGUI.py:3647 msgid "Sel2. Fill:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3595 +#: flatcamGUI/FlatCAMGUI.py:3649 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -5528,116 +5557,116 @@ msgid "" "digits are for alpha (transparency) level." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3612 +#: flatcamGUI/FlatCAMGUI.py:3666 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3629 +#: flatcamGUI/FlatCAMGUI.py:3683 msgid "Sel2. Line:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3631 +#: flatcamGUI/FlatCAMGUI.py:3685 msgid "Set the line color for the 'right to left' selection box." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3643 +#: flatcamGUI/FlatCAMGUI.py:3697 msgid "Editor Draw:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3645 +#: flatcamGUI/FlatCAMGUI.py:3699 msgid "Set the color for the shape." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3657 +#: flatcamGUI/FlatCAMGUI.py:3711 msgid "Editor Draw Sel.:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3659 +#: flatcamGUI/FlatCAMGUI.py:3713 msgid "Set the color of the shape when selected." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Project Items:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3673 +#: flatcamGUI/FlatCAMGUI.py:3727 msgid "Set the color of the items in Project Tab Tree." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3684 +#: flatcamGUI/FlatCAMGUI.py:3738 msgid "Proj. Dis. Items:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3686 +#: flatcamGUI/FlatCAMGUI.py:3740 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3737 +#: flatcamGUI/FlatCAMGUI.py:3791 msgid "GUI Settings" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3743 +#: flatcamGUI/FlatCAMGUI.py:3797 msgid "Layout:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3745 +#: flatcamGUI/FlatCAMGUI.py:3799 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3761 +#: flatcamGUI/FlatCAMGUI.py:3815 msgid "Style:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3763 +#: flatcamGUI/FlatCAMGUI.py:3817 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3774 +#: flatcamGUI/FlatCAMGUI.py:3828 msgid "HDPI Support:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3776 +#: flatcamGUI/FlatCAMGUI.py:3830 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3789 +#: flatcamGUI/FlatCAMGUI.py:3843 msgid "Clear GUI Settings:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3791 +#: flatcamGUI/FlatCAMGUI.py:3845 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3794 +#: flatcamGUI/FlatCAMGUI.py:3848 msgid "Clear" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3798 +#: flatcamGUI/FlatCAMGUI.py:3852 msgid "Hover Shape:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3800 +#: flatcamGUI/FlatCAMGUI.py:3854 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" "over any kind of not-selected object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3807 +#: flatcamGUI/FlatCAMGUI.py:3861 msgid "Sel. Shape:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3809 +#: flatcamGUI/FlatCAMGUI.py:3863 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -5645,63 +5674,65 @@ msgid "" "right to left." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3816 +#: flatcamGUI/FlatCAMGUI.py:3870 msgid "NB Font Size:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3818 +#: flatcamGUI/FlatCAMGUI.py:3872 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" "and include the Project, Selected and Tool tabs." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3833 +#: flatcamGUI/FlatCAMGUI.py:3887 msgid "Axis Font Size:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3835 +#: flatcamGUI/FlatCAMGUI.py:3889 msgid "This sets the font size for canvas axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3887 +#: flatcamGUI/FlatCAMGUI.py:3940 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3890 +#: flatcamGUI/FlatCAMGUI.py:3943 msgid "Clear GUI Settings" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3911 +#: flatcamGUI/FlatCAMGUI.py:3964 msgid "App Preferences" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3917 -msgid "Units:" +#: flatcamGUI/FlatCAMGUI.py:3970 flatcamGUI/FlatCAMGUI.py:4484 +#: flatcamGUI/FlatCAMGUI.py:5309 flatcamTools/ToolMeasurement.py:43 +#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:128 +msgid "Units" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3918 +#: flatcamGUI/FlatCAMGUI.py:3971 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" "FLatCAM is started." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3921 +#: flatcamGUI/FlatCAMGUI.py:3974 msgid "IN" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3922 flatcamGUI/FlatCAMGUI.py:4421 -#: flatcamGUI/FlatCAMGUI.py:4682 flatcamGUI/FlatCAMGUI.py:5073 +#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:4490 +#: flatcamGUI/FlatCAMGUI.py:4922 flatcamGUI/FlatCAMGUI.py:5315 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3925 -msgid "APP. LEVEL:" +#: flatcamGUI/FlatCAMGUI.py:3978 +msgid "APP. LEVEL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3926 +#: flatcamGUI/FlatCAMGUI.py:3979 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -5711,27 +5742,40 @@ msgid "" "the Selected Tab for all kinds of FlatCAM objects." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3931 flatcamGUI/FlatCAMGUI.py:4709 +#: flatcamGUI/FlatCAMGUI.py:3984 flatcamGUI/FlatCAMGUI.py:4949 msgid "Basic" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3932 +#: flatcamGUI/FlatCAMGUI.py:3985 msgid "Advanced" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3935 -msgid "Languages:" +#: flatcamGUI/FlatCAMGUI.py:3988 +msgid "Portable app" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3936 +#: flatcamGUI/FlatCAMGUI.py:3989 +msgid "" +"Choose if the application should run as portable.\n" +"\n" +"If Checked the application will run portable,\n" +"which means that the preferences files will be saved\n" +"in the application folder, in the lib\\config subfolder." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:3996 +msgid "Languages" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:3997 msgid "Set the language used throughout FlatCAM." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3939 +#: flatcamGUI/FlatCAMGUI.py:4000 msgid "Apply Language" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3940 +#: flatcamGUI/FlatCAMGUI.py:4001 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -5742,107 +5786,107 @@ msgid "" "applied at the next app start." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3949 -msgid "Shell at StartUp:" +#: flatcamGUI/FlatCAMGUI.py:4010 +msgid "Shell at StartUp" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3951 flatcamGUI/FlatCAMGUI.py:3956 +#: flatcamGUI/FlatCAMGUI.py:4012 flatcamGUI/FlatCAMGUI.py:4017 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3961 -msgid "Version Check:" +#: flatcamGUI/FlatCAMGUI.py:4022 +msgid "Version Check" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3963 flatcamGUI/FlatCAMGUI.py:3968 +#: flatcamGUI/FlatCAMGUI.py:4024 flatcamGUI/FlatCAMGUI.py:4029 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3973 -msgid "Send Stats:" +#: flatcamGUI/FlatCAMGUI.py:4034 +msgid "Send Stats" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3975 flatcamGUI/FlatCAMGUI.py:3980 +#: flatcamGUI/FlatCAMGUI.py:4036 flatcamGUI/FlatCAMGUI.py:4041 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3987 -msgid "Pan Button:" +#: flatcamGUI/FlatCAMGUI.py:4048 +msgid "Pan Button" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3988 +#: flatcamGUI/FlatCAMGUI.py:4049 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" "- RMB --> Right Mouse Button" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3991 +#: flatcamGUI/FlatCAMGUI.py:4052 msgid "MMB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3992 +#: flatcamGUI/FlatCAMGUI.py:4053 msgid "RMB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3995 -msgid "Multiple Sel:" +#: flatcamGUI/FlatCAMGUI.py:4056 +msgid "Multiple Sel:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3996 +#: flatcamGUI/FlatCAMGUI.py:4057 msgid "Select the key used for multiple selection." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3997 +#: flatcamGUI/FlatCAMGUI.py:4058 msgid "CTRL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3998 +#: flatcamGUI/FlatCAMGUI.py:4059 msgid "SHIFT" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4001 -msgid "Project at StartUp:" +#: flatcamGUI/FlatCAMGUI.py:4062 +msgid "Project at StartUp" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4003 flatcamGUI/FlatCAMGUI.py:4008 +#: flatcamGUI/FlatCAMGUI.py:4064 flatcamGUI/FlatCAMGUI.py:4069 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Project AutoHide:" +#: flatcamGUI/FlatCAMGUI.py:4074 +msgid "Project AutoHide" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4015 flatcamGUI/FlatCAMGUI.py:4021 +#: flatcamGUI/FlatCAMGUI.py:4076 flatcamGUI/FlatCAMGUI.py:4082 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" "to show whenever a new object is created." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4027 -msgid "Enable ToolTips:" +#: flatcamGUI/FlatCAMGUI.py:4088 +msgid "Enable ToolTips" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4029 flatcamGUI/FlatCAMGUI.py:4034 +#: flatcamGUI/FlatCAMGUI.py:4090 flatcamGUI/FlatCAMGUI.py:4095 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4037 -msgid "Workers number:" +#: flatcamGUI/FlatCAMGUI.py:4098 +msgid "Workers number" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4039 flatcamGUI/FlatCAMGUI.py:4048 +#: flatcamGUI/FlatCAMGUI.py:4100 flatcamGUI/FlatCAMGUI.py:4109 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -5852,11 +5896,11 @@ msgid "" "After change, it will be applied at next App start." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4058 -msgid "Geo Tolerance:" +#: flatcamGUI/FlatCAMGUI.py:4119 +msgid "Geo Tolerance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4060 flatcamGUI/FlatCAMGUI.py:4069 +#: flatcamGUI/FlatCAMGUI.py:4121 flatcamGUI/FlatCAMGUI.py:4130 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -5866,11 +5910,11 @@ msgid "" "performance at the expense of level of detail." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4105 +#: flatcamGUI/FlatCAMGUI.py:4169 msgid "\"Open\" behavior" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4107 +#: flatcamGUI/FlatCAMGUI.py:4171 msgid "" "When checked the path for the last saved file is used when saving files,\n" "and the path for the last opened file is used when opening files.\n" @@ -5879,123 +5923,131 @@ msgid "" "path for saving files or the path for opening files." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4116 +#: flatcamGUI/FlatCAMGUI.py:4180 msgid "Delete object confirmation" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4118 +#: flatcamGUI/FlatCAMGUI.py:4182 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" "menu shortcut or key shortcut." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4125 +#: flatcamGUI/FlatCAMGUI.py:4189 msgid "Save Compressed Project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4127 +#: flatcamGUI/FlatCAMGUI.py:4191 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4138 -msgid "Compression Level:" +#: flatcamGUI/FlatCAMGUI.py:4202 +msgid "Compression Level" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4140 +#: flatcamGUI/FlatCAMGUI.py:4204 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" "but require more RAM usage and more processing time." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4163 +#: flatcamGUI/FlatCAMGUI.py:4230 msgid "Gerber General" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4166 flatcamGUI/FlatCAMGUI.py:4533 -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5830 +#: flatcamGUI/FlatCAMGUI.py:4233 flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5703 flatcamGUI/FlatCAMGUI.py:6084 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:503 -#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1356 -msgid "Plot Options:" +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1330 +msgid "Plot Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4173 flatcamGUI/FlatCAMGUI.py:4545 +#: flatcamGUI/FlatCAMGUI.py:4240 flatcamGUI/FlatCAMGUI.py:4785 #: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:504 msgid "Solid" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4175 flatcamGUI/ObjectUI.py:158 +#: flatcamGUI/FlatCAMGUI.py:4242 flatcamGUI/ObjectUI.py:158 msgid "Solid color polygons." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4180 flatcamGUI/ObjectUI.py:164 +#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:164 msgid "M-Color" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4182 flatcamGUI/ObjectUI.py:166 +#: flatcamGUI/FlatCAMGUI.py:4249 flatcamGUI/ObjectUI.py:166 msgid "Draw polygons in different colors." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4187 flatcamGUI/FlatCAMGUI.py:4539 -#: flatcamGUI/FlatCAMGUI.py:5465 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/FlatCAMGUI.py:4254 flatcamGUI/FlatCAMGUI.py:4779 +#: flatcamGUI/FlatCAMGUI.py:5707 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:542 msgid "Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4189 flatcamGUI/FlatCAMGUI.py:5467 -#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:544 -#: flatcamGUI/ObjectUI.py:877 flatcamGUI/ObjectUI.py:1469 +#: flatcamGUI/FlatCAMGUI.py:4256 flatcamGUI/FlatCAMGUI.py:5709 +#: flatcamGUI/FlatCAMGUI.py:6095 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:544 flatcamGUI/ObjectUI.py:877 +#: flatcamGUI/ObjectUI.py:1441 msgid "Plot (show) this object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4194 flatcamGUI/FlatCAMGUI.py:5475 -#: flatcamGUI/FlatCAMGUI.py:5913 -msgid "Circle Steps:" +#: flatcamGUI/FlatCAMGUI.py:4261 flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:6165 +msgid "Circle Steps" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4196 +#: flatcamGUI/FlatCAMGUI.py:4263 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4211 +#: flatcamGUI/FlatCAMGUI.py:4278 msgid "Gerber Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4214 flatcamGUI/ObjectUI.py:250 -msgid "Isolation Routing:" +#: flatcamGUI/FlatCAMGUI.py:4281 flatcamGUI/ObjectUI.py:250 +msgid "Isolation Routing" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4216 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4283 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4227 flatcamGUI/FlatCAMGUI.py:4907 -#: flatcamGUI/FlatCAMGUI.py:6244 flatcamGUI/ObjectUI.py:786 -#: flatcamGUI/ObjectUI.py:802 +#: flatcamGUI/FlatCAMGUI.py:4292 flatcamGUI/FlatCAMGUI.py:5731 +#: flatcamGUI/FlatCAMGUI.py:6175 flatcamGUI/FlatCAMGUI.py:6524 +#: flatcamGUI/FlatCAMGUI.py:6684 flatcamGUI/ObjectUI.py:259 +#: flatcamTools/ToolCutOut.py:92 +msgid "Tool dia" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4294 flatcamGUI/FlatCAMGUI.py:5149 +#: flatcamGUI/ObjectUI.py:785 msgid "Diameter of the cutting tool." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4234 -msgid "Width (# passes):" +#: flatcamGUI/FlatCAMGUI.py:4301 flatcamGUI/ObjectUI.py:272 +msgid "# Passes" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4236 flatcamGUI/ObjectUI.py:274 +#: flatcamGUI/FlatCAMGUI.py:4303 flatcamGUI/ObjectUI.py:274 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4245 flatcamGUI/ObjectUI.py:283 -msgid "Pass overlap:" +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/ObjectUI.py:283 +msgid "Pass overlap" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4247 flatcamGUI/ObjectUI.py:285 +#: flatcamGUI/FlatCAMGUI.py:4314 flatcamGUI/ObjectUI.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -6004,50 +6056,52 @@ msgid "" "above." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4255 flatcamGUI/ObjectUI.py:295 -msgid "Milling Type:" +#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:295 +msgid "Milling Type" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4257 flatcamGUI/ObjectUI.py:297 +#: flatcamGUI/FlatCAMGUI.py:4324 flatcamGUI/ObjectUI.py:297 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" "- conventional / useful when there is no backlash compensation" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4262 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamGUI/ObjectUI.py:302 msgid "Climb" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4263 flatcamGUI/ObjectUI.py:303 +#: flatcamGUI/FlatCAMGUI.py:4330 flatcamGUI/ObjectUI.py:303 msgid "Conv." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4267 +#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:307 msgid "Combine Passes" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4269 flatcamGUI/ObjectUI.py:309 +#: flatcamGUI/FlatCAMGUI.py:4336 flatcamGUI/ObjectUI.py:309 msgid "Combine all passes into one object" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4274 -msgid "Clear non-copper:" +#: flatcamGUI/FlatCAMGUI.py:4341 flatcamGUI/ObjectUI.py:414 +msgid "Non-copper regions" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4276 flatcamGUI/FlatCAMGUI.py:6090 -#: flatcamGUI/ObjectUI.py:384 +#: flatcamGUI/FlatCAMGUI.py:4343 flatcamGUI/ObjectUI.py:416 msgid "" -"Create a Geometry object with\n" -"toolpaths to cut all non-copper regions." +"Create polygons covering the\n" +"areas without copper on the PCB.\n" +"Equivalent to the inverse of this\n" +"object. Can be used to remove all\n" +"copper from a specified region." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4285 flatcamGUI/FlatCAMGUI.py:4311 +#: flatcamGUI/FlatCAMGUI.py:4355 flatcamGUI/FlatCAMGUI.py:4380 #: flatcamGUI/ObjectUI.py:428 flatcamGUI/ObjectUI.py:462 -msgid "Boundary Margin:" +msgid "Boundary Margin" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4287 flatcamGUI/ObjectUI.py:430 +#: flatcamGUI/FlatCAMGUI.py:4357 flatcamGUI/ObjectUI.py:430 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -6055,27 +6109,27 @@ msgid "" "distance." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4297 flatcamGUI/FlatCAMGUI.py:4320 -msgid "Rounded corners" +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/FlatCAMGUI.py:4389 +#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 +msgid "Rounded Geo" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4299 -msgid "" -"Creates a Geometry objects with polygons\n" -"covering the copper-free areas of the PCB." +#: flatcamGUI/FlatCAMGUI.py:4369 flatcamGUI/ObjectUI.py:443 +msgid "Resulting geometry will have rounded corners." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/ObjectUI.py:452 -msgid "Bounding Box:" +#: flatcamGUI/FlatCAMGUI.py:4374 flatcamGUI/ObjectUI.py:452 +#: flatcamTools/ToolPanelize.py:85 +msgid "Bounding Box" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4313 flatcamGUI/ObjectUI.py:464 +#: flatcamGUI/FlatCAMGUI.py:4382 flatcamGUI/ObjectUI.py:464 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4322 flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/FlatCAMGUI.py:4391 flatcamGUI/ObjectUI.py:474 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6083,98 +6137,94 @@ msgid "" "the margin." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4336 +#: flatcamGUI/FlatCAMGUI.py:4405 msgid "Gerber Adv. Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4339 -msgid "Advanced Param.:" +#: flatcamGUI/FlatCAMGUI.py:4408 +msgid "Advanced Param." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4341 +#: flatcamGUI/FlatCAMGUI.py:4410 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" "Advanced App. Level." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4351 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:314 msgid "\"Follow\"" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4353 flatcamGUI/ObjectUI.py:316 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:316 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" "the middle of the trace." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4360 +#: flatcamGUI/FlatCAMGUI.py:4429 msgid "Table Show/Hide" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4362 +#: flatcamGUI/FlatCAMGUI.py:4431 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" "that are drawn on canvas." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4401 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Export" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4404 flatcamGUI/FlatCAMGUI.py:5056 -msgid "Export Options:" +#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/FlatCAMGUI.py:5298 +msgid "Export Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4406 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4415 flatcamGUI/FlatCAMGUI.py:5067 -msgid "Units:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4417 flatcamGUI/FlatCAMGUI.py:4423 +#: flatcamGUI/FlatCAMGUI.py:4486 flatcamGUI/FlatCAMGUI.py:4492 msgid "The units used in the Gerber file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4681 -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamTools/ToolCalculators.py:60 -#: flatcamTools/ToolPcbWizard.py:125 +#: flatcamGUI/FlatCAMGUI.py:4489 flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:4921 flatcamGUI/FlatCAMGUI.py:5314 +#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4429 flatcamGUI/FlatCAMGUI.py:5081 -msgid "Int/Decimals:" +#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5323 +msgid "Int/Decimals" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4431 +#: flatcamGUI/FlatCAMGUI.py:4500 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4442 +#: flatcamGUI/FlatCAMGUI.py:4511 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4525 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4465 flatcamGUI/FlatCAMGUI.py:5142 -msgid "Zeros:" +#: flatcamGUI/FlatCAMGUI.py:4534 flatcamGUI/FlatCAMGUI.py:5384 +msgid "Zeros" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4468 flatcamGUI/FlatCAMGUI.py:4478 +#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4547 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -6183,35 +6233,36 @@ msgid "" "and Leading Zeros are kept." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4475 flatcamGUI/FlatCAMGUI.py:4657 -#: flatcamGUI/FlatCAMGUI.py:5152 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4544 flatcamGUI/FlatCAMGUI.py:4897 +#: flatcamGUI/FlatCAMGUI.py:5394 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4476 flatcamGUI/FlatCAMGUI.py:4658 -#: flatcamGUI/FlatCAMGUI.py:5153 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4545 flatcamGUI/FlatCAMGUI.py:4898 +#: flatcamGUI/FlatCAMGUI.py:5395 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4498 flatcamGUI/FlatCAMGUI.py:5206 -#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6088 -#: flatcamGUI/FlatCAMGUI.py:6231 flatcamGUI/FlatCAMGUI.py:6325 -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6487 -#: flatcamGUI/FlatCAMGUI.py:6548 flatcamGUI/FlatCAMGUI.py:6747 -#: flatcamGUI/FlatCAMGUI.py:6874 flatcamGUI/FlatCAMGUI.py:7047 -msgid "Parameters:" +#: flatcamGUI/FlatCAMGUI.py:4567 flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:6050 flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6346 flatcamGUI/FlatCAMGUI.py:6513 +#: flatcamGUI/FlatCAMGUI.py:6612 flatcamGUI/FlatCAMGUI.py:6808 +#: flatcamGUI/FlatCAMGUI.py:6869 flatcamGUI/FlatCAMGUI.py:7068 +#: flatcamGUI/FlatCAMGUI.py:7200 flatcamGUI/FlatCAMGUI.py:7373 +#: flatcamGUI/ObjectUI.py:1548 flatcamTools/ToolNonCopperClear.py:198 +msgid "Parameters" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4500 +#: flatcamGUI/FlatCAMGUI.py:4569 msgid "A list of Gerber Editor parameters." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4508 flatcamGUI/FlatCAMGUI.py:5216 -#: flatcamGUI/FlatCAMGUI.py:5806 -msgid "Selection limit:" +#: flatcamGUI/FlatCAMGUI.py:4577 flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:6060 +msgid "Selection limit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4510 +#: flatcamGUI/FlatCAMGUI.py:4579 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -6220,15 +6271,104 @@ msgid "" "large number of geometric elements." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4530 +#: flatcamGUI/FlatCAMGUI.py:4591 +msgid "New Aperture code" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4603 +msgid "New Aperture size" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4605 +msgid "Size for the new aperture" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4615 +msgid "New Aperture type" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4617 +msgid "" +"Type for the new aperture.\n" +"Can be 'C', 'R' or 'O'." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4638 +msgid "Aperture Dimensions" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4640 flatcamGUI/FlatCAMGUI.py:5733 +#: flatcamGUI/FlatCAMGUI.py:6358 +msgid "Diameters of the cutting tools, separated by ','" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4646 +#, python-format +msgid "%s:" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4650 flatcamGUI/FlatCAMGUI.py:5630 +msgid "Linear Dir." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4686 +msgid "Circular Pad Array" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4690 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/FlatCAMGUI.py:5670 +msgid "Circular Dir." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4692 flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5672 +msgid "" +"Direction for circular array.\n" +"Can be CW = clockwise or CCW = counter clockwise." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4703 flatcamGUI/FlatCAMGUI.py:5552 +#: flatcamGUI/FlatCAMGUI.py:5683 +msgid "Circ. Angle" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4718 +msgid "Distance at which to buffer the Gerber element." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4725 +msgid "Scale Tool" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4731 +msgid "Factor to scale the Gerber element." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4738 +msgid "Mark Area Tool" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:4752 +msgid "Threshold low" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4744 +msgid "Threshold value under which the apertures are not marked." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4754 +msgid "Threshold value over which the apertures are not marked." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:4770 msgid "Excellon General" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4552 -msgid "Excellon Format:" +#: flatcamGUI/FlatCAMGUI.py:4792 +msgid "Excellon Format" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4554 +#: flatcamGUI/FlatCAMGUI.py:4794 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -6251,41 +6391,37 @@ msgid "" "KiCAD 3:5 INCH TZ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4579 -msgid "INCH:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4582 +#: flatcamGUI/FlatCAMGUI.py:4822 msgid "Default values for INCH are 2:4" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4590 flatcamGUI/FlatCAMGUI.py:4623 -#: flatcamGUI/FlatCAMGUI.py:5096 +#: flatcamGUI/FlatCAMGUI.py:4830 flatcamGUI/FlatCAMGUI.py:4863 +#: flatcamGUI/FlatCAMGUI.py:5338 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4604 flatcamGUI/FlatCAMGUI.py:4637 -#: flatcamGUI/FlatCAMGUI.py:5110 +#: flatcamGUI/FlatCAMGUI.py:4844 flatcamGUI/FlatCAMGUI.py:4877 +#: flatcamGUI/FlatCAMGUI.py:5352 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4612 -msgid "METRIC:" +#: flatcamGUI/FlatCAMGUI.py:4852 +msgid "METRIC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4855 msgid "Default values for METRIC are 3:3" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4646 -msgid "Default Zeros:" +#: flatcamGUI/FlatCAMGUI.py:4886 +msgid "Default Zeros" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4649 flatcamGUI/FlatCAMGUI.py:5145 +#: flatcamGUI/FlatCAMGUI.py:4889 flatcamGUI/FlatCAMGUI.py:5387 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -6294,7 +6430,7 @@ msgid "" "and Leading Zeros are removed." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4660 +#: flatcamGUI/FlatCAMGUI.py:4900 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -6304,11 +6440,11 @@ msgid "" "and Leading Zeros are removed." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4670 -msgid "Default Units:" +#: flatcamGUI/FlatCAMGUI.py:4910 +msgid "Default Units" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4673 +#: flatcamGUI/FlatCAMGUI.py:4913 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -6316,22 +6452,22 @@ msgid "" "therefore this parameter will be used." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4684 +#: flatcamGUI/FlatCAMGUI.py:4924 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" "therefore this parameter will be used." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4692 -msgid "Excellon Optimization:" +#: flatcamGUI/FlatCAMGUI.py:4932 +msgid "Excellon Optimization" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4695 +#: flatcamGUI/FlatCAMGUI.py:4935 msgid "Algorithm: " msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4697 flatcamGUI/FlatCAMGUI.py:4711 +#: flatcamGUI/FlatCAMGUI.py:4937 flatcamGUI/FlatCAMGUI.py:4951 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -6343,15 +6479,15 @@ msgid "" "Travelling Salesman algorithm for path optimization." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4708 +#: flatcamGUI/FlatCAMGUI.py:4948 msgid "MH" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4722 -msgid "Optimization Time: " +#: flatcamGUI/FlatCAMGUI.py:4962 +msgid "Optimization Time" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -6359,88 +6495,92 @@ msgid "" "In seconds." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4768 +#: flatcamGUI/FlatCAMGUI.py:5008 msgid "Excellon Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4771 flatcamGUI/ObjectUI.py:582 -msgid "Create CNC Job" +#: flatcamGUI/FlatCAMGUI.py:5011 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/ObjectUI.py:582 +msgid "Create CNC Job" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4773 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4781 flatcamGUI/FlatCAMGUI.py:5522 -#: flatcamGUI/FlatCAMGUI.py:6683 flatcamGUI/ObjectUI.py:593 -#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:106 -msgid "Cut Z:" +#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5764 +#: flatcamGUI/FlatCAMGUI.py:7004 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:1069 flatcamTools/ToolCalculators.py:107 +msgid "Cut Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4783 flatcamGUI/ObjectUI.py:595 +#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/ObjectUI.py:595 msgid "" "Drill depth (negative)\n" "below the copper surface." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4790 flatcamGUI/FlatCAMGUI.py:5555 -#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1105 -msgid "Travel Z:" +#: flatcamGUI/FlatCAMGUI.py:5030 flatcamGUI/FlatCAMGUI.py:5802 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:1103 +msgid "Travel Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4792 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5032 flatcamGUI/ObjectUI.py:605 msgid "" "Tool height when travelling\n" "across the XY plane." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4800 flatcamGUI/FlatCAMGUI.py:5565 -msgid "Tool change:" +#: flatcamGUI/FlatCAMGUI.py:5040 flatcamGUI/FlatCAMGUI.py:5812 +#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1121 +msgid "Tool change" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4802 flatcamGUI/FlatCAMGUI.py:5567 -#: flatcamGUI/ObjectUI.py:615 +#: flatcamGUI/FlatCAMGUI.py:5042 flatcamGUI/ObjectUI.py:615 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4809 flatcamGUI/FlatCAMGUI.py:5575 -msgid "Toolchange Z:" +#: flatcamGUI/FlatCAMGUI.py:5049 flatcamGUI/FlatCAMGUI.py:5824 +msgid "Toolchange Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4811 flatcamGUI/FlatCAMGUI.py:5577 -msgid "Toolchange Z position." +#: flatcamGUI/FlatCAMGUI.py:5051 flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1117 +msgid "" +"Z-axis position (height) for\n" +"tool change." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4817 -msgid "Feedrate:" +#: flatcamGUI/FlatCAMGUI.py:5058 flatcamGUI/ObjectUI.py:652 +msgid "Feedrate (Plunge):" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4819 +#: flatcamGUI/FlatCAMGUI.py:5060 flatcamGUI/ObjectUI.py:654 msgid "" "Tool speed while drilling\n" -"(in units per minute)." +"(in units per minute).\n" +"This is for linear move G01." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4827 -msgid "Spindle Speed:" +#: flatcamGUI/FlatCAMGUI.py:5069 +msgid "Spindle Speed" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4829 flatcamGUI/FlatCAMGUI.py:5607 -#: flatcamGUI/ObjectUI.py:682 +#: flatcamGUI/FlatCAMGUI.py:5071 flatcamGUI/ObjectUI.py:681 msgid "" "Speed of the spindle\n" "in RPM (optional)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4837 flatcamGUI/FlatCAMGUI.py:5615 -msgid "Spindle dir.:" +#: flatcamGUI/FlatCAMGUI.py:5079 flatcamGUI/FlatCAMGUI.py:5870 +msgid "Spindle dir." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4839 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5872 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -6448,43 +6588,43 @@ msgid "" "- CCW = counter clockwise" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4851 flatcamGUI/FlatCAMGUI.py:5629 -#: flatcamGUI/ObjectUI.py:690 flatcamGUI/ObjectUI.py:1231 -msgid "Dwell:" +#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/FlatCAMGUI.py:5884 +#: flatcamGUI/ObjectUI.py:689 flatcamGUI/ObjectUI.py:1217 +msgid "Dwell" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4853 flatcamGUI/FlatCAMGUI.py:5631 -#: flatcamGUI/ObjectUI.py:692 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5886 +#: flatcamGUI/ObjectUI.py:691 flatcamGUI/ObjectUI.py:1220 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4856 flatcamGUI/FlatCAMGUI.py:5634 +#: flatcamGUI/FlatCAMGUI.py:5098 msgid "Duration:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4858 flatcamGUI/FlatCAMGUI.py:5636 -#: flatcamGUI/ObjectUI.py:697 flatcamGUI/ObjectUI.py:1241 -msgid "Number of milliseconds for spindle to dwell." +#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5891 +#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1226 +msgid "Number of time units for spindle to dwell." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4870 flatcamGUI/FlatCAMGUI.py:5646 -#: flatcamGUI/ObjectUI.py:705 -msgid "Postprocessor:" +#: flatcamGUI/FlatCAMGUI.py:5112 flatcamGUI/FlatCAMGUI.py:5901 +#: flatcamGUI/ObjectUI.py:704 +msgid "Postprocessor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4872 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/ObjectUI.py:706 msgid "" -"The postprocessor file that dictates\n" -"gcode output." +"The postprocessor JSON file that dictates\n" +"Gcode output." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4881 -msgid "Gcode: " +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:745 +msgid "Gcode" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4883 +#: flatcamGUI/FlatCAMGUI.py:5125 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -6492,93 +6632,93 @@ msgid "" "converted to drills." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4899 flatcamGUI/ObjectUI.py:770 -msgid "Mill Holes" +#: flatcamGUI/FlatCAMGUI.py:5141 flatcamGUI/ObjectUI.py:769 +msgid "Mill Holes" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4901 flatcamGUI/ObjectUI.py:772 +#: flatcamGUI/FlatCAMGUI.py:5143 flatcamGUI/ObjectUI.py:771 msgid "Create Geometry for milling holes." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4905 -msgid "Drill Tool dia:" +#: flatcamGUI/FlatCAMGUI.py:5147 flatcamGUI/ObjectUI.py:783 +msgid "Drill Tool dia" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4912 -msgid "Slot Tool dia:" +#: flatcamGUI/FlatCAMGUI.py:5154 flatcamGUI/ObjectUI.py:799 +msgid "Slot Tool dia" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4914 +#: flatcamGUI/FlatCAMGUI.py:5156 flatcamGUI/ObjectUI.py:801 msgid "" "Diameter of the cutting tool\n" "when milling slots." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4926 +#: flatcamGUI/FlatCAMGUI.py:5168 msgid "Defaults" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4939 +#: flatcamGUI/FlatCAMGUI.py:5181 msgid "Excellon Adv. Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4945 flatcamGUI/FlatCAMGUI.py:5669 -msgid "Advanced Options:" +#: flatcamGUI/FlatCAMGUI.py:5187 flatcamGUI/FlatCAMGUI.py:5924 +msgid "Advanced Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4947 +#: flatcamGUI/FlatCAMGUI.py:5189 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4955 -msgid "Offset Z:" +#: flatcamGUI/FlatCAMGUI.py:5197 flatcamGUI/ObjectUI.py:555 +msgid "Offset Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4957 flatcamGUI/ObjectUI.py:572 +#: flatcamGUI/FlatCAMGUI.py:5199 flatcamGUI/ObjectUI.py:572 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" "The value here can compensate the Cut Z parameter." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4964 flatcamGUI/FlatCAMGUI.py:5680 -msgid "Toolchange X,Y:" +#: flatcamGUI/FlatCAMGUI.py:5206 +msgid "Toolchange X,Y" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4966 flatcamGUI/FlatCAMGUI.py:5682 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/FlatCAMGUI.py:5937 msgid "Toolchange X,Y position." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamGUI/FlatCAMGUI.py:5214 flatcamGUI/FlatCAMGUI.py:5944 #: flatcamGUI/ObjectUI.py:632 -msgid "Start move Z:" +msgid "Start move Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4974 +#: flatcamGUI/FlatCAMGUI.py:5216 flatcamGUI/ObjectUI.py:634 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4981 flatcamGUI/FlatCAMGUI.py:5699 -#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1151 -msgid "End move Z:" +#: flatcamGUI/FlatCAMGUI.py:5223 flatcamGUI/FlatCAMGUI.py:5954 +#: flatcamGUI/ObjectUI.py:642 flatcamGUI/ObjectUI.py:1147 +msgid "End move Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4983 flatcamGUI/FlatCAMGUI.py:5701 +#: flatcamGUI/FlatCAMGUI.py:5225 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:1149 msgid "" "Height of the tool after\n" "the last move at the end of the job." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4990 flatcamGUI/FlatCAMGUI.py:5709 -#: flatcamGUI/ObjectUI.py:663 -msgid "Feedrate Rapids:" +#: flatcamGUI/FlatCAMGUI.py:5232 flatcamGUI/ObjectUI.py:663 +msgid "Feedrate Rapids" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:4992 flatcamGUI/ObjectUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:5234 flatcamGUI/ObjectUI.py:665 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -6587,33 +6727,33 @@ msgid "" "ignore for any other cases." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5003 flatcamGUI/FlatCAMGUI.py:5733 -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1263 -msgid "Probe Z depth:" +#: flatcamGUI/FlatCAMGUI.py:5245 flatcamGUI/FlatCAMGUI.py:5987 +#: flatcamGUI/ObjectUI.py:715 flatcamGUI/ObjectUI.py:1245 +msgid "Probe Z depth" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5005 flatcamGUI/FlatCAMGUI.py:5735 -#: flatcamGUI/ObjectUI.py:718 flatcamGUI/ObjectUI.py:1266 +#: flatcamGUI/FlatCAMGUI.py:5247 flatcamGUI/FlatCAMGUI.py:5989 +#: flatcamGUI/ObjectUI.py:717 flatcamGUI/ObjectUI.py:1247 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5013 flatcamGUI/FlatCAMGUI.py:5743 -#: flatcamGUI/ObjectUI.py:728 flatcamGUI/ObjectUI.py:1277 -msgid "Feedrate Probe:" +#: flatcamGUI/FlatCAMGUI.py:5255 flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/ObjectUI.py:727 flatcamGUI/ObjectUI.py:1257 +msgid "Feedrate Probe" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5015 flatcamGUI/FlatCAMGUI.py:5745 -#: flatcamGUI/ObjectUI.py:730 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5999 +#: flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1259 msgid "The feedrate used while the probe is probing." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5021 flatcamGUI/FlatCAMGUI.py:5752 +#: flatcamGUI/FlatCAMGUI.py:5263 msgid "Fast Plunge:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5023 flatcamGUI/FlatCAMGUI.py:5754 +#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:6008 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -6621,11 +6761,11 @@ msgid "" "WARNING: the move is done at Toolchange X,Y coords." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5032 -msgid "Fast Retract:" +#: flatcamGUI/FlatCAMGUI.py:5274 +msgid "Fast Retract" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5034 +#: flatcamGUI/FlatCAMGUI.py:5276 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -6635,21 +6775,21 @@ msgid "" "(travel height) is done as fast as possible (G0) in one move." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5053 +#: flatcamGUI/FlatCAMGUI.py:5295 msgid "Excellon Export" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5058 +#: flatcamGUI/FlatCAMGUI.py:5300 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5069 flatcamGUI/FlatCAMGUI.py:5075 +#: flatcamGUI/FlatCAMGUI.py:5311 flatcamGUI/FlatCAMGUI.py:5317 msgid "The units used in the Excellon file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5083 +#: flatcamGUI/FlatCAMGUI.py:5325 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -6657,11 +6797,11 @@ msgid "" "coordinates are not using period." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5119 -msgid "Format:" +#: flatcamGUI/FlatCAMGUI.py:5361 +msgid "Format" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5121 flatcamGUI/FlatCAMGUI.py:5131 +#: flatcamGUI/FlatCAMGUI.py:5363 flatcamGUI/FlatCAMGUI.py:5373 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -6671,15 +6811,15 @@ msgid "" "or TZ = trailing zeros are kept." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5128 +#: flatcamGUI/FlatCAMGUI.py:5370 msgid "Decimal" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5129 +#: flatcamGUI/FlatCAMGUI.py:5371 msgid "No-Decimal" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5155 +#: flatcamGUI/FlatCAMGUI.py:5397 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -6688,11 +6828,11 @@ msgid "" "and Leading Zeros are removed." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5165 -msgid "Slot type:" +#: flatcamGUI/FlatCAMGUI.py:5407 +msgid "Slot type" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5168 flatcamGUI/FlatCAMGUI.py:5178 +#: flatcamGUI/FlatCAMGUI.py:5410 flatcamGUI/FlatCAMGUI.py:5420 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -6701,19 +6841,19 @@ msgid "" "using the Drilled slot command (G85)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5175 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "Routed" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5418 msgid "Drilled(G85)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5208 +#: flatcamGUI/FlatCAMGUI.py:5450 msgid "A list of Excellon Editor parameters." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5218 +#: flatcamGUI/FlatCAMGUI.py:5460 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -6722,100 +6862,95 @@ msgid "" "large number of geometric elements." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5230 -msgid "New Tool Dia:" +#: flatcamGUI/FlatCAMGUI.py:5472 +msgid "New Tool Dia" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5253 -msgid "Linear Drill Array:" +#: flatcamGUI/FlatCAMGUI.py:5484 +msgid "Nr of drills" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5257 flatcamGUI/FlatCAMGUI.py:5388 +#: flatcamGUI/FlatCAMGUI.py:5495 +msgid "Linear Drill Array" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:5499 msgid "Linear Dir.:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5293 -msgid "Circular Drill Array:" +#: flatcamGUI/FlatCAMGUI.py:5515 flatcamGUI/FlatCAMGUI.py:5935 +#, python-format +msgid "%s:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/FlatCAMGUI.py:5428 -msgid "Circular Dir.:" +#: flatcamGUI/FlatCAMGUI.py:5535 +msgid "Circular Drill Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/FlatCAMGUI.py:5430 -msgid "" -"Direction for circular array.\n" -"Can be CW = clockwise or CCW = counter clockwise." +#: flatcamGUI/FlatCAMGUI.py:5563 flatcamGUI/ObjectUI.py:554 +msgid "Slots" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:5441 -msgid "Circ. Angle:" +#: flatcamGUI/FlatCAMGUI.py:5567 flatcamTools/ToolProperties.py:159 +msgid "Length" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5321 -msgid "Slots:" +#: flatcamGUI/FlatCAMGUI.py:5614 +msgid "Linear Slot Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5372 -msgid "Linear Slot Array:" +#: flatcamGUI/FlatCAMGUI.py:5618 +msgid "Nr of slots" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5424 -msgid "Circular Slot Array:" +#: flatcamGUI/FlatCAMGUI.py:5666 +msgid "Circular Slot Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5700 msgid "Geometry General" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5477 +#: flatcamGUI/FlatCAMGUI.py:5719 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5485 -msgid "Tools:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:5491 flatcamGUI/FlatCAMGUI.py:6100 -msgid "Diameters of the cutting tools, separated by ','" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:5505 +#: flatcamGUI/FlatCAMGUI.py:5747 msgid "Geometry Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5510 -msgid "Create CNC Job:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:5512 +#: flatcamGUI/FlatCAMGUI.py:5754 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" "Geometry object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5524 flatcamGUI/ObjectUI.py:1072 +#: flatcamGUI/FlatCAMGUI.py:5766 flatcamGUI/ObjectUI.py:1072 msgid "" "Cutting depth (negative)\n" "below the copper surface." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5532 -msgid "Multidepth" +#: flatcamGUI/FlatCAMGUI.py:5774 flatcamGUI/ObjectUI.py:1081 +msgid "Multi-Depth" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5534 -msgid "Multidepth usage: True or False." +#: flatcamGUI/FlatCAMGUI.py:5777 flatcamGUI/ObjectUI.py:1084 +msgid "" +"Use multiple passes to limit\n" +"the cut depth in each pass. Will\n" +"cut multiple times until Cut Z is\n" +"reached." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5539 -msgid "Depth/Pass:" +#: flatcamGUI/FlatCAMGUI.py:5786 +msgid "Depth/Pass" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5541 +#: flatcamGUI/FlatCAMGUI.py:5788 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -6824,61 +6959,82 @@ msgid "" "which has negative value." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5557 flatcamGUI/ObjectUI.py:1108 +#: flatcamGUI/FlatCAMGUI.py:5804 flatcamGUI/ObjectUI.py:1105 msgid "" "Height of the tool when\n" "moving without cutting." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5584 flatcamGUI/ObjectUI.py:1163 -msgid "Feed Rate X-Y:" +#: flatcamGUI/FlatCAMGUI.py:5815 flatcamGUI/ObjectUI.py:1124 +msgid "" +"Include tool-change sequence\n" +"in the Machine Code (Pause for tool change)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5586 flatcamGUI/ObjectUI.py:1166 +#: flatcamGUI/FlatCAMGUI.py:5836 flatcamGUI/ObjectUI.py:1157 +msgid "Feed Rate X-Y" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:5838 flatcamGUI/ObjectUI.py:1159 msgid "" "Cutting speed in the XY\n" "plane in units per minute" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5594 -msgid "Feed Rate Z:" +#: flatcamGUI/FlatCAMGUI.py:5846 flatcamGUI/ObjectUI.py:1167 +msgid "Feed Rate Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5596 +#: flatcamGUI/FlatCAMGUI.py:5848 flatcamGUI/ObjectUI.py:1169 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" "It is called also Plunge." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/ObjectUI.py:680 -#: flatcamGUI/ObjectUI.py:1218 -msgid "Spindle speed:" +#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:679 +#: flatcamGUI/ObjectUI.py:1204 +msgid "Spindle speed" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5648 +#: flatcamGUI/FlatCAMGUI.py:5860 flatcamGUI/ObjectUI.py:1207 msgid "" -"The postprocessor file that dictates\n" -"Machine Code output." +"Speed of the spindle in RPM (optional).\n" +"If LASER postprocessor is used,\n" +"this value is the power of laser." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5664 +#: flatcamGUI/FlatCAMGUI.py:5889 +msgid "Duration" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1236 +msgid "" +"The Postprocessor file that dictates\n" +"the Machine Code (like GCode, RML, HPGL) output." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:5919 msgid "Geometry Adv. Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamGUI/FlatCAMGUI.py:5926 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5691 +#: flatcamGUI/FlatCAMGUI.py:5946 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5711 +#: flatcamGUI/FlatCAMGUI.py:5964 flatcamGUI/ObjectUI.py:1178 +msgid "Feed Rate Rapids" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:5966 flatcamGUI/ObjectUI.py:1180 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -6887,11 +7043,11 @@ msgid "" "ignore for any other cases." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:5977 flatcamGUI/ObjectUI.py:1194 msgid "Re-cut 1st pt." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5725 flatcamGUI/ObjectUI.py:1209 +#: flatcamGUI/FlatCAMGUI.py:5979 flatcamGUI/ObjectUI.py:1196 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -6899,37 +7055,41 @@ msgid "" "extended cut over the first cut section." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5764 -msgid "Seg. X size:" +#: flatcamGUI/FlatCAMGUI.py:6006 +msgid "Fast Plunge" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5766 +#: flatcamGUI/FlatCAMGUI.py:6018 +msgid "Seg. X size" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6020 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" "A value of 0 means no segmentation on the X axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5775 -msgid "Seg. Y size:" +#: flatcamGUI/FlatCAMGUI.py:6029 +msgid "Seg. Y size" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5777 +#: flatcamGUI/FlatCAMGUI.py:6031 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" "A value of 0 means no segmentation on the Y axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5793 +#: flatcamGUI/FlatCAMGUI.py:6047 msgid "Geometry Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6052 msgid "A list of Geometry Editor parameters." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5808 +#: flatcamGUI/FlatCAMGUI.py:6062 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -6938,20 +7098,20 @@ msgid "" "large number of geometric elements." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5827 +#: flatcamGUI/FlatCAMGUI.py:6081 msgid "CNC Job General" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5840 flatcamGUI/ObjectUI.py:542 -#: flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:1466 +#: flatcamGUI/FlatCAMGUI.py:6094 flatcamGUI/ObjectUI.py:875 +#: flatcamGUI/ObjectUI.py:1439 msgid "Plot Object" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5847 +#: flatcamGUI/FlatCAMGUI.py:6099 msgid "Plot kind:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5849 flatcamGUI/ObjectUI.py:1362 +#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/ObjectUI.py:1336 msgid "" "This selects the kind of geometries on the canvas to plot.\n" "Those can be either of type 'Travel' which means the moves\n" @@ -6959,199 +7119,245 @@ msgid "" "which means the moves that cut into the material." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5857 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/FlatCAMGUI.py:6109 flatcamGUI/ObjectUI.py:1345 msgid "Travel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5866 -msgid "Display Annotation:" +#: flatcamGUI/FlatCAMGUI.py:6118 flatcamGUI/ObjectUI.py:1349 +msgid "Display Annotation" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5868 flatcamGUI/ObjectUI.py:1378 +#: flatcamGUI/FlatCAMGUI.py:6120 flatcamGUI/ObjectUI.py:1351 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" "of a travel line." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5880 -msgid "Annotation Size:" +#: flatcamGUI/FlatCAMGUI.py:6132 +msgid "Annotation Size" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5882 +#: flatcamGUI/FlatCAMGUI.py:6134 msgid "The font size of the annotation text. In pixels." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5890 -msgid "Annotation Color:" +#: flatcamGUI/FlatCAMGUI.py:6142 +msgid "Annotation Color" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/FlatCAMGUI.py:6144 msgid "Set the font color for the annotation texts." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5915 +#: flatcamGUI/FlatCAMGUI.py:6167 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5925 +#: flatcamGUI/FlatCAMGUI.py:6177 msgid "" "Diameter of the tool to be\n" "rendered in the plot." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5933 -msgid "Coords dec.:" +#: flatcamGUI/FlatCAMGUI.py:6185 +msgid "Coords dec." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5935 +#: flatcamGUI/FlatCAMGUI.py:6187 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5943 -msgid "Feedrate dec.:" +#: flatcamGUI/FlatCAMGUI.py:6195 +msgid "Feedrate dec." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5945 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5960 +#: flatcamGUI/FlatCAMGUI.py:6212 msgid "CNC Job Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5963 flatcamGUI/FlatCAMGUI.py:6004 -msgid "Export G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6215 +msgid "Export G-Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5965 flatcamGUI/FlatCAMGUI.py:6006 -#: flatcamGUI/ObjectUI.py:1502 +#: flatcamGUI/FlatCAMGUI.py:6217 flatcamGUI/FlatCAMGUI.py:6258 +#: flatcamGUI/ObjectUI.py:1473 msgid "" "Export and save G-Code to\n" "make this object to a file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5971 -msgid "Prepend to G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6223 +msgid "Prepend to G-Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5973 +#: flatcamGUI/FlatCAMGUI.py:6225 flatcamGUI/ObjectUI.py:1481 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5982 -msgid "Append to G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6234 +msgid "Append to G-Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:5984 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6236 flatcamGUI/ObjectUI.py:1492 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" "I.e.: M2 (End of program)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6001 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "CNC Job Adv. Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6012 flatcamGUI/ObjectUI.py:1542 -msgid "Toolchange G-Code:" +#: flatcamGUI/FlatCAMGUI.py:6256 flatcamGUI/ObjectUI.py:1471 +msgid "Export CNC Code" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6014 +#: flatcamGUI/FlatCAMGUI.py:6264 flatcamGUI/ObjectUI.py:1509 +msgid "Toolchange G-Code" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6267 flatcamGUI/ObjectUI.py:1512 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" "This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro." +"or a Toolchange Macro.\n" +"The FlatCAM variables are surrounded by '%' symbol.\n" +"\n" +"WARNING: it can be used only with a postprocessor file\n" +"that has 'toolchange_custom' in it's name and this is built\n" +"having as template the 'Toolchange Custom' posprocessor file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1564 +#: flatcamGUI/FlatCAMGUI.py:6286 flatcamGUI/ObjectUI.py:1531 msgid "Use Toolchange Macro" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1567 +#: flatcamGUI/FlatCAMGUI.py:6288 flatcamGUI/ObjectUI.py:1533 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1576 +#: flatcamGUI/FlatCAMGUI.py:6300 flatcamGUI/ObjectUI.py:1541 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" "They have to be surrounded by the '%' symbol" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6049 flatcamGUI/ObjectUI.py:1583 -msgid "Parameters" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6052 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6310 flatcamGUI/ObjectUI.py:1551 msgid "FlatCAM CNC parameters" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6053 flatcamGUI/ObjectUI.py:1587 +#: flatcamGUI/FlatCAMGUI.py:6311 flatcamGUI/ObjectUI.py:1552 msgid "tool = tool number" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6054 flatcamGUI/ObjectUI.py:1588 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1553 msgid "tooldia = tool diameter" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6055 flatcamGUI/ObjectUI.py:1589 +#: flatcamGUI/FlatCAMGUI.py:6313 flatcamGUI/ObjectUI.py:1554 msgid "t_drills = for Excellon, total number of drills" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6056 flatcamGUI/ObjectUI.py:1590 +#: flatcamGUI/FlatCAMGUI.py:6314 flatcamGUI/ObjectUI.py:1555 msgid "x_toolchange = X coord for Toolchange" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6057 flatcamGUI/ObjectUI.py:1591 +#: flatcamGUI/FlatCAMGUI.py:6315 flatcamGUI/ObjectUI.py:1556 msgid "y_toolchange = Y coord for Toolchange" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6058 flatcamGUI/ObjectUI.py:1592 +#: flatcamGUI/FlatCAMGUI.py:6316 flatcamGUI/ObjectUI.py:1557 msgid "z_toolchange = Z coord for Toolchange" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:6317 msgid "z_cut = Z depth for the cut" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6060 +#: flatcamGUI/FlatCAMGUI.py:6318 msgid "z_move = Z height for travel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6061 flatcamGUI/ObjectUI.py:1595 +#: flatcamGUI/FlatCAMGUI.py:6319 flatcamGUI/ObjectUI.py:1560 msgid "z_depthpercut = the step value for multidepth cut" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6062 flatcamGUI/ObjectUI.py:1596 +#: flatcamGUI/FlatCAMGUI.py:6320 flatcamGUI/ObjectUI.py:1561 msgid "spindlesspeed = the value for the spindle speed" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6064 flatcamGUI/ObjectUI.py:1597 +#: flatcamGUI/FlatCAMGUI.py:6322 flatcamGUI/ObjectUI.py:1562 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6085 +#: flatcamGUI/FlatCAMGUI.py:6343 msgid "NCC Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6098 flatcamGUI/FlatCAMGUI.py:6885 -msgid "Tools dia:" +#: flatcamGUI/FlatCAMGUI.py:6348 flatcamGUI/ObjectUI.py:384 +msgid "" +"Create a Geometry object with\n" +"toolpaths to cut all non-copper regions." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6108 flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/FlatCAMGUI.py:6356 flatcamGUI/FlatCAMGUI.py:7211 +msgid "Tools dia" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6364 flatcamGUI/FlatCAMGUI.py:6694 +#: flatcamTools/ToolNonCopperClear.py:137 flatcamTools/ToolPaint.py:136 +msgid "Tool order" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6365 flatcamGUI/FlatCAMGUI.py:6375 +#: flatcamGUI/FlatCAMGUI.py:6695 flatcamGUI/FlatCAMGUI.py:6705 +#: flatcamTools/ToolNonCopperClear.py:138 +#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:137 +#: flatcamTools/ToolPaint.py:147 +msgid "" +"This set the way that the tools in the tools table are used.\n" +"'No' --> means that the used order is the one in the tool table\n" +"'Forward' --> means that the tools will be ordered from small to big\n" +"'Reverse' --> menas that the tools will ordered from big to small\n" +"\n" +"WARNING: using rest machining will automatically set the order\n" +"in reverse and disable this control." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/FlatCAMGUI.py:6703 +#: flatcamTools/ToolNonCopperClear.py:146 flatcamTools/ToolPaint.py:145 +msgid "Forward" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6374 flatcamGUI/FlatCAMGUI.py:6704 +#: flatcamTools/ToolNonCopperClear.py:147 flatcamTools/ToolPaint.py:146 +msgid "Reverse" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/FlatCAMGUI.py:6715 +#: flatcamTools/ToolPaint.py:205 +msgid "Overlap Rate" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6386 flatcamTools/ToolNonCopperClear.py:203 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7166,40 +7372,58 @@ msgid "" "due of too many paths." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6124 flatcamTools/ToolNonCopperClear.py:183 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/FlatCAMGUI.py:6548 +#: flatcamGUI/FlatCAMGUI.py:6732 flatcamTools/ToolNonCopperClear.py:217 +#: flatcamTools/ToolPaint.py:222 +msgid "Margin" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamTools/ToolNonCopperClear.py:219 msgid "Bounding box margin." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6133 flatcamTools/ToolNonCopperClear.py:192 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/FlatCAMGUI.py:6743 +#: flatcamTools/ToolNonCopperClear.py:226 flatcamTools/ToolPaint.py:233 +msgid "Method" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6411 flatcamGUI/FlatCAMGUI.py:6745 +#: flatcamTools/ToolNonCopperClear.py:228 flatcamTools/ToolPaint.py:235 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " "lines." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6165 flatcamTools/ToolNonCopperClear.py:224 -#: flatcamTools/ToolPaint.py:222 -msgid "Rest M.:" +#: flatcamGUI/FlatCAMGUI.py:6425 flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamTools/ToolNonCopperClear.py:242 flatcamTools/ToolPaint.py:249 +msgid "Connect" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6167 +#: flatcamGUI/FlatCAMGUI.py:6434 flatcamGUI/FlatCAMGUI.py:6769 +#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:258 +msgid "Contour" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamTools/ToolNonCopperClear.py:260 +#: flatcamTools/ToolPaint.py:267 +msgid "Rest M." +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:262 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" "using the biggest tool and continue with the next tools,\n" "from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool.\n" +"could not be cleared by previous tool, until there is\n" +"no more copper to clear or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6179 flatcamTools/ToolNonCopperClear.py:239 -msgid "Offset:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6181 flatcamGUI/FlatCAMGUI.py:6193 -#: flatcamTools/ToolNonCopperClear.py:241 -#: flatcamTools/ToolNonCopperClear.py:253 +#: flatcamGUI/FlatCAMGUI.py:6460 flatcamGUI/FlatCAMGUI.py:6472 +#: flatcamTools/ToolNonCopperClear.py:277 +#: flatcamTools/ToolNonCopperClear.py:289 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -7207,47 +7431,60 @@ msgid "" "The value can be between 0 and 10 FlatCAM units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6191 flatcamTools/ToolNonCopperClear.py:251 -msgid "Offset value:" +#: flatcamGUI/FlatCAMGUI.py:6470 flatcamTools/ToolNonCopperClear.py:287 +msgid "Offset value" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6208 flatcamTools/ToolNonCopperClear.py:276 +#: flatcamGUI/FlatCAMGUI.py:6487 flatcamTools/ToolNonCopperClear.py:313 msgid "Itself" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6209 flatcamGUI/FlatCAMGUI.py:6360 -#: flatcamTools/ToolDblSided.py:132 flatcamTools/ToolNonCopperClear.py:277 -msgid "Box" +#: flatcamGUI/FlatCAMGUI.py:6488 flatcamGUI/FlatCAMGUI.py:6791 +msgid "Area" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6210 flatcamTools/ToolNonCopperClear.py:278 -msgid "Reference:" +#: flatcamGUI/FlatCAMGUI.py:6489 +msgid "Ref" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6212 +#: flatcamGUI/FlatCAMGUI.py:6490 +msgid "Reference" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamTools/ToolNonCopperClear.py:319 msgid "" -"When choosing the 'Itself' option the non copper clearing extent\n" +"- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" -" Choosing the 'Box' option will do non copper clearing within the box\n" -"specified by another object different than the one that is copper cleared." +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6510 msgid "Cutout Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6233 flatcamGUI/ObjectUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:6515 flatcamGUI/ObjectUI.py:400 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" "the original board." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6251 flatcamTools/ToolCutOut.py:77 -msgid "Obj kind:" +#: flatcamGUI/FlatCAMGUI.py:6526 flatcamTools/ToolCutOut.py:94 +msgid "" +"Diameter of the tool used to cutout\n" +"the PCB shape out of the surrounding material." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6253 flatcamTools/ToolCutOut.py:79 +#: flatcamGUI/FlatCAMGUI.py:6534 flatcamTools/ToolCutOut.py:77 +msgid "Obj kind" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6536 flatcamTools/ToolCutOut.py:79 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -7255,41 +7492,44 @@ msgid "" "out of many individual PCB outlines." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6260 flatcamGUI/FlatCAMGUI.py:6470 -#: flatcamTools/ToolCutOut.py:85 flatcamTools/ToolPaint.py:247 +#: flatcamGUI/FlatCAMGUI.py:6543 flatcamGUI/FlatCAMGUI.py:6790 +#: flatcamTools/ToolCutOut.py:85 msgid "Single" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6261 flatcamTools/ToolCutOut.py:86 +#: flatcamGUI/FlatCAMGUI.py:6544 flatcamTools/ToolCutOut.py:86 msgid "Panel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolCutOut.py:103 msgid "" -"Distance from objects at which\n" -"to draw the cutout." +"Margin over bounds. A positive value here\n" +"will make the cutout of the PCB further from\n" +"the actual PCB border" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6274 flatcamTools/ToolCutOut.py:111 -msgid "Gap size:" +#: flatcamGUI/FlatCAMGUI.py:6558 +msgid "Gap size" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6276 +#: flatcamGUI/FlatCAMGUI.py:6560 flatcamTools/ToolCutOut.py:113 msgid "" -"Size of the gaps in the toolpath\n" -"that will remain to hold the\n" -"board in place." +"The size of the bridge gaps in the cutout\n" +"used to keep the board connected to\n" +"the surrounding material (the one \n" +"from which the PCB is cutout)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6284 flatcamTools/ToolCutOut.py:149 -msgid "Gaps:" +#: flatcamGUI/FlatCAMGUI.py:6569 flatcamTools/ToolCutOut.py:149 +msgid "Gaps" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6286 +#: flatcamGUI/FlatCAMGUI.py:6571 msgid "" -"Number of bridge gaps used for the cutout.\n" +"Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -7298,61 +7538,71 @@ msgid "" "- 8 - 2*left + 2*right +2*top + 2*bottom" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6307 flatcamTools/ToolCutOut.py:130 -msgid "Convex Sh.:" +#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolCutOut.py:130 +msgid "Convex Sh." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6309 -msgid "Create a convex shape surrounding the entire PCB." +#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolCutOut.py:132 +msgid "" +"Create a convex shape surrounding the entire PCB.\n" +"Used only if the source object type is Gerber." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6322 +#: flatcamGUI/FlatCAMGUI.py:6609 msgid "2Sided Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6327 +#: flatcamGUI/FlatCAMGUI.py:6614 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamTools/ToolDblSided.py:234 -msgid "Drill diam.:" +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolDblSided.py:234 +msgid "Drill dia" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6339 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6626 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6348 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6635 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6350 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6646 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamTools/ToolDblSided.py:133 -msgid "Axis Ref:" +#: flatcamGUI/FlatCAMGUI.py:6647 flatcamTools/ToolDblSided.py:132 +msgid "Box" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6363 +#: flatcamGUI/FlatCAMGUI.py:6648 +msgid "Axis Ref" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6650 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" -" a specified box (in a Geometry object) in \n" -"the middle." +" a specified box (in a FlatCAM object) through \n" +"the center." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6379 +#: flatcamGUI/FlatCAMGUI.py:6666 msgid "Paint Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1312 +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "Parameters:" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6673 flatcamGUI/ObjectUI.py:1288 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -7360,40 +7610,43 @@ msgid "" "to click on the desired polygon." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6410 +#: flatcamGUI/FlatCAMGUI.py:6779 flatcamTools/ToolPaint.py:282 +msgid "Selection" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:6781 flatcamTools/ToolPaint.py:300 msgid "" -"How much (fraction) of the tool\n" -"width to overlap each tool pass." +"How to select Polygons to be painted.\n" +"\n" +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6464 flatcamTools/ToolPaint.py:237 -msgid "Selection:" +#: flatcamGUI/FlatCAMGUI.py:6793 +msgid "Ref." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6466 -msgid "How to select the polygons to paint." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6471 flatcamTools/ToolPaint.py:248 -msgid "Area" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:6805 msgid "Film Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6489 +#: flatcamGUI/FlatCAMGUI.py:6810 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" "The file is saved in SVG format." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6500 flatcamTools/ToolFilm.py:116 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolFilm.py:116 msgid "Film Type:" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6502 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:6823 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -7403,11 +7656,11 @@ msgid "" "The Film format is SVG." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6513 flatcamTools/ToolFilm.py:130 -msgid "Border:" +#: flatcamGUI/FlatCAMGUI.py:6834 flatcamTools/ToolFilm.py:130 +msgid "Border" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6515 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:6836 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -7419,11 +7672,11 @@ msgid "" "surroundings if not for this border." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6528 flatcamTools/ToolFilm.py:144 -msgid "Scale Stroke:" +#: flatcamGUI/FlatCAMGUI.py:6849 flatcamTools/ToolFilm.py:144 +msgid "Scale Stroke" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6530 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:6851 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -7431,77 +7684,77 @@ msgid "" "therefore the fine features may be more affected by this parameter." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6866 msgid "Panelize Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6550 +#: flatcamGUI/FlatCAMGUI.py:6871 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" "at a X distance, Y distance of each other." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6561 flatcamTools/ToolPanelize.py:147 -msgid "Spacing cols:" +#: flatcamGUI/FlatCAMGUI.py:6882 flatcamTools/ToolPanelize.py:147 +msgid "Spacing cols" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6563 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:6884 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6571 flatcamTools/ToolPanelize.py:156 -msgid "Spacing rows:" +#: flatcamGUI/FlatCAMGUI.py:6892 flatcamTools/ToolPanelize.py:156 +msgid "Spacing rows" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:6894 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6581 flatcamTools/ToolPanelize.py:165 -msgid "Columns:" +#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolPanelize.py:165 +msgid "Columns" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6590 flatcamTools/ToolPanelize.py:173 -msgid "Rows:" +#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolPanelize.py:173 +msgid "Rows" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6592 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6598 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:6919 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6599 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:6920 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6600 -msgid "Panel Type:" +#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolPanelize.py:183 +msgid "Panel Type" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6602 +#: flatcamGUI/FlatCAMGUI.py:6923 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" "- Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6611 -msgid "Constrain within:" +#: flatcamGUI/FlatCAMGUI.py:6932 +msgid "Constrain within" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6613 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:6934 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -7510,171 +7763,159 @@ msgid "" "they fit completely within selected area." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6622 flatcamTools/ToolPanelize.py:204 -msgid "Width (DX):" +#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolPanelize.py:204 +msgid "Width (DX)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6624 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:6945 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6631 flatcamTools/ToolPanelize.py:212 -msgid "Height (DY):" +#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolPanelize.py:212 +msgid "Height (DY)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6633 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6647 +#: flatcamGUI/FlatCAMGUI.py:6968 msgid "Calculators Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6650 -msgid "V-Shape Tool Calculator:" +#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolCalculators.py:25 +msgid "V-Shape Tool Calculator" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6652 +#: flatcamGUI/FlatCAMGUI.py:6973 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" "depth-of-cut as parameters." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6663 flatcamTools/ToolCalculators.py:92 -msgid "Tip Diameter:" +#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolCalculators.py:92 +msgid "Tip Diameter" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6665 +#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6673 -msgid "Tip angle:" +#: flatcamGUI/FlatCAMGUI.py:6994 flatcamTools/ToolCalculators.py:100 +msgid "Tip Angle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6675 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6685 +#: flatcamGUI/FlatCAMGUI.py:7006 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6692 -msgid "ElectroPlating Calculator:" +#: flatcamGUI/FlatCAMGUI.py:7013 flatcamTools/ToolCalculators.py:27 +msgid "ElectroPlating Calculator" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCalculators.py:148 +#: flatcamGUI/FlatCAMGUI.py:7015 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " "chloride." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6704 flatcamTools/ToolCalculators.py:157 -msgid "Board Length:" +#: flatcamGUI/FlatCAMGUI.py:7025 flatcamTools/ToolCalculators.py:158 +msgid "Board Length" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6706 flatcamTools/ToolCalculators.py:161 +#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6712 flatcamTools/ToolCalculators.py:163 -msgid "Board Width:" +#: flatcamGUI/FlatCAMGUI.py:7033 flatcamTools/ToolCalculators.py:164 +msgid "Board Width" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6714 flatcamTools/ToolCalculators.py:167 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCalculators.py:169 -msgid "Current Density:" +#: flatcamGUI/FlatCAMGUI.py:7040 flatcamTools/ToolCalculators.py:170 +msgid "Current Density" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6722 flatcamTools/ToolCalculators.py:173 +#: flatcamGUI/FlatCAMGUI.py:7043 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6728 flatcamTools/ToolCalculators.py:176 -msgid "Copper Growth:" +#: flatcamGUI/FlatCAMGUI.py:7049 flatcamTools/ToolCalculators.py:177 +msgid "Copper Growth" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6731 flatcamTools/ToolCalculators.py:180 +#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6744 +#: flatcamGUI/FlatCAMGUI.py:7065 msgid "Transform Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6749 +#: flatcamGUI/FlatCAMGUI.py:7070 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6759 -msgid "Rotate Angle:" +#: flatcamGUI/FlatCAMGUI.py:7080 +msgid "Rotate Angle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6761 -msgid "Angle for rotation. In degrees." +#: flatcamGUI/FlatCAMGUI.py:7092 flatcamTools/ToolTransform.py:107 +msgid "Skew_X angle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6768 -msgid "Skew_X angle:" +#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolTransform.py:125 +msgid "Skew_Y angle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6770 -msgid "Angle for Skew/Shear on X axis. In degrees." +#: flatcamGUI/FlatCAMGUI.py:7112 flatcamTools/ToolTransform.py:164 +msgid "Scale_X factor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6777 -msgid "Skew_Y angle:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6779 -msgid "Angle for Skew/Shear on Y axis. In degrees." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6786 -msgid "Scale_X factor:" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:6788 +#: flatcamGUI/FlatCAMGUI.py:7114 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6795 -msgid "Scale_Y factor:" +#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolTransform.py:181 +msgid "Scale_Y factor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6797 +#: flatcamGUI/FlatCAMGUI.py:7123 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6805 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6813 flatcamTools/ToolTransform.py:210 +#: flatcamGUI/FlatCAMGUI.py:7139 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -7682,27 +7923,27 @@ msgid "" "of the selected objects when unchecked." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6822 -msgid "Offset_X val:" +#: flatcamGUI/FlatCAMGUI.py:7148 flatcamTools/ToolTransform.py:239 +msgid "Offset_X val" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6824 +#: flatcamGUI/FlatCAMGUI.py:7150 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6831 -msgid "Offset_Y val:" +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolTransform.py:256 +msgid "Offset_Y val" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6833 +#: flatcamGUI/FlatCAMGUI.py:7159 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6839 +#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6841 flatcamTools/ToolTransform.py:314 +#: flatcamGUI/FlatCAMGUI.py:7167 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -7715,193 +7956,194 @@ msgid "" "Point Entry field and click Flip on X(Y)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6852 -msgid " Mirror Ref. Point:" +#: flatcamGUI/FlatCAMGUI.py:7178 flatcamTools/ToolTransform.py:326 +msgid " Mirror Ref. Point" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6854 flatcamTools/ToolTransform.py:327 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" "the 'y' in (x, y) will be used when using Flip on Y and" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6871 +#: flatcamGUI/FlatCAMGUI.py:7197 msgid "SolderPaste Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6876 +#: flatcamGUI/FlatCAMGUI.py:7202 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6887 +#: flatcamGUI/FlatCAMGUI.py:7213 msgid "Diameters of nozzle tools, separated by ','" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6894 -msgid "New Nozzle Dia:" +#: flatcamGUI/FlatCAMGUI.py:7220 +msgid "New Nozzle Dia" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6896 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7222 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolSolderPaste.py:166 -msgid "Z Dispense Start:" +#: flatcamGUI/FlatCAMGUI.py:7230 flatcamTools/ToolSolderPaste.py:166 +msgid "Z Dispense Start" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6906 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7232 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6913 flatcamTools/ToolSolderPaste.py:174 -msgid "Z Dispense:" +#: flatcamGUI/FlatCAMGUI.py:7239 flatcamTools/ToolSolderPaste.py:174 +msgid "Z Dispense" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6915 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7241 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6922 flatcamTools/ToolSolderPaste.py:182 -msgid "Z Dispense Stop:" +#: flatcamGUI/FlatCAMGUI.py:7248 flatcamTools/ToolSolderPaste.py:182 +msgid "Z Dispense Stop" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6924 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7250 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolSolderPaste.py:190 -msgid "Z Travel:" +#: flatcamGUI/FlatCAMGUI.py:7257 flatcamTools/ToolSolderPaste.py:190 +msgid "Z Travel" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6933 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7259 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6941 flatcamTools/ToolSolderPaste.py:199 -msgid "Z Toolchange:" +#: flatcamGUI/FlatCAMGUI.py:7267 flatcamTools/ToolSolderPaste.py:199 +msgid "Z Toolchange" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6943 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7269 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6950 flatcamTools/ToolSolderPaste.py:207 -msgid "XY Toolchange:" +#: flatcamGUI/FlatCAMGUI.py:7276 flatcamTools/ToolSolderPaste.py:207 +msgid "Toolchange X-Y" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6952 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6960 flatcamTools/ToolSolderPaste.py:216 -msgid "Feedrate X-Y:" +#: flatcamGUI/FlatCAMGUI.py:7286 flatcamTools/ToolSolderPaste.py:216 +msgid "Feedrate X-Y" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6962 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6969 flatcamTools/ToolSolderPaste.py:224 -msgid "Feedrate Z:" +#: flatcamGUI/FlatCAMGUI.py:7295 flatcamTools/ToolSolderPaste.py:224 +msgid "Feedrate Z" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6971 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7297 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6979 flatcamTools/ToolSolderPaste.py:233 -msgid "Feedrate Z Dispense:" +#: flatcamGUI/FlatCAMGUI.py:7305 flatcamTools/ToolSolderPaste.py:233 +msgid "Feedrate Z Dispense" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6981 +#: flatcamGUI/FlatCAMGUI.py:7307 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6989 flatcamTools/ToolSolderPaste.py:242 -msgid "Spindle Speed FWD:" +#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolSolderPaste.py:242 +msgid "Spindle Speed FWD" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6991 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolSolderPaste.py:251 -msgid "Dwell FWD:" +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolSolderPaste.py:251 +msgid "Dwell FWD" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7327 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7008 flatcamTools/ToolSolderPaste.py:259 -msgid "Spindle Speed REV:" +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolSolderPaste.py:259 +msgid "Spindle Speed REV" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7010 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7018 flatcamTools/ToolSolderPaste.py:268 -msgid "Dwell REV:" +#: flatcamGUI/FlatCAMGUI.py:7344 flatcamTools/ToolSolderPaste.py:268 +msgid "Dwell REV" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7346 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7027 flatcamTools/ToolSolderPaste.py:276 -msgid "PostProcessors:" +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamGUI/ObjectUI.py:1234 +#: flatcamTools/ToolSolderPaste.py:276 +msgid "PostProcessor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7029 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7355 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7044 +#: flatcamGUI/FlatCAMGUI.py:7370 msgid "Substractor Tool Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7049 +#: flatcamGUI/FlatCAMGUI.py:7375 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolSub.py:133 +#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7055 flatcamTools/ToolSub.py:134 +#: flatcamGUI/FlatCAMGUI.py:7381 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7081 flatcamGUI/FlatCAMGUI.py:7087 +#: flatcamGUI/FlatCAMGUI.py:7407 flatcamGUI/FlatCAMGUI.py:7413 msgid "Idle." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7111 +#: flatcamGUI/FlatCAMGUI.py:7437 msgid "Application started ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:7112 +#: flatcamGUI/FlatCAMGUI.py:7438 msgid "Hello!" msgstr "" @@ -7920,16 +8162,12 @@ msgid "" "'APP. LEVEL' radio button." msgstr "" -#: flatcamGUI/ObjectUI.py:79 -msgid "Scale:" -msgstr "" - #: flatcamGUI/ObjectUI.py:81 msgid "Change the size of the object." msgstr "" #: flatcamGUI/ObjectUI.py:89 -msgid "Factor:" +msgid "Factor" msgstr "" #: flatcamGUI/ObjectUI.py:91 @@ -7942,16 +8180,12 @@ msgstr "" msgid "Perform scaling operation." msgstr "" -#: flatcamGUI/ObjectUI.py:108 -msgid "Offset:" -msgstr "" - #: flatcamGUI/ObjectUI.py:110 msgid "Change the position of this object." msgstr "" #: flatcamGUI/ObjectUI.py:117 -msgid "Vector:" +msgid "Vector" msgstr "" #: flatcamGUI/ObjectUI.py:119 @@ -7969,8 +8203,8 @@ msgid "Gerber Object" msgstr "" #: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:515 -#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1388 -msgid "Name:" +#: flatcamGUI/ObjectUI.py:837 flatcamGUI/ObjectUI.py:1361 +msgid "Name" msgstr "" #: flatcamGUI/ObjectUI.py:203 @@ -8004,16 +8238,8 @@ msgid "" "this parameter." msgstr "" -#: flatcamGUI/ObjectUI.py:272 -msgid "Passes:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:307 -msgid "Combine" -msgstr "" - #: flatcamGUI/ObjectUI.py:323 -msgid "Generate Isolation Geometry:" +msgid "Generate Isolation Geometry" msgstr "" #: flatcamGUI/ObjectUI.py:325 @@ -8063,20 +8289,20 @@ msgid "" msgstr "" #: flatcamGUI/ObjectUI.py:382 -msgid "Clear N-copper:" +msgid "Clear N-copper" msgstr "" -#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:322 +#: flatcamGUI/ObjectUI.py:392 flatcamTools/ToolNonCopperClear.py:360 msgid "" "Create the Geometry Object\n" "for non-copper routing." msgstr "" #: flatcamGUI/ObjectUI.py:398 -msgid "Board cutout:" +msgid "Board cutout" msgstr "" -#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:328 +#: flatcamGUI/ObjectUI.py:406 flatcamTools/ToolCutOut.py:337 msgid "Cutout Tool" msgstr "" @@ -8086,30 +8312,9 @@ msgid "" "the board cutout." msgstr "" -#: flatcamGUI/ObjectUI.py:414 -msgid "Non-copper regions:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:416 -msgid "" -"Create polygons covering the\n" -"areas without copper on the PCB.\n" -"Equivalent to the inverse of this\n" -"object. Can be used to remove all\n" -"copper from a specified region." -msgstr "" - -#: flatcamGUI/ObjectUI.py:441 flatcamGUI/ObjectUI.py:472 -msgid "Rounded Geo" -msgstr "" - -#: flatcamGUI/ObjectUI.py:443 -msgid "Resulting geometry will have rounded corners." -msgstr "" - #: flatcamGUI/ObjectUI.py:448 flatcamGUI/ObjectUI.py:482 -#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 -#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolCutOut.py:184 flatcamTools/ToolCutOut.py:204 +#: flatcamTools/ToolCutOut.py:255 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "" @@ -8131,22 +8336,10 @@ msgstr "" msgid "Solid circles." msgstr "" -#: flatcamGUI/ObjectUI.py:534 flatcamGUI/ObjectUI.py:856 -msgid "Tools Table" -msgstr "" - #: flatcamGUI/ObjectUI.py:554 msgid "Drills" msgstr "" -#: flatcamGUI/ObjectUI.py:554 -msgid "Slots" -msgstr "" - -#: flatcamGUI/ObjectUI.py:555 -msgid "Offset Z" -msgstr "" - #: flatcamGUI/ObjectUI.py:559 msgid "" "This is the Tool Number.\n" @@ -8155,7 +8348,7 @@ msgid "" msgstr "" #: flatcamGUI/ObjectUI.py:563 flatcamGUI/ObjectUI.py:902 -#: flatcamTools/ToolNonCopperClear.py:97 flatcamTools/ToolPaint.py:94 +#: flatcamTools/ToolNonCopperClear.py:121 flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." @@ -8183,60 +8376,17 @@ msgid "" "for this drill object." msgstr "" -#: flatcamGUI/ObjectUI.py:613 flatcamGUI/ObjectUI.py:1125 -msgid "Tool change" +#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1114 +msgid "Tool change Z" msgstr "" -#: flatcamGUI/ObjectUI.py:621 flatcamGUI/ObjectUI.py:1118 -msgid "Tool change Z:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:1121 -msgid "" -"Z-axis position (height) for\n" -"tool change." -msgstr "" - -#: flatcamGUI/ObjectUI.py:634 -msgid "" -"Tool height just before starting the work.\n" -"Delete the value if you don't need this feature." -msgstr "" - -#: flatcamGUI/ObjectUI.py:644 -msgid "" -"Z-axis position (height) for\n" -"the last move." -msgstr "" - -#: flatcamGUI/ObjectUI.py:652 -msgid "Feedrate (Plunge):" -msgstr "" - -#: flatcamGUI/ObjectUI.py:654 -msgid "" -"Tool speed while drilling\n" -"(in units per minute).\n" -"This is for linear move G01." -msgstr "" - -#: flatcamGUI/ObjectUI.py:707 -msgid "" -"The json file that dictates\n" -"gcode output." -msgstr "" - -#: flatcamGUI/ObjectUI.py:739 +#: flatcamGUI/ObjectUI.py:738 msgid "" "Select from the Tools Table above\n" "the tools you want to include." msgstr "" -#: flatcamGUI/ObjectUI.py:746 -msgid "Type: " -msgstr "" - -#: flatcamGUI/ObjectUI.py:748 +#: flatcamGUI/ObjectUI.py:747 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -8244,38 +8394,30 @@ msgid "" "converted to a series of drills." msgstr "" -#: flatcamGUI/ObjectUI.py:763 +#: flatcamGUI/ObjectUI.py:762 msgid "Create GCode" msgstr "" -#: flatcamGUI/ObjectUI.py:765 +#: flatcamGUI/ObjectUI.py:764 msgid "Generate the CNC Job." msgstr "" -#: flatcamGUI/ObjectUI.py:777 +#: flatcamGUI/ObjectUI.py:776 msgid "" "Select from the Tools Table above\n" " the hole dias that are to be milled." msgstr "" -#: flatcamGUI/ObjectUI.py:784 -msgid "Drills Tool dia:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:791 +#: flatcamGUI/ObjectUI.py:790 msgid "Mill Drills Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:793 +#: flatcamGUI/ObjectUI.py:792 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." msgstr "" -#: flatcamGUI/ObjectUI.py:800 -msgid "Slots Tool dia:" -msgstr "" - #: flatcamGUI/ObjectUI.py:807 msgid "Mill Slots Geo" msgstr "" @@ -8306,12 +8448,12 @@ msgid "" "showed UI form entries named V-Tip Dia and V-Tip Angle." msgstr "" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 msgid "Dia" msgstr "" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1484 -#: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 +#: flatcamGUI/ObjectUI.py:889 flatcamGUI/ObjectUI.py:1455 +#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "" @@ -8373,7 +8515,7 @@ msgid "" msgstr "" #: flatcamGUI/ObjectUI.py:948 -msgid "Tool Offset:" +msgid "Tool Offset" msgstr "" #: flatcamGUI/ObjectUI.py:951 @@ -8384,12 +8526,13 @@ msgid "" "cut and negative for 'inside' cut." msgstr "" -#: flatcamGUI/ObjectUI.py:974 -msgid "Tool Dia:" +#: flatcamGUI/ObjectUI.py:974 flatcamTools/ToolNonCopperClear.py:160 +#: flatcamTools/ToolPaint.py:162 +msgid "Tool Dia" msgstr "" -#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:136 -#: flatcamTools/ToolPaint.py:133 +#: flatcamGUI/ObjectUI.py:993 flatcamTools/ToolNonCopperClear.py:172 +#: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" "with the diameter specified above." @@ -8408,7 +8551,7 @@ msgid "" msgstr "" #: flatcamGUI/ObjectUI.py:1025 -msgid "Tool Data" +msgid "Tool Data" msgstr "" #: flatcamGUI/ObjectUI.py:1028 @@ -8418,7 +8561,7 @@ msgid "" msgstr "" #: flatcamGUI/ObjectUI.py:1046 -msgid "V-Tip Dia:" +msgid "V-Tip Dia" msgstr "" #: flatcamGUI/ObjectUI.py:1049 @@ -8426,7 +8569,7 @@ msgid "The tip diameter for V-Shape Tool" msgstr "" #: flatcamGUI/ObjectUI.py:1057 -msgid "V-Tip Angle:" +msgid "V-Tip Angle" msgstr "" #: flatcamGUI/ObjectUI.py:1060 @@ -8435,141 +8578,66 @@ msgid "" "In degree." msgstr "" -#: flatcamGUI/ObjectUI.py:1081 -msgid "Multi-Depth:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1084 -msgid "" -"Use multiple passes to limit\n" -"the cut depth in each pass. Will\n" -"cut multiple times until Cut Z is\n" -"reached.\n" -"To the right, input the depth of \n" -"each pass (positive value)." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1097 +#: flatcamGUI/ObjectUI.py:1095 msgid "Depth of each pass (positive)." msgstr "" -#: flatcamGUI/ObjectUI.py:1128 -msgid "" -"Include tool-change sequence\n" -"in the Machine Code (Pause for tool change)." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1154 -msgid "" -"This is the height (Z) at which the CNC\n" -"will go as the last move." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1175 -msgid "Feed Rate Z (Plunge):" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1178 -msgid "" -"Cutting speed in the Z\n" -"plane in units per minute" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1187 -msgid "Feed Rate Rapids:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1190 -msgid "" -"Cutting speed in the XY\n" -"plane in units per minute\n" -"(in units per minute).\n" -"This is for the rapid move G00.\n" -"It is useful only for Marlin,\n" -"ignore for any other cases." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1206 -msgid "Cut over 1st pt" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1221 -msgid "" -"Speed of the spindle in RPM (optional).\n" -"If LASER postprocessor is used,\n" -"this value is the power of laser." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1250 -msgid "PostProcessor:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1253 -msgid "" -"The Postprocessor file that dictates\n" -"the Machine Code (like GCode, RML, HPGL) output." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1291 +#: flatcamGUI/ObjectUI.py:1269 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" "for custom selection of tools." msgstr "" -#: flatcamGUI/ObjectUI.py:1298 +#: flatcamGUI/ObjectUI.py:1276 msgid "Generate" msgstr "" -#: flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/ObjectUI.py:1278 msgid "Generate the CNC Job object." msgstr "" -#: flatcamGUI/ObjectUI.py:1309 -msgid "Paint Area:" +#: flatcamGUI/ObjectUI.py:1285 +msgid "Paint Area" msgstr "" -#: flatcamGUI/ObjectUI.py:1324 +#: flatcamGUI/ObjectUI.py:1299 msgid "Launch Paint Tool in Tools Tab." msgstr "" -#: flatcamGUI/ObjectUI.py:1341 +#: flatcamGUI/ObjectUI.py:1315 msgid "CNC Job Object" msgstr "" -#: flatcamGUI/ObjectUI.py:1359 -msgid "Plot kind:" +#: flatcamGUI/ObjectUI.py:1333 +msgid "Plot kind" msgstr "" -#: flatcamGUI/ObjectUI.py:1375 -msgid "Display Annotation:" +#: flatcamGUI/ObjectUI.py:1367 +msgid "Travelled dist." msgstr "" -#: flatcamGUI/ObjectUI.py:1394 -msgid "Travelled dist.:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1396 flatcamGUI/ObjectUI.py:1401 +#: flatcamGUI/ObjectUI.py:1369 flatcamGUI/ObjectUI.py:1374 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." msgstr "" -#: flatcamGUI/ObjectUI.py:1406 -msgid "Estimated time:" +#: flatcamGUI/ObjectUI.py:1379 +msgid "Estimated time" msgstr "" -#: flatcamGUI/ObjectUI.py:1408 flatcamGUI/ObjectUI.py:1413 +#: flatcamGUI/ObjectUI.py:1381 flatcamGUI/ObjectUI.py:1386 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." msgstr "" -#: flatcamGUI/ObjectUI.py:1448 -msgid "CNC Tools Table" +#: flatcamGUI/ObjectUI.py:1421 +msgid "CNC Tools Table" msgstr "" -#: flatcamGUI/ObjectUI.py:1451 +#: flatcamGUI/ObjectUI.py:1424 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -8582,72 +8650,49 @@ msgid "" "ball(B), or V-Shaped(V)." msgstr "" -#: flatcamGUI/ObjectUI.py:1485 +#: flatcamGUI/ObjectUI.py:1456 msgid "P" msgstr "" -#: flatcamGUI/ObjectUI.py:1491 +#: flatcamGUI/ObjectUI.py:1462 msgid "Update Plot" msgstr "" -#: flatcamGUI/ObjectUI.py:1493 +#: flatcamGUI/ObjectUI.py:1464 msgid "Update the plot." msgstr "" -#: flatcamGUI/ObjectUI.py:1500 -msgid "Export CNC Code:" +#: flatcamGUI/ObjectUI.py:1479 +msgid "Prepend to CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1508 -msgid "Prepend to CNC Code:" +#: flatcamGUI/ObjectUI.py:1490 +msgid "Append to CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1511 -msgid "" -"Type here any G-Code commands you would\n" -"like to add to the beginning of the generated file." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1521 -msgid "Append to CNC Code:" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1545 -msgid "" -"Type here any G-Code commands you would\n" -"like to be executed when Toolchange event is encountered.\n" -"This will constitute a Custom Toolchange GCode,\n" -"or a Toolchange Macro.\n" -"The FlatCAM variables are surrounded by '%' symbol.\n" -"\n" -"WARNING: it can be used only with a postprocessor file\n" -"that has 'toolchange_custom' in it's name and this is built\n" -"having as template the 'Toolchange Custom' posprocessor file." -msgstr "" - -#: flatcamGUI/ObjectUI.py:1593 +#: flatcamGUI/ObjectUI.py:1558 msgid "z_cut = depth where to cut" msgstr "" -#: flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/ObjectUI.py:1559 msgid "z_move = height where to travel" msgstr "" -#: flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/ObjectUI.py:1578 msgid "View CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1616 +#: flatcamGUI/ObjectUI.py:1580 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." msgstr "" -#: flatcamGUI/ObjectUI.py:1622 +#: flatcamGUI/ObjectUI.py:1585 msgid "Save CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1625 +#: flatcamGUI/ObjectUI.py:1587 msgid "" "Opens dialog to save G-Code\n" "file." @@ -8657,18 +8702,10 @@ msgstr "" msgid "Calculators" msgstr "" -#: flatcamTools/ToolCalculators.py:25 -msgid "V-Shape Tool Calculator" -msgstr "" - #: flatcamTools/ToolCalculators.py:26 msgid "Units Calculator" msgstr "" -#: flatcamTools/ToolCalculators.py:27 -msgid "ElectroPlating Calculator" -msgstr "" - #: flatcamTools/ToolCalculators.py:68 msgid "Here you enter the value to be converted from INCH to MM" msgstr "" @@ -8677,76 +8714,66 @@ msgstr "" msgid "Here you enter the value to be converted from MM to INCH" msgstr "" -#: flatcamTools/ToolCalculators.py:96 -msgid "" -"This is the diameter of the tool tip.\n" -"The manufacturer specifies it." -msgstr "" - -#: flatcamTools/ToolCalculators.py:99 -msgid "Tip Angle:" -msgstr "" - -#: flatcamTools/ToolCalculators.py:103 +#: flatcamTools/ToolCalculators.py:104 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." msgstr "" -#: flatcamTools/ToolCalculators.py:110 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." msgstr "" -#: flatcamTools/ToolCalculators.py:113 -msgid "Tool Diameter:" +#: flatcamTools/ToolCalculators.py:114 +msgid "Tool Diameter" msgstr "" -#: flatcamTools/ToolCalculators.py:117 +#: flatcamTools/ToolCalculators.py:118 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" "In the CNCJob section it is called >Tool dia<." msgstr "" -#: flatcamTools/ToolCalculators.py:128 flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210 msgid "Calculate" msgstr "" -#: flatcamTools/ToolCalculators.py:131 +#: flatcamTools/ToolCalculators.py:132 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " msgstr "" -#: flatcamTools/ToolCalculators.py:185 -msgid "Current Value:" +#: flatcamTools/ToolCalculators.py:186 +msgid "Current Value" msgstr "" -#: flatcamTools/ToolCalculators.py:189 +#: flatcamTools/ToolCalculators.py:190 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." msgstr "" -#: flatcamTools/ToolCalculators.py:193 -msgid "Time:" +#: flatcamTools/ToolCalculators.py:194 +msgid "Time" msgstr "" -#: flatcamTools/ToolCalculators.py:197 +#: flatcamTools/ToolCalculators.py:198 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." msgstr "" -#: flatcamTools/ToolCalculators.py:212 +#: flatcamTools/ToolCalculators.py:213 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" msgstr "" -#: flatcamTools/ToolCalculators.py:256 +#: flatcamTools/ToolCalculators.py:262 msgid "Calc. Tool" msgstr "" @@ -8754,8 +8781,9 @@ msgstr "" msgid "Cutout PCB" msgstr "" -#: flatcamTools/ToolCutOut.py:54 -msgid "Obj Type:" +#: flatcamTools/ToolCutOut.py:54 flatcamTools/ToolNonCopperClear.py:69 +#: flatcamTools/ToolPaint.py:68 +msgid "Obj Type" msgstr "" #: flatcamTools/ToolCutOut.py:56 @@ -8766,39 +8794,18 @@ msgid "" "of objects that will populate the 'Object' combobox." msgstr "" -#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:71 -msgid "Object:" +#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolNonCopperClear.py:87 +#: flatcamTools/ToolPaint.py:86 flatcamTools/ToolPanelize.py:71 +#: flatcamTools/ToolPanelize.py:84 +msgid "Object" msgstr "" #: flatcamTools/ToolCutOut.py:72 msgid "Object to be cutout. " msgstr "" -#: flatcamTools/ToolCutOut.py:94 -msgid "" -"Diameter of the tool used to cutout\n" -"the PCB shape out of the surrounding material." -msgstr "" - -#: flatcamTools/ToolCutOut.py:103 -msgid "" -"Margin over bounds. A positive value here\n" -"will make the cutout of the PCB further from\n" -"the actual PCB border" -msgstr "" - -#: flatcamTools/ToolCutOut.py:113 -msgid "" -"The size of the bridge gaps in the cutout\n" -"used to keep the board connected to\n" -"the surrounding material (the one \n" -"from which the PCB is cutout)." -msgstr "" - -#: flatcamTools/ToolCutOut.py:132 -msgid "" -"Create a convex shape surrounding the entire PCB.\n" -"Used only if the source object type is Gerber." +#: flatcamTools/ToolCutOut.py:111 +msgid "Gap size:" msgstr "" #: flatcamTools/ToolCutOut.py:138 @@ -8814,6 +8821,7 @@ msgid "" "Number of gaps used for the Automatic cutout.\n" "There can be maximum 8 bridges/gaps.\n" "The choices are:\n" +"- None - no gaps\n" "- lr - left + right\n" "- tb - top + bottom\n" "- 4 - left + right +top + bottom\n" @@ -8822,35 +8830,35 @@ msgid "" "- 8 - 2*left + 2*right +2*top + 2*bottom" msgstr "" -#: flatcamTools/ToolCutOut.py:174 -msgid "FreeForm:" +#: flatcamTools/ToolCutOut.py:175 +msgid "FreeForm" msgstr "" -#: flatcamTools/ToolCutOut.py:176 +#: flatcamTools/ToolCutOut.py:177 msgid "" "The cutout shape can be of ny shape.\n" "Useful when the PCB has a non-rectangular shape." msgstr "" -#: flatcamTools/ToolCutOut.py:185 +#: flatcamTools/ToolCutOut.py:186 msgid "" "Cutout the selected object.\n" "The cutout shape can be of any shape.\n" "Useful when the PCB has a non-rectangular shape." msgstr "" -#: flatcamTools/ToolCutOut.py:194 -msgid "Rectangular:" +#: flatcamTools/ToolCutOut.py:195 +msgid "Rectangular" msgstr "" -#: flatcamTools/ToolCutOut.py:196 +#: flatcamTools/ToolCutOut.py:197 msgid "" "The resulting cutout shape is\n" "always a rectangle shape and it will be\n" "the bounding box of the Object." msgstr "" -#: flatcamTools/ToolCutOut.py:205 +#: flatcamTools/ToolCutOut.py:206 msgid "" "Cutout the selected object.\n" "The resulting cutout shape is\n" @@ -8858,30 +8866,30 @@ msgid "" "the bounding box of the Object." msgstr "" -#: flatcamTools/ToolCutOut.py:213 +#: flatcamTools/ToolCutOut.py:214 msgid "B. Manual Bridge Gaps" msgstr "" -#: flatcamTools/ToolCutOut.py:215 +#: flatcamTools/ToolCutOut.py:216 msgid "" "This section handle creation of manual bridge gaps.\n" "This is done by mouse clicking on the perimeter of the\n" "Geometry object that is used as a cutout object. " msgstr "" -#: flatcamTools/ToolCutOut.py:231 -msgid "Geo Obj:" +#: flatcamTools/ToolCutOut.py:232 +msgid "Geo Obj" msgstr "" -#: flatcamTools/ToolCutOut.py:233 +#: flatcamTools/ToolCutOut.py:234 msgid "Geometry object used to create the manual cutout." msgstr "" -#: flatcamTools/ToolCutOut.py:244 -msgid "Manual Geo:" +#: flatcamTools/ToolCutOut.py:245 +msgid "Manual Geo" msgstr "" -#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256 +#: flatcamTools/ToolCutOut.py:247 flatcamTools/ToolCutOut.py:257 msgid "" "If the object to be cutout is a Gerber\n" "first create a Geometry that surrounds it,\n" @@ -8889,22 +8897,22 @@ msgid "" "Select the source Gerber file in the top object combobox." msgstr "" -#: flatcamTools/ToolCutOut.py:266 -msgid "Manual Add Bridge Gaps:" +#: flatcamTools/ToolCutOut.py:267 +msgid "Manual Add Bridge Gaps" msgstr "" -#: flatcamTools/ToolCutOut.py:268 +#: flatcamTools/ToolCutOut.py:269 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" "the surrounding material." msgstr "" -#: flatcamTools/ToolCutOut.py:275 +#: flatcamTools/ToolCutOut.py:276 msgid "Generate Gap" msgstr "" -#: flatcamTools/ToolCutOut.py:277 +#: flatcamTools/ToolCutOut.py:278 msgid "" "Use the left mouse button (LMB) click\n" "to create a bridge gap to separate the PCB from\n" @@ -8913,52 +8921,53 @@ msgid "" "the Geometry object used as a cutout geometry." msgstr "" -#: flatcamTools/ToolCutOut.py:358 flatcamTools/ToolCutOut.py:552 -#: flatcamTools/ToolNonCopperClear.py:806 -#: flatcamTools/ToolNonCopperClear.py:814 -#: flatcamTools/ToolNonCopperClear.py:822 flatcamTools/ToolPaint.py:774 -#: flatcamTools/ToolPanelize.py:353 flatcamTools/ToolPanelize.py:368 -#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:257 -#: flatcamTools/ToolSub.py:437 flatcamTools/ToolSub.py:450 +#: flatcamTools/ToolCutOut.py:367 flatcamTools/ToolCutOut.py:564 +#: flatcamTools/ToolNonCopperClear.py:836 +#: flatcamTools/ToolNonCopperClear.py:845 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:929 +#: flatcamTools/ToolPaint.py:1093 flatcamTools/ToolPanelize.py:358 +#: flatcamTools/ToolPanelize.py:373 flatcamTools/ToolSub.py:252 +#: flatcamTools/ToolSub.py:265 flatcamTools/ToolSub.py:448 +#: flatcamTools/ToolSub.py:461 #, python-format msgid "[ERROR_NOTCL] Could not retrieve object: %s" msgstr "" -#: flatcamTools/ToolCutOut.py:362 +#: flatcamTools/ToolCutOut.py:371 msgid "" "[ERROR_NOTCL] There is no object selected for Cutout.\n" "Select one and try again." msgstr "" -#: flatcamTools/ToolCutOut.py:377 +#: flatcamTools/ToolCutOut.py:386 msgid "" "[WARNING_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." msgstr "" -#: flatcamTools/ToolCutOut.py:392 flatcamTools/ToolCutOut.py:585 -#: flatcamTools/ToolCutOut.py:854 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:597 +#: flatcamTools/ToolCutOut.py:893 msgid "" "[WARNING_NOTCL] Margin value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamTools/ToolCutOut.py:403 flatcamTools/ToolCutOut.py:596 -#: flatcamTools/ToolCutOut.py:742 +#: flatcamTools/ToolCutOut.py:412 flatcamTools/ToolCutOut.py:608 +#: flatcamTools/ToolCutOut.py:758 msgid "" "[WARNING_NOTCL] Gap size value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamTools/ToolCutOut.py:410 flatcamTools/ToolCutOut.py:603 +#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:615 msgid "[WARNING_NOTCL] Number of gaps value is missing. Add it and retry." msgstr "" -#: flatcamTools/ToolCutOut.py:414 flatcamTools/ToolCutOut.py:607 +#: flatcamTools/ToolCutOut.py:423 flatcamTools/ToolCutOut.py:619 msgid "" -"[WARNING_NOTCL] Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 " -"or 8. Fill in a correct value and retry. " +"[WARNING_NOTCL] Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', " +"'2tb', 4 or 8. Fill in a correct value and retry. " msgstr "" -#: flatcamTools/ToolCutOut.py:419 flatcamTools/ToolCutOut.py:612 +#: flatcamTools/ToolCutOut.py:429 flatcamTools/ToolCutOut.py:625 msgid "" "[ERROR]Cutout operation cannot be done on a multi-geo Geometry.\n" "Optionally, this Multi-geo Geometry can be converted to Single-geo " @@ -8966,69 +8975,70 @@ msgid "" "and after that perform Cutout." msgstr "" -#: flatcamTools/ToolCutOut.py:535 flatcamTools/ToolCutOut.py:712 +#: flatcamTools/ToolCutOut.py:547 flatcamTools/ToolCutOut.py:728 msgid "[success] Any form CutOut operation finished." msgstr "" -#: flatcamTools/ToolCutOut.py:556 flatcamTools/ToolPaint.py:778 -#: flatcamTools/ToolPanelize.py:359 +#: flatcamTools/ToolCutOut.py:568 flatcamTools/ToolPaint.py:933 +#: flatcamTools/ToolPanelize.py:364 #, python-format msgid "[ERROR_NOTCL] Object not found: %s" msgstr "" -#: flatcamTools/ToolCutOut.py:570 flatcamTools/ToolCutOut.py:732 -#: flatcamTools/ToolCutOut.py:839 +#: flatcamTools/ToolCutOut.py:582 flatcamTools/ToolCutOut.py:748 +#: flatcamTools/ToolCutOut.py:878 msgid "" "[ERROR_NOTCL] Tool Diameter is zero value. Change it to a positive real " "number." msgstr "" -#: flatcamTools/ToolCutOut.py:717 +#: flatcamTools/ToolCutOut.py:733 msgid "" "Click on the selected geometry object perimeter to create a bridge gap ..." msgstr "" -#: flatcamTools/ToolCutOut.py:758 -msgid "Making manual bridge gap..." -msgstr "" - -#: flatcamTools/ToolCutOut.py:782 +#: flatcamTools/ToolCutOut.py:768 flatcamTools/ToolCutOut.py:820 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Geometry object: %s" msgstr "" -#: flatcamTools/ToolCutOut.py:786 +#: flatcamTools/ToolCutOut.py:783 +msgid "Making manual bridge gap..." +msgstr "" + +#: flatcamTools/ToolCutOut.py:825 #, python-format msgid "[ERROR_NOTCL] Geometry object for manual cutout not found: %s" msgstr "" -#: flatcamTools/ToolCutOut.py:796 +#: flatcamTools/ToolCutOut.py:835 msgid "[success] Added manual Bridge Gap." msgstr "" -#: flatcamTools/ToolCutOut.py:814 +#: flatcamTools/ToolCutOut.py:853 #, python-format msgid "[ERROR_NOTCL] Could not retrieve Gerber object: %s" msgstr "" -#: flatcamTools/ToolCutOut.py:818 +#: flatcamTools/ToolCutOut.py:857 msgid "" "[ERROR_NOTCL] There is no Gerber object selected for Cutout.\n" "Select one and try again." msgstr "" -#: flatcamTools/ToolCutOut.py:823 +#: flatcamTools/ToolCutOut.py:862 msgid "" "[ERROR_NOTCL] The selected object has to be of Gerber type.\n" "Select a Gerber file and try again." msgstr "" -#: flatcamTools/ToolDblSided.py:18 -msgid "2-Sided PCB" +#: flatcamTools/ToolCutOut.py:915 +#, python-format +msgid "[ERROR_NOTCL] Geometry not supported for cutout: %s" msgstr "" -#: flatcamTools/ToolDblSided.py:47 -msgid "GERBER:" +#: flatcamTools/ToolDblSided.py:18 +msgid "2-Sided PCB" msgstr "" #: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76 @@ -9044,31 +9054,20 @@ msgid "" "object, but modifies it." msgstr "" -#: flatcamTools/ToolDblSided.py:71 -msgid "EXCELLON:" -msgstr "" - #: flatcamTools/ToolDblSided.py:73 msgid "Excellon Object to be mirrored." msgstr "" -#: flatcamTools/ToolDblSided.py:95 -msgid "GEOMETRY:" -msgstr "" - #: flatcamTools/ToolDblSided.py:97 msgid "Geometry Obj to be mirrored." msgstr "" -#: flatcamTools/ToolDblSided.py:135 -msgid "" -"The axis should pass through a point or cut\n" -" a specified box (in a FlatCAM object) through \n" -"the center." +#: flatcamTools/ToolDblSided.py:133 +msgid "Axis Ref:" msgstr "" #: flatcamTools/ToolDblSided.py:152 -msgid "Point/Box Reference:" +msgid "Point/Box Reference" msgstr "" #: flatcamTools/ToolDblSided.py:154 @@ -9089,20 +9088,23 @@ msgid "" "and left mouse button click on canvas or you can enter the coords manually." msgstr "" -#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:297 +#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:338 +#: flatcamTools/ToolPaint.py:318 msgid "Gerber Reference Box Object" msgstr "" -#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamTools/ToolPaint.py:319 msgid "Excellon Reference Box Object" msgstr "" -#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:299 +#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:340 +#: flatcamTools/ToolPaint.py:320 msgid "Geometry Reference Box Object" msgstr "" #: flatcamTools/ToolDblSided.py:192 -msgid "Alignment Drill Coordinates:" +msgid "Alignment Drill Coordinates" msgstr "" #: flatcamTools/ToolDblSided.py:194 @@ -9153,83 +9155,83 @@ msgstr "" msgid "Resets all the fields." msgstr "" -#: flatcamTools/ToolDblSided.py:301 +#: flatcamTools/ToolDblSided.py:306 msgid "2-Sided Tool" msgstr "" -#: flatcamTools/ToolDblSided.py:326 +#: flatcamTools/ToolDblSided.py:331 msgid "" "[WARNING_NOTCL] 'Point' reference is selected and 'Point' coordinates are " "missing. Add them and retry." msgstr "" -#: flatcamTools/ToolDblSided.py:345 +#: flatcamTools/ToolDblSided.py:350 msgid "" "[WARNING_NOTCL] There is no Box reference object loaded. Load one and retry." msgstr "" -#: flatcamTools/ToolDblSided.py:367 +#: flatcamTools/ToolDblSided.py:372 msgid "" "[WARNING_NOTCL] No value or wrong format in Drill Dia entry. Add it and " "retry." msgstr "" -#: flatcamTools/ToolDblSided.py:374 +#: flatcamTools/ToolDblSided.py:379 msgid "" "[WARNING_NOTCL] There are no Alignment Drill Coordinates to use. Add them " "and retry." msgstr "" -#: flatcamTools/ToolDblSided.py:397 +#: flatcamTools/ToolDblSided.py:402 msgid "[success] Excellon object with alignment drills created..." msgstr "" -#: flatcamTools/ToolDblSided.py:406 +#: flatcamTools/ToolDblSided.py:411 msgid "[WARNING_NOTCL] There is no Gerber object loaded ..." msgstr "" -#: flatcamTools/ToolDblSided.py:410 flatcamTools/ToolDblSided.py:453 -#: flatcamTools/ToolDblSided.py:497 +#: flatcamTools/ToolDblSided.py:415 flatcamTools/ToolDblSided.py:458 +#: flatcamTools/ToolDblSided.py:502 msgid "" "[ERROR_NOTCL] Only Gerber, Excellon and Geometry objects can be mirrored." msgstr "" -#: flatcamTools/ToolDblSided.py:420 +#: flatcamTools/ToolDblSided.py:425 msgid "" "[WARNING_NOTCL] 'Point' coordinates missing. Using Origin (0, 0) as " "mirroring reference." msgstr "" -#: flatcamTools/ToolDblSided.py:430 flatcamTools/ToolDblSided.py:474 -#: flatcamTools/ToolDblSided.py:511 +#: flatcamTools/ToolDblSided.py:435 flatcamTools/ToolDblSided.py:479 +#: flatcamTools/ToolDblSided.py:516 msgid "[WARNING_NOTCL] There is no Box object loaded ..." msgstr "" -#: flatcamTools/ToolDblSided.py:440 +#: flatcamTools/ToolDblSided.py:445 #, python-format msgid "[success] Gerber %s was mirrored..." msgstr "" -#: flatcamTools/ToolDblSided.py:449 +#: flatcamTools/ToolDblSided.py:454 msgid "[WARNING_NOTCL] There is no Excellon object loaded ..." msgstr "" -#: flatcamTools/ToolDblSided.py:464 +#: flatcamTools/ToolDblSided.py:469 msgid "" "[WARNING_NOTCL] There are no Point coordinates in the Point field. Add " "coords and try again ..." msgstr "" -#: flatcamTools/ToolDblSided.py:484 +#: flatcamTools/ToolDblSided.py:489 #, python-format msgid "[success] Excellon %s was mirrored..." msgstr "" -#: flatcamTools/ToolDblSided.py:493 +#: flatcamTools/ToolDblSided.py:498 msgid "[WARNING_NOTCL] There is no Geometry object loaded ..." msgstr "" -#: flatcamTools/ToolDblSided.py:521 +#: flatcamTools/ToolDblSided.py:526 #, python-format msgid "[success] Geometry %s was mirrored..." msgstr "" @@ -9239,8 +9241,8 @@ msgid "Film PCB" msgstr "" #: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53 -#: flatcamTools/ToolPanelize.py:56 -msgid "Object Type:" +#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:138 +msgid "Object Type" msgstr "" #: flatcamTools/ToolFilm.py:58 @@ -9252,14 +9254,14 @@ msgid "" msgstr "" #: flatcamTools/ToolFilm.py:71 -msgid "Film Object:" +msgid "Film Object" msgstr "" #: flatcamTools/ToolFilm.py:73 msgid "Object for which to create the film." msgstr "" -#: flatcamTools/ToolFilm.py:89 flatcamTools/ToolPanelize.py:111 +#: flatcamTools/ToolFilm.py:89 msgid "Box Type:" msgstr "" @@ -9272,7 +9274,7 @@ msgid "" msgstr "" #: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126 -msgid "Box Object:" +msgid "Box Object" msgstr "" #: flatcamTools/ToolFilm.py:106 @@ -9303,33 +9305,33 @@ msgid "" "which can be opened with Inkscape." msgstr "" -#: flatcamTools/ToolFilm.py:225 +#: flatcamTools/ToolFilm.py:230 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Film and retry." msgstr "" -#: flatcamTools/ToolFilm.py:231 +#: flatcamTools/ToolFilm.py:236 msgid "" "[ERROR_NOTCL] No FlatCAM object selected. Load an object for Box and retry." msgstr "" -#: flatcamTools/ToolFilm.py:255 +#: flatcamTools/ToolFilm.py:260 msgid "Generating Film ..." msgstr "" -#: flatcamTools/ToolFilm.py:260 flatcamTools/ToolFilm.py:264 +#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269 msgid "Export SVG positive" msgstr "" -#: flatcamTools/ToolFilm.py:269 +#: flatcamTools/ToolFilm.py:274 msgid "[WARNING_NOTCL] Export SVG positive cancelled." msgstr "" -#: flatcamTools/ToolFilm.py:276 flatcamTools/ToolFilm.py:280 +#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285 msgid "Export SVG negative" msgstr "" -#: flatcamTools/ToolFilm.py:285 +#: flatcamTools/ToolFilm.py:290 msgid "[WARNING_NOTCL] Export SVG negative cancelled." msgstr "" @@ -9348,7 +9350,7 @@ msgid "" msgstr "" #: flatcamTools/ToolImage.py:63 -msgid "DPI value:" +msgid "DPI value" msgstr "" #: flatcamTools/ToolImage.py:65 @@ -9416,11 +9418,11 @@ msgstr "" msgid "Open a image of raster type and then import it in FlatCAM." msgstr "" -#: flatcamTools/ToolImage.py:170 +#: flatcamTools/ToolImage.py:175 msgid "Image Tool" msgstr "" -#: flatcamTools/ToolImage.py:200 flatcamTools/ToolImage.py:203 +#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208 msgid "Import IMAGE" msgstr "" @@ -9428,10 +9430,6 @@ msgstr "" msgid "Measurement" msgstr "" -#: flatcamTools/ToolMeasurement.py:43 -msgid "Units:" -msgstr "" - #: flatcamTools/ToolMeasurement.py:44 msgid "Those are the units in which the distance is measured." msgstr "" @@ -9465,7 +9463,7 @@ msgid "This is the measuring Stop point coordinates." msgstr "" #: flatcamTools/ToolMeasurement.py:54 -msgid "Dx:" +msgid "Dx" msgstr "" #: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73 @@ -9473,7 +9471,7 @@ msgid "This is the distance measured over the X axis." msgstr "" #: flatcamTools/ToolMeasurement.py:57 -msgid "Dy:" +msgid "Dy" msgstr "" #: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77 @@ -9555,17 +9553,25 @@ msgstr "" msgid "Non-Copper Clearing" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:64 -msgid "Gerber object to be cleared of excess copper. " +#: flatcamTools/ToolNonCopperClear.py:71 +msgid "" +"Specify the type of object to be cleared of excess copper.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:74 +#: flatcamTools/ToolNonCopperClear.py:88 +msgid "Object to be cleared of excess copper." +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:98 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for copper clearing." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:89 +#: flatcamTools/ToolNonCopperClear.py:113 msgid "" "This is the Tool Number.\n" "Non copper clearing will start with the tool with the biggest \n" @@ -9575,7 +9581,7 @@ msgid "" "this function will not be able to create painting geometry." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:101 flatcamTools/ToolPaint.py:98 +#: flatcamTools/ToolNonCopperClear.py:125 flatcamTools/ToolPaint.py:124 msgid "" "The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is " "informative only. Being circular,
the cut width in material is exactly " @@ -9589,152 +9595,159 @@ msgid "" "the Operation Type in the resulting geometry as Isolation." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:117 -msgid "Tool Dia" -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:122 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Diameter for the new tool to add in the Tool Table" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:148 flatcamTools/ToolPaint.py:145 +#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:190 #: flatcamTools/ToolSolderPaste.py:123 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row(s) in the Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:226 -msgid "" -"If checked, use 'rest machining'.\n" -"Basically it will clear copper outside PCB features,\n" -"using the biggest tool and continue with the next tools,\n" -"from bigger to smaller, to clear areas of copper that\n" -"could not be cleared by previous tool, until there is\n" -"no more copper to clear or there are no more tools.\n" -"If not checked, use the standard algorithm." +#: flatcamTools/ToolNonCopperClear.py:314 flatcamTools/ToolPaint.py:295 +msgid "Area Selection" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:280 -msgid "" -"- 'Itself': the non copper clearing extent\n" -"is based on the object that is copper cleared.\n" -" - 'Box': will do non copper clearing within the box\n" -"specified by the object selected in the Ref. Object combobox." +#: flatcamTools/ToolNonCopperClear.py:315 flatcamTools/ToolPaint.py:297 +msgid "Reference Object" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Ref. Type:" +#: flatcamTools/ToolNonCopperClear.py:317 +msgid "Reference:" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:293 +#: flatcamTools/ToolNonCopperClear.py:332 flatcamTools/ToolPaint.py:312 +msgid "Ref. Type" +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:334 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:304 -msgid "Ref. Object:" +#: flatcamTools/ToolNonCopperClear.py:343 flatcamTools/ToolPaint.py:323 +msgid "Ref. Object" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:306 +#: flatcamTools/ToolNonCopperClear.py:345 flatcamTools/ToolPaint.py:325 msgid "The FlatCAM object to be used as non copper clearing reference." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:320 +#: flatcamTools/ToolNonCopperClear.py:358 msgid "Generate Geometry" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:611 flatcamTools/ToolPaint.py:549 -#: flatcamTools/ToolSolderPaste.py:763 +#: flatcamTools/ToolNonCopperClear.py:689 flatcamTools/ToolPaint.py:700 +#: flatcamTools/ToolSolderPaste.py:768 msgid "[WARNING_NOTCL] Please enter a tool diameter to add, in Float format." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:640 flatcamTools/ToolPaint.py:573 +#: flatcamTools/ToolNonCopperClear.py:718 flatcamTools/ToolPaint.py:724 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:645 flatcamTools/ToolPaint.py:578 +#: flatcamTools/ToolNonCopperClear.py:723 flatcamTools/ToolPaint.py:729 msgid "[success] New tool added to Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:687 flatcamTools/ToolPaint.py:623 +#: flatcamTools/ToolNonCopperClear.py:765 flatcamTools/ToolPaint.py:774 msgid "[success] Tool from Tool Table was edited." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:698 flatcamTools/ToolPaint.py:634 -#: flatcamTools/ToolSolderPaste.py:850 +#: flatcamTools/ToolNonCopperClear.py:776 flatcamTools/ToolPaint.py:785 +#: flatcamTools/ToolSolderPaste.py:855 msgid "" "[WARNING_NOTCL] Edit cancelled. New diameter value is already in the Tool " "Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:738 flatcamTools/ToolPaint.py:733 +#: flatcamTools/ToolNonCopperClear.py:816 flatcamTools/ToolPaint.py:884 msgid "[WARNING_NOTCL] Delete failed. Select a tool to delete." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:743 flatcamTools/ToolPaint.py:738 +#: flatcamTools/ToolNonCopperClear.py:821 flatcamTools/ToolPaint.py:889 msgid "[success] Tool(s) deleted from Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:763 flatcamTools/ToolPaint.py:757 +#: flatcamTools/ToolNonCopperClear.py:849 +msgid "[WARNING_NOTCL] Click the start point of the area." +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:860 flatcamTools/ToolPaint.py:991 +msgid "[WARNING_NOTCL] Click the end point of the paint area." +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:866 flatcamTools/ToolPaint.py:997 +msgid "Zone added. Right click to finish." +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:959 flatcamTools/ToolPaint.py:912 msgid "" "[ERROR_NOTCL] Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" -#: flatcamTools/ToolNonCopperClear.py:835 +#: flatcamTools/ToolNonCopperClear.py:1027 flatcamTools/ToolPaint.py:1109 msgid "[ERROR_NOTCL] No object available." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:840 +#: flatcamTools/ToolNonCopperClear.py:1033 +#: flatcamTools/ToolNonCopperClear.py:1042 msgid "[WARNING_NOTCL] Buffering ..." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:842 +#: flatcamTools/ToolNonCopperClear.py:1035 +#: flatcamTools/ToolNonCopperClear.py:1044 msgid "[success] Buffering finished ..." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:851 +#: flatcamTools/ToolNonCopperClear.py:1049 +msgid "[ERROR_NOTCL] The selected object is not suitable for copper clearing." +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:1056 msgid "" "[ERROR_NOTCL] Could not get the extent of the area to be non copper cleared." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:884 -#: flatcamTools/ToolNonCopperClear.py:1006 +#: flatcamTools/ToolNonCopperClear.py:1096 +#: flatcamTools/ToolNonCopperClear.py:1217 msgid "Clearing Non-Copper areas." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:902 +#: flatcamTools/ToolNonCopperClear.py:1115 #, python-format msgid "[success] Non-Copper Clearing with ToolDia = %s started." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:971 +#: flatcamTools/ToolNonCopperClear.py:1184 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper() --> %s" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:976 +#: flatcamTools/ToolNonCopperClear.py:1189 msgid "[success] NCC Tool finished." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:978 +#: flatcamTools/ToolNonCopperClear.py:1191 msgid "" "[WARNING_NOTCL] NCC Tool finished but some PCB features could not be " "cleared. Check the result." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1024 +#: flatcamTools/ToolNonCopperClear.py:1236 #, python-format msgid "[success] Non-Copper Rest Clearing with ToolDia = %s started." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1334 #, python-format msgid "[ERROR_NOTCL] NCCTool.clear_non_copper_rest() --> %s" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1130 +#: flatcamTools/ToolNonCopperClear.py:1342 msgid "" "[ERROR_NOTCL] NCC Tool finished but could not clear the object with current " "settings." @@ -9770,25 +9783,25 @@ msgstr "" msgid "[success] Rendered: %s" msgstr "" -#: flatcamTools/ToolPaint.py:24 -msgid "Paint Area" +#: flatcamTools/ToolPaint.py:70 +msgid "" +"Specify the type of object to be painted.\n" +"It can be of type: Gerber or Geometry.\n" +"What is selected here will dictate the kind\n" +"of objects that will populate the 'Object' combobox." msgstr "" -#: flatcamTools/ToolPaint.py:60 -msgid "Geometry:" +#: flatcamTools/ToolPaint.py:87 +msgid "Object to be painted." msgstr "" -#: flatcamTools/ToolPaint.py:62 -msgid "Geometry object to be painted. " -msgstr "" - -#: flatcamTools/ToolPaint.py:71 +#: flatcamTools/ToolPaint.py:97 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for painting." msgstr "" -#: flatcamTools/ToolPaint.py:86 +#: flatcamTools/ToolPaint.py:112 msgid "" "This is the Tool Number.\n" "Painting will start with the tool with the biggest diameter,\n" @@ -9798,11 +9811,11 @@ msgid "" "this function will not be able to create painting geometry." msgstr "" -#: flatcamTools/ToolPaint.py:119 +#: flatcamTools/ToolPaint.py:164 msgid "Diameter for the new tool." msgstr "" -#: flatcamTools/ToolPaint.py:224 +#: flatcamTools/ToolPaint.py:269 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -9814,67 +9827,78 @@ msgid "" "If not checked, use the standard algorithm." msgstr "" -#: flatcamTools/ToolPaint.py:239 +#: flatcamTools/ToolPaint.py:284 msgid "" -"How to select the polygons to paint.
Options:
- Single: left " -"mouse click on the polygon to be painted.
- All: paint all " -"polygons." +"How to select the polygons to paint.
Options:
- Single Polygons: left mouse click on the polygon to be painted.
- Area Selection: left mouse click to start selection of the area to be painted.
- " +"All Polygons: paint all polygons.
- Reference Object: paint " +"an area described by an external reference object." msgstr "" -#: flatcamTools/ToolPaint.py:254 +#: flatcamTools/ToolPaint.py:294 +msgid "Single Polygon" +msgstr "" + +#: flatcamTools/ToolPaint.py:296 +msgid "All Polygons" +msgstr "" + +#: flatcamTools/ToolPaint.py:314 +msgid "" +"The type of FlatCAM object to be used as paint reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" + +#: flatcamTools/ToolPaint.py:339 msgid "Create Paint Geometry" msgstr "" -#: flatcamTools/ToolPaint.py:256 +#: flatcamTools/ToolPaint.py:341 msgid "" -"After clicking here, click inside
the polygon you wish to be painted if " -"Single is selected.
If All is selected then the Paint will " -"start after click.
A new Geometry object with the tool
paths will be " -"created." +"- 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +"areas.\n" +"- 'All Polygons' - the Paint will start after click.\n" +"- 'Reference Object' - will do non copper clearing within the area\n" +"specified by another object." msgstr "" -#: flatcamTools/ToolPaint.py:742 +#: flatcamTools/ToolPaint.py:897 msgid "geometry_on_paint_button" msgstr "" -#: flatcamTools/ToolPaint.py:761 flatcamTools/ToolPaint.py:797 +#: flatcamTools/ToolPaint.py:916 flatcamTools/ToolPaint.py:952 msgid "[WARNING_NOTCL] Click inside the desired polygon." msgstr "" -#: flatcamTools/ToolPaint.py:784 +#: flatcamTools/ToolPaint.py:939 msgid "[ERROR_NOTCL] Can't do Paint on MultiGeo geometries ..." msgstr "" -#: flatcamTools/ToolPaint.py:806 flatcamTools/ToolPaint.py:1083 -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:961 flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1612 msgid "Painting polygon..." msgstr "" -#: flatcamTools/ToolPaint.py:825 +#: flatcamTools/ToolPaint.py:980 msgid "[WARNING_NOTCL] Click the start point of the paint area." msgstr "" -#: flatcamTools/ToolPaint.py:836 -msgid "[WARNING_NOTCL] Click the end point of the paint area." -msgstr "" - -#: flatcamTools/ToolPaint.py:842 -msgid "Done." -msgstr "" - -#: flatcamTools/ToolPaint.py:932 +#: flatcamTools/ToolPaint.py:1154 msgid "[WARNING] No polygon found." msgstr "" -#: flatcamTools/ToolPaint.py:935 +#: flatcamTools/ToolPaint.py:1157 msgid "Painting polygon." msgstr "" -#: flatcamTools/ToolPaint.py:977 +#: flatcamTools/ToolPaint.py:1199 msgid "[ERROR_NOTCL] Geometry could not be painted completely" msgstr "" -#: flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:1225 #, python-format msgid "" "[ERROR] Could not do Paint. Try a different combination of parameters. Or a " @@ -9882,18 +9906,18 @@ msgid "" "%s" msgstr "" -#: flatcamTools/ToolPaint.py:1045 +#: flatcamTools/ToolPaint.py:1267 #, python-format msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" msgstr "" -#: flatcamTools/ToolPaint.py:1051 flatcamTools/ToolPaint.py:1350 -#: flatcamTools/ToolPaint.py:1641 +#: flatcamTools/ToolPaint.py:1273 flatcamTools/ToolPaint.py:1579 +#: flatcamTools/ToolPaint.py:1882 msgid "Polygon Paint started ..." msgstr "" -#: flatcamTools/ToolPaint.py:1204 flatcamTools/ToolPaint.py:1295 -#: flatcamTools/ToolPaint.py:1495 flatcamTools/ToolPaint.py:1586 +#: flatcamTools/ToolPaint.py:1433 flatcamTools/ToolPaint.py:1524 +#: flatcamTools/ToolPaint.py:1736 flatcamTools/ToolPaint.py:1827 #, python-format msgid "" "[ERROR] Could not do Paint All. Try a different combination of parameters. " @@ -9901,7 +9925,7 @@ msgid "" "%s" msgstr "" -#: flatcamTools/ToolPaint.py:1228 flatcamTools/ToolPaint.py:1519 +#: flatcamTools/ToolPaint.py:1457 flatcamTools/ToolPaint.py:1760 msgid "" "[ERROR] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -9909,11 +9933,11 @@ msgid "" "Change the painting parameters and try again." msgstr "" -#: flatcamTools/ToolPaint.py:1237 flatcamTools/ToolPaint.py:1528 +#: flatcamTools/ToolPaint.py:1466 flatcamTools/ToolPaint.py:1769 msgid "[success] Paint All Done." msgstr "" -#: flatcamTools/ToolPaint.py:1325 flatcamTools/ToolPaint.py:1616 +#: flatcamTools/ToolPaint.py:1554 flatcamTools/ToolPaint.py:1857 msgid "" "[ERROR_NOTCL] There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -9921,7 +9945,7 @@ msgid "" "Change the painting parameters and try again." msgstr "" -#: flatcamTools/ToolPaint.py:1334 flatcamTools/ToolPaint.py:1625 +#: flatcamTools/ToolPaint.py:1563 flatcamTools/ToolPaint.py:1866 msgid "[success] Paint All with Rest-Machining done." msgstr "" @@ -9943,16 +9967,8 @@ msgid "" "be duplicated in an array of rows and columns." msgstr "" -#: flatcamTools/ToolPanelize.py:84 -msgid "Object" -msgstr "" - -#: flatcamTools/ToolPanelize.py:85 -msgid "Bounding Box" -msgstr "" - #: flatcamTools/ToolPanelize.py:86 -msgid "Penelization Reference:" +msgid "Penelization Reference" msgstr "" #: flatcamTools/ToolPanelize.py:88 @@ -9967,6 +9983,10 @@ msgid "" "objects in sync." msgstr "" +#: flatcamTools/ToolPanelize.py:111 +msgid "Box Type" +msgstr "" + #: flatcamTools/ToolPanelize.py:113 msgid "" "Specify the type of object to be used as an container for\n" @@ -9982,7 +10002,7 @@ msgid "" msgstr "" #: flatcamTools/ToolPanelize.py:134 -msgid "Panel Data:" +msgid "Panel Data" msgstr "" #: flatcamTools/ToolPanelize.py:136 @@ -9995,10 +10015,6 @@ msgid "" "elements of the panel array." msgstr "" -#: flatcamTools/ToolPanelize.py:183 -msgid "Panel Type:" -msgstr "" - #: flatcamTools/ToolPanelize.py:185 msgid "" "Choose the type of object for the panel object:\n" @@ -10007,7 +10023,7 @@ msgid "" msgstr "" #: flatcamTools/ToolPanelize.py:193 -msgid "Constrain panel within:" +msgid "Constrain panel within" msgstr "" #: flatcamTools/ToolPanelize.py:227 @@ -10021,37 +10037,37 @@ msgid "" "arranged in a 2D array of rows and columns." msgstr "" -#: flatcamTools/ToolPanelize.py:272 +#: flatcamTools/ToolPanelize.py:277 msgid "Panel. Tool" msgstr "" -#: flatcamTools/ToolPanelize.py:372 +#: flatcamTools/ToolPanelize.py:377 #, python-format msgid "[WARNING_NOTCL]No object Box. Using instead %s" msgstr "" -#: flatcamTools/ToolPanelize.py:455 +#: flatcamTools/ToolPanelize.py:460 msgid "" "[ERROR_NOTCL] Columns or Rows are zero value. Change them to a positive " "integer." msgstr "" -#: flatcamTools/ToolPanelize.py:480 flatcamTools/ToolPanelize.py:637 +#: flatcamTools/ToolPanelize.py:485 flatcamTools/ToolPanelize.py:642 msgid "Generating panel ... Please wait." msgstr "" -#: flatcamTools/ToolPanelize.py:630 +#: flatcamTools/ToolPanelize.py:635 msgid "[success] Panel done..." msgstr "" -#: flatcamTools/ToolPanelize.py:633 +#: flatcamTools/ToolPanelize.py:638 #, python-brace-format msgid "" "[WARNING] Too big for the constrain area. Final panel has {col} columns and " "{row} rows" msgstr "" -#: flatcamTools/ToolPanelize.py:642 +#: flatcamTools/ToolPanelize.py:647 msgid "[success] Panel created successfully." msgstr "" @@ -10064,11 +10080,11 @@ msgid "Import 2-file Excellon" msgstr "" #: flatcamTools/ToolPcbWizard.py:51 -msgid "Load files:" +msgid "Load files" msgstr "" #: flatcamTools/ToolPcbWizard.py:57 -msgid "Excellon file:" +msgid "Excellon file" msgstr "" #: flatcamTools/ToolPcbWizard.py:59 @@ -10078,7 +10094,7 @@ msgid "" msgstr "" #: flatcamTools/ToolPcbWizard.py:65 -msgid "INF file:" +msgid "INF file" msgstr "" #: flatcamTools/ToolPcbWizard.py:67 @@ -10094,11 +10110,11 @@ msgid "Tool diameter in file units." msgstr "" #: flatcamTools/ToolPcbWizard.py:87 -msgid "Excellon format:" +msgid "Excellon format" msgstr "" #: flatcamTools/ToolPcbWizard.py:95 -msgid "Int. digits:" +msgid "Int. digits" msgstr "" #: flatcamTools/ToolPcbWizard.py:97 @@ -10106,7 +10122,7 @@ msgid "The number of digits for the integral part of the coordinates." msgstr "" #: flatcamTools/ToolPcbWizard.py:104 -msgid "Frac. digits:" +msgid "Frac. digits" msgstr "" #: flatcamTools/ToolPcbWizard.py:106 @@ -10118,7 +10134,7 @@ msgid "No Suppression" msgstr "" #: flatcamTools/ToolPcbWizard.py:114 -msgid "Zeros supp.:" +msgid "Zeros supp." msgstr "" #: flatcamTools/ToolPcbWizard.py:116 @@ -10130,10 +10146,6 @@ msgid "" "- No Suppression = no zero suppression" msgstr "" -#: flatcamTools/ToolPcbWizard.py:127 -msgid "Units" -msgstr "" - #: flatcamTools/ToolPcbWizard.py:129 msgid "" "The type of units that the coordinates and tool\n" @@ -10152,71 +10164,129 @@ msgid "" "the other has .INF extension." msgstr "" -#: flatcamTools/ToolPcbWizard.py:192 +#: flatcamTools/ToolPcbWizard.py:197 msgid "PCBWizard Tool" msgstr "" -#: flatcamTools/ToolPcbWizard.py:286 flatcamTools/ToolPcbWizard.py:290 +#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295 msgid "Load PcbWizard Excellon file" msgstr "" -#: flatcamTools/ToolPcbWizard.py:309 flatcamTools/ToolPcbWizard.py:313 +#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318 msgid "Load PcbWizard INF file" msgstr "" -#: flatcamTools/ToolPcbWizard.py:360 +#: flatcamTools/ToolPcbWizard.py:365 msgid "" "[ERROR] The INF file does not contain the tool table.\n" "Try to open the Excellon file from File -> Open -> Excellon\n" "and edit the drill diameters manually." msgstr "" -#: flatcamTools/ToolPcbWizard.py:380 +#: flatcamTools/ToolPcbWizard.py:385 msgid "[success] PcbWizard .INF file loaded." msgstr "" -#: flatcamTools/ToolPcbWizard.py:384 +#: flatcamTools/ToolPcbWizard.py:389 msgid "[success] Main PcbWizard Excellon file loaded." msgstr "" -#: flatcamTools/ToolPcbWizard.py:421 +#: flatcamTools/ToolPcbWizard.py:426 #, python-format msgid "[ERROR_NOTCL] Cannot parse file: %s" msgstr "" -#: flatcamTools/ToolPcbWizard.py:445 +#: flatcamTools/ToolPcbWizard.py:450 msgid "Importing Excellon." msgstr "" -#: flatcamTools/ToolPcbWizard.py:452 +#: flatcamTools/ToolPcbWizard.py:457 msgid "[ERROR_NOTCL] Import Excellon file failed." msgstr "" -#: flatcamTools/ToolPcbWizard.py:459 +#: flatcamTools/ToolPcbWizard.py:464 #, python-format msgid "[success] Imported: %s" msgstr "" -#: flatcamTools/ToolPcbWizard.py:462 +#: flatcamTools/ToolPcbWizard.py:467 msgid "[WARNING_NOTCL] Excellon merging is in progress. Please wait..." msgstr "" -#: flatcamTools/ToolPcbWizard.py:464 +#: flatcamTools/ToolPcbWizard.py:469 msgid "[ERROR_NOTCL] The imported Excellon file is None." msgstr "" -#: flatcamTools/ToolProperties.py:103 +#: flatcamTools/ToolProperties.py:108 msgid "[ERROR_NOTCL] Properties Tool was not displayed. No object selected." msgstr "" -#: flatcamTools/ToolProperties.py:110 +#: flatcamTools/ToolProperties.py:115 msgid "[success] Object Properties are displayed." msgstr "" -#: flatcamTools/ToolProperties.py:111 +#: flatcamTools/ToolProperties.py:116 msgid "Properties Tool" msgstr "" +#: flatcamTools/ToolProperties.py:125 +msgid "TYPE" +msgstr "" + +#: flatcamTools/ToolProperties.py:126 +msgid "NAME" +msgstr "" + +#: flatcamTools/ToolProperties.py:127 +msgid "Dimensions" +msgstr "" + +#: flatcamTools/ToolProperties.py:130 +msgid "Options" +msgstr "" + +#: flatcamTools/ToolProperties.py:141 +msgid "Geo Type" +msgstr "" + +#: flatcamTools/ToolProperties.py:142 +msgid "Single-Geo" +msgstr "" + +#: flatcamTools/ToolProperties.py:142 +msgid "Multi-Geo" +msgstr "" + +#: flatcamTools/ToolProperties.py:161 +msgid "Width" +msgstr "" + +#: flatcamTools/ToolProperties.py:167 flatcamTools/ToolProperties.py:170 +msgid "Box Area" +msgstr "" + +#: flatcamTools/ToolProperties.py:187 flatcamTools/ToolProperties.py:190 +msgid "Convex_Hull Area" +msgstr "" + +#: flatcamTools/ToolProperties.py:195 +msgid "Inch" +msgstr "" + +#: flatcamTools/ToolProperties.py:196 +msgid "Metric" +msgstr "" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "Present" +msgstr "" + +#: flatcamTools/ToolProperties.py:247 flatcamTools/ToolProperties.py:261 +#: flatcamTools/ToolProperties.py:264 flatcamTools/ToolProperties.py:267 +msgid "None" +msgstr "" + #: flatcamTools/ToolShell.py:69 msgid "...proccessing..." msgstr "" @@ -10270,7 +10340,7 @@ msgid "Generate solder paste dispensing geometry." msgstr "" #: flatcamTools/ToolSolderPaste.py:142 -msgid "STEP 1:" +msgid "STEP 1" msgstr "" #: flatcamTools/ToolSolderPaste.py:144 @@ -10302,7 +10372,7 @@ msgid "" msgstr "" #: flatcamTools/ToolSolderPaste.py:306 -msgid "STEP 2:" +msgid "STEP 2" msgstr "" #: flatcamTools/ToolSolderPaste.py:308 @@ -10312,7 +10382,7 @@ msgid "" msgstr "" #: flatcamTools/ToolSolderPaste.py:324 -msgid "Geo Result:" +msgid "Geo Result" msgstr "" #: flatcamTools/ToolSolderPaste.py:326 @@ -10323,7 +10393,7 @@ msgid "" msgstr "" #: flatcamTools/ToolSolderPaste.py:335 -msgid "STEP 3:" +msgid "STEP 3" msgstr "" #: flatcamTools/ToolSolderPaste.py:337 @@ -10337,7 +10407,7 @@ msgid "" msgstr "" #: flatcamTools/ToolSolderPaste.py:357 -msgid "CNC Result:" +msgid "CNC Result" msgstr "" #: flatcamTools/ToolSolderPaste.py:359 @@ -10369,7 +10439,7 @@ msgid "" msgstr "" #: flatcamTools/ToolSolderPaste.py:381 -msgid "STEP 4:" +msgid "STEP 4" msgstr "" #: flatcamTools/ToolSolderPaste.py:383 @@ -10382,122 +10452,122 @@ msgstr "" msgid "Delete Object" msgstr "" -#: flatcamTools/ToolSolderPaste.py:792 +#: flatcamTools/ToolSolderPaste.py:797 msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:797 +#: flatcamTools/ToolSolderPaste.py:802 msgid "[success] New Nozzle tool added to Tool Table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolSolderPaste.py:844 msgid "[success] Nozzle tool from Tool Table was edited." msgstr "" -#: flatcamTools/ToolSolderPaste.py:896 +#: flatcamTools/ToolSolderPaste.py:901 msgid "[WARNING_NOTCL] Delete failed. Select a Nozzle tool to delete." msgstr "" -#: flatcamTools/ToolSolderPaste.py:901 +#: flatcamTools/ToolSolderPaste.py:906 msgid "[success] Nozzle tool(s) deleted from Tool Table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:956 +#: flatcamTools/ToolSolderPaste.py:961 msgid "[WARNING_NOTCL] No SolderPaste mask Gerber object loaded." msgstr "" -#: flatcamTools/ToolSolderPaste.py:974 +#: flatcamTools/ToolSolderPaste.py:979 msgid "Creating Solder Paste dispensing geometry." msgstr "" -#: flatcamTools/ToolSolderPaste.py:986 +#: flatcamTools/ToolSolderPaste.py:991 msgid "[WARNING_NOTCL] No Nozzle tools in the tool table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1115 +#: flatcamTools/ToolSolderPaste.py:1120 msgid "[success] Solder Paste geometry generated successfully..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1121 +#: flatcamTools/ToolSolderPaste.py:1126 msgid "" "[WARNING_NOTCL] Some or all pads have no solder due of inadequate nozzle " "diameters..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1135 +#: flatcamTools/ToolSolderPaste.py:1140 msgid "Generating Solder Paste dispensing geometry..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1160 msgid "[WARNING_NOTCL] There is no Geometry object available." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1159 +#: flatcamTools/ToolSolderPaste.py:1164 msgid "" "[WARNING_NOTCL] This Geometry can't be processed. NOT a solder_paste_tool " "geometry." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1265 +#: flatcamTools/ToolSolderPaste.py:1270 #, python-format msgid "[success] ToolSolderPaste CNCjob created: %s" msgstr "" -#: flatcamTools/ToolSolderPaste.py:1297 flatcamTools/ToolSolderPaste.py:1301 -#: flatcamTools/ToolSolderPaste.py:1353 +#: flatcamTools/ToolSolderPaste.py:1302 flatcamTools/ToolSolderPaste.py:1306 +#: flatcamTools/ToolSolderPaste.py:1358 msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed. NOT a " "solder_paste_tool CNCJob object." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1325 +#: flatcamTools/ToolSolderPaste.py:1330 msgid "[ERROR_NOTCL] No Gcode in the object..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1334 +#: flatcamTools/ToolSolderPaste.py:1339 #, python-format msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgstr "" -#: flatcamTools/ToolSolderPaste.py:1363 +#: flatcamTools/ToolSolderPaste.py:1368 msgid "Export GCode ..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1407 +#: flatcamTools/ToolSolderPaste.py:1412 #, python-format msgid "[success] Solder paste dispenser GCode file saved to: %s" msgstr "" -#: flatcamTools/ToolSub.py:55 -msgid "Gerber Objects" +#: flatcamTools/ToolSub.py:57 +msgid "Gerber Objects" msgstr "" -#: flatcamTools/ToolSub.py:64 flatcamTools/ToolSub.py:110 -msgid "Target:" +#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112 +msgid "Target" msgstr "" -#: flatcamTools/ToolSub.py:66 +#: flatcamTools/ToolSub.py:68 msgid "" "Gerber object from which to substract\n" "the substractor Gerber object." msgstr "" -#: flatcamTools/ToolSub.py:78 flatcamTools/ToolSub.py:124 -msgid "Substractor:" +#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126 +msgid "Substractor" msgstr "" -#: flatcamTools/ToolSub.py:80 +#: flatcamTools/ToolSub.py:82 msgid "" "Gerber object that will be substracted\n" "from the target Gerber object." msgstr "" -#: flatcamTools/ToolSub.py:87 +#: flatcamTools/ToolSub.py:89 msgid "Substract Gerber" msgstr "" -#: flatcamTools/ToolSub.py:89 +#: flatcamTools/ToolSub.py:91 msgid "" "Will remove the area occupied by the substractor\n" "Gerber from the Target Gerber.\n" @@ -10505,72 +10575,73 @@ msgid "" "over the soldermask." msgstr "" -#: flatcamTools/ToolSub.py:101 -msgid "Geometry Objects" +#: flatcamTools/ToolSub.py:103 +msgid "Geometry Objects" msgstr "" -#: flatcamTools/ToolSub.py:112 +#: flatcamTools/ToolSub.py:114 msgid "" "Geometry object from which to substract\n" "the substractor Geometry object." msgstr "" -#: flatcamTools/ToolSub.py:126 +#: flatcamTools/ToolSub.py:128 msgid "" "Geometry object that will be substracted\n" "from the target Geometry object." msgstr "" -#: flatcamTools/ToolSub.py:137 +#: flatcamTools/ToolSub.py:139 msgid "Substract Geometry" msgstr "" -#: flatcamTools/ToolSub.py:139 +#: flatcamTools/ToolSub.py:141 msgid "" "Will remove the area occupied by the substractor\n" "Geometry from the Target Geometry." msgstr "" -#: flatcamTools/ToolSub.py:220 +#: flatcamTools/ToolSub.py:228 msgid "Sub Tool" msgstr "" -#: flatcamTools/ToolSub.py:236 flatcamTools/ToolSub.py:429 +#: flatcamTools/ToolSub.py:244 flatcamTools/ToolSub.py:440 msgid "[ERROR_NOTCL] No Target object loaded." msgstr "" -#: flatcamTools/ToolSub.py:249 flatcamTools/ToolSub.py:442 +#: flatcamTools/ToolSub.py:257 flatcamTools/ToolSub.py:453 msgid "[ERROR_NOTCL] No Substractor object loaded." msgstr "" -#: flatcamTools/ToolSub.py:302 +#: flatcamTools/ToolSub.py:310 #, python-format msgid "Parsing aperture %s geometry ..." msgstr "" -#: flatcamTools/ToolSub.py:404 flatcamTools/ToolSub.py:597 +#: flatcamTools/ToolSub.py:412 flatcamTools/ToolSub.py:608 msgid "Generating new object ..." msgstr "" -#: flatcamTools/ToolSub.py:407 flatcamTools/ToolSub.py:600 +#: flatcamTools/ToolSub.py:415 flatcamTools/ToolSub.py:611 +#: flatcamTools/ToolSub.py:690 msgid "[ERROR_NOTCL] Generating new object failed." msgstr "" -#: flatcamTools/ToolSub.py:411 flatcamTools/ToolSub.py:605 +#: flatcamTools/ToolSub.py:419 flatcamTools/ToolSub.py:616 #, python-format msgid "[success] Created: %s" msgstr "" -#: flatcamTools/ToolSub.py:454 +#: flatcamTools/ToolSub.py:465 msgid "" "[ERROR_NOTCL] Currently, the Substractor geometry cannot be of type Multigeo." msgstr "" -#: flatcamTools/ToolSub.py:499 +#: flatcamTools/ToolSub.py:510 msgid "Parsing solid_geometry ..." msgstr "" -#: flatcamTools/ToolSub.py:501 +#: flatcamTools/ToolSub.py:512 #, python-format msgid "Parsing tool %s geometry ..." msgstr "" @@ -10600,68 +10671,62 @@ msgid "" "the Scale reference checkbox state." msgstr "" -#: flatcamTools/ToolTransform.py:202 -msgid "" -"Scale the selected object(s)\n" -"using the Scale Factor X for both axis." -msgstr "" - -#: flatcamTools/ToolTransform.py:250 flatcamTools/ToolTransform.py:267 +#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268 msgid "" "Offset the selected object(s).\n" "The point of reference is the middle of\n" "the bounding box for all selected objects.\n" msgstr "" -#: flatcamTools/ToolTransform.py:297 flatcamTools/ToolTransform.py:305 +#: flatcamTools/ToolTransform.py:298 flatcamTools/ToolTransform.py:306 msgid "" "Flip the selected object(s) over the X axis.\n" "Does not create a new object.\n" " " msgstr "" -#: flatcamTools/ToolTransform.py:636 +#: flatcamTools/ToolTransform.py:642 msgid "[WARNING_NOTCL] No object selected. Please Select an object to rotate!" msgstr "" -#: flatcamTools/ToolTransform.py:664 +#: flatcamTools/ToolTransform.py:670 msgid "CNCJob objects can't be rotated." msgstr "" -#: flatcamTools/ToolTransform.py:672 +#: flatcamTools/ToolTransform.py:678 msgid "[success] Rotate done ..." msgstr "" -#: flatcamTools/ToolTransform.py:687 +#: flatcamTools/ToolTransform.py:693 msgid "[WARNING_NOTCL] No object selected. Please Select an object to flip!" msgstr "" -#: flatcamTools/ToolTransform.py:722 +#: flatcamTools/ToolTransform.py:728 msgid "CNCJob objects can't be mirrored/flipped." msgstr "" -#: flatcamTools/ToolTransform.py:756 +#: flatcamTools/ToolTransform.py:762 msgid "" "[WARNING_NOTCL] No object selected. Please Select an object to shear/skew!" msgstr "" -#: flatcamTools/ToolTransform.py:778 +#: flatcamTools/ToolTransform.py:784 msgid "CNCJob objects can't be skewed." msgstr "" -#: flatcamTools/ToolTransform.py:805 +#: flatcamTools/ToolTransform.py:811 msgid "[WARNING_NOTCL] No object selected. Please Select an object to scale!" msgstr "" -#: flatcamTools/ToolTransform.py:838 +#: flatcamTools/ToolTransform.py:844 msgid "CNCJob objects can't be scaled." msgstr "" -#: flatcamTools/ToolTransform.py:857 +#: flatcamTools/ToolTransform.py:863 msgid "[WARNING_NOTCL] No object selected. Please Select an object to offset!" msgstr "" -#: flatcamTools/ToolTransform.py:866 +#: flatcamTools/ToolTransform.py:872 msgid "CNCJob objects can't be offseted." msgstr "" diff --git a/tclCommands/TclCommandFollow.py b/tclCommands/TclCommandFollow.py index 8af7bf3e..e9a5a905 100644 --- a/tclCommands/TclCommandFollow.py +++ b/tclCommands/TclCommandFollow.py @@ -57,7 +57,7 @@ class TclCommandFollow(TclCommandSignaled): del args['name'] try: - obj.follow(**args) + obj.follow_geo(**args) except Exception as e: return "Operation failed: %s" % str(e)