From 70d123306c1bb90183a79437612b45ebf0022d00 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Mon, 11 Nov 2019 02:35:42 +0200 Subject: [PATCH] - in Tools Database added a contextual menu to add/copy/delete tool; CTRL+C, DEL keys work too; key T for adding a tool is now only partially working - in Tools Database made the status bar messages show when adding/copying/deleting tools in DB - changed all Except statements that were single to except Exception as recommended in some PEP - renamed the Copper Fill Tool to Copper Thieving Tool as this is a more appropriate name; started to add ability for more types of copper thieving besides solid - fixed some issues recently introduced in ParseSVG - updated POT file --- FlatCAMApp.py | 463 +- FlatCAMCommon.py | 91 +- FlatCAMObj.py | 6 + README.md | 13 +- camlib.py | 12 +- flatcamEditors/FlatCAMExcEditor.py | 8 +- flatcamEditors/FlatCAMGeoEditor.py | 37 +- flatcamGUI/FlatCAMGUI.py | 31 +- flatcamGUI/GUIElements.py | 2 +- flatcamGUI/PlotCanvas.py | 4 +- flatcamGUI/PreferencesUI.py | 49 +- flatcamParsers/ParseDXF.py | 4 +- flatcamParsers/ParseExcellon.py | 24 +- flatcamParsers/ParseGerber.py | 12 +- flatcamParsers/ParseSVG.py | 4 +- flatcamTools/ToolCalibrateExcellon.py | 2 +- ...oolCopperFill.py => ToolCopperThieving.py} | 92 +- flatcamTools/ToolQRCode.py | 16 +- flatcamTools/ToolSolderPaste.py | 4 +- flatcamTools/__init__.py | 2 +- locale/ro/LC_MESSAGES/strings.mo | Bin 311295 -> 310250 bytes locale/ro/LC_MESSAGES/strings.po | 6730 ++++++++++------- locale_template/strings.pot | 6133 ++++++++------- tclCommands/TclCommandAddCircle.py | 2 +- tclCommands/TclCommandAddRectangle.py | 2 +- tclCommands/TclCommandAlignDrill.py | 4 +- tclCommands/TclCommandGeoUnion.py | 2 +- tclCommands/TclCommandMillSlots.py | 2 +- tclCommands/TclCommandMirror.py | 4 +- tclCommands/TclCommandPanelize.py | 2 +- tclCommands/TclCommandSubtractPoly.py | 2 +- tclCommands/TclCommandSubtractRectangle.py | 3 +- tclCommands/TclCommandWriteGCode.py | 2 +- 33 files changed, 8161 insertions(+), 5603 deletions(-) rename flatcamTools/{ToolCopperFill.py => ToolCopperThieving.py} (89%) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 33b553f6..568afe3a 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -132,7 +132,7 @@ class App(QtCore.QObject): # ################## Version and VERSION DATE ############################## # ########################################################################## version = 8.99 - version_date = "2019/11/8" + version_date = "2019/11/16" beta = True engine = '3D' @@ -228,7 +228,7 @@ class App(QtCore.QObject): # should be disconnected after use so it can be reused replot_signal = pyqtSignal(list) - def __init__(self, user_defaults=True, post_gui=None): + def __init__(self, user_defaults=True): """ Starts the application. @@ -827,12 +827,13 @@ class App(QtCore.QObject): "tools_qrcode_back_color": '#FFFFFF', "tools_qrcode_sel_limit": 330, - # Copper Fill Tool - "tools_copperfill_clearance": 0.01, - "tools_copperfill_margin": 0.039, - "tools_copperfill_reference": 'itself', - "tools_copperfill_box_type": 'rect', - "tools_copperfill_circle_steps": 128, + # Copper Thieving Tool + "tools_copper_thieving_clearance": 0.01, + "tools_copper_thieving_margin": 0.039, + "tools_copper_thieving_reference": 'itself', + "tools_copper_thieving_box_type": 'rect', + "tools_copper_thieving_circle_steps": 128, + "tools_copper_thieving_fill_type": 'solid', # Utilities # file associations @@ -887,14 +888,14 @@ class App(QtCore.QObject): # ################## Setting the Splash Screen ############################# # ########################################################################## - settings = QSettings("Open Source", "FlatCAM") - if settings.contains("splash_screen"): - show_splash = settings.value("splash_screen") + splash_settings = QSettings("Open Source", "FlatCAM") + if splash_settings.contains("splash_screen"): + show_splash = splash_settings.value("splash_screen") else: - settings.setValue('splash_screen', 1) + splash_settings.setValue('splash_screen', 1) # This will write the setting to the platform specific storage. - del settings + del splash_settings show_splash = 1 if show_splash and self.cmd_line_headless != 1: @@ -929,9 +930,9 @@ class App(QtCore.QObject): self.ui = FlatCAMGUI(self.version, self.beta, self) - settings = QtCore.QSettings("Open Source", "FlatCAM") - if settings.contains("theme"): - theme = settings.value('theme', type=str) + theme_settings = QtCore.QSettings("Open Source", "FlatCAM") + if theme_settings.contains("theme"): + theme = theme_settings.value('theme', type=str) else: theme = 'white' @@ -1363,12 +1364,13 @@ class App(QtCore.QObject): "tools_qrcode_back_color": self.ui.tools2_defaults_form.tools2_qrcode_group.back_color_entry, "tools_qrcode_sel_limit": self.ui.tools2_defaults_form.tools2_qrcode_group.sel_limit_entry, - # Copper Fill Tool - "tools_copperfill_clearance": self.ui.tools2_defaults_form.tools2_cfill_group.clearance_entry, - "tools_copperfill_margin": self.ui.tools2_defaults_form.tools2_cfill_group.margin_entry, - "tools_copperfill_reference": self.ui.tools2_defaults_form.tools2_cfill_group.reference_radio, - "tools_copperfill_box_type": self.ui.tools2_defaults_form.tools2_cfill_group.bbox_type_radio, - "tools_copperfill_circle_steps": self.ui.tools2_defaults_form.tools2_cfill_group.circlesteps_entry, + # Copper Thieving Tool + "tools_copper_thieving_clearance": self.ui.tools2_defaults_form.tools2_cfill_group.clearance_entry, + "tools_copper_thieving_margin": self.ui.tools2_defaults_form.tools2_cfill_group.margin_entry, + "tools_copper_thieving_reference": self.ui.tools2_defaults_form.tools2_cfill_group.reference_radio, + "tools_copper_thieving_box_type": self.ui.tools2_defaults_form.tools2_cfill_group.bbox_type_radio, + "tools_copper_thieving_circle_steps": self.ui.tools2_defaults_form.tools2_cfill_group.circlesteps_entry, + "tools_copper_thieving_fill_type": self.ui.tools2_defaults_form.tools2_cfill_group.fill_type_radio, # Utilities # File associations @@ -2267,7 +2269,7 @@ class App(QtCore.QObject): self.pcb_wizard_tool = None self.cal_exc_tool = None self.qrcode_tool = None - self.copperfill_tool = None + self.copper_thieving_tool = None # always install tools only after the shell is initialized because the self.inform.emit() depends on shell self.install_tools() @@ -2499,9 +2501,9 @@ class App(QtCore.QObject): # finish the splash self.splash.finish(self.ui) - settings = QSettings("Open Source", "FlatCAM") - if settings.contains("maximized_gui"): - maximized_ui = settings.value('maximized_gui', type=bool) + mgui_settings = QSettings("Open Source", "FlatCAM") + if mgui_settings.contains("maximized_gui"): + maximized_ui = mgui_settings.value('maximized_gui', type=bool) if maximized_ui is True: self.ui.showMaximized() else: @@ -2525,9 +2527,10 @@ class App(QtCore.QObject): command_tcl = 0 for i in self.cmd_line_shellvar.split(','): if i is not None: + # noinspection PyBroadException try: command_tcl = eval(i) - except: + except Exception: command_tcl = i command_tcl_formatted = 'set shellvar_{nr} "{cmd}"'.format(cmd=str(command_tcl), nr=str(cnt)) @@ -2588,6 +2591,7 @@ class App(QtCore.QObject): """ This will process any arguments provided to the application at startup. Like trying to launch a file or project. + :param silent: when True it will not print messages on Tcl Shell and/or status bar :param args: a list containing the application args at startup :return: None """ @@ -2719,11 +2723,11 @@ class App(QtCore.QObject): ) def on_theme_change(self, val): - settings = QSettings("Open Source", "FlatCAM") - settings.setValue('theme', val) + t_settings = QSettings("Open Source", "FlatCAM") + t_settings.setValue('theme', val) # This will write the setting to the platform specific storage. - del settings + del t_settings self.on_app_restart() @@ -2733,7 +2737,7 @@ class App(QtCore.QObject): # be left in the SySTray try: self.trayIcon.hide() - except Exception as e: + except Exception: pass fcTranslate.restart_program(app=self) @@ -2874,8 +2878,8 @@ class App(QtCore.QObject): self.paint_tool.install(icon=QtGui.QIcon('share/paint16.png'), pos=self.ui.menutool, before=self.sub_tool.menuAction, separator=True) - self.copperfill_tool = ToolCopperFill(self) - self.copperfill_tool.install(icon=QtGui.QIcon('share/copperfill32.png'), pos=self.ui.menutool) + self.copper_thieving_tool = ToolCopperThieving(self) + self.copper_thieving_tool.install(icon=QtGui.QIcon('share/copperfill32.png'), pos=self.ui.menutool) self.qrcode_tool = QRCode(self) self.qrcode_tool.install(icon=QtGui.QIcon('share/qrcode32.png'), pos=self.ui.menutool) @@ -3004,7 +3008,7 @@ class App(QtCore.QObject): self.ui.calculators_btn.triggered.connect(lambda: self.calculator_tool.run(toggle=True)) self.ui.transform_btn.triggered.connect(lambda: self.transform_tool.run(toggle=True)) self.ui.qrcode_btn.triggered.connect(lambda: self.qrcode_tool.run(toggle=True)) - self.ui.copperfill_btn.triggered.connect(lambda: self.copperfill_tool.run(toggle=True)) + self.ui.copperfill_btn.triggered.connect(lambda: self.copper_thieving_tool.run(toggle=True)) def object2editor(self): """ @@ -3605,7 +3609,7 @@ class App(QtCore.QObject): try: defaults = json.loads(options) - except: + except Exception: # in case the defaults file can't be loaded, show all toolbars self.defaults["global_toolbar_view"] = 511 e = sys.exc_info()[0] @@ -3653,7 +3657,7 @@ class App(QtCore.QObject): try: defaults_from_file = json.loads(options) - except Exception as e: + except Exception: e = sys.exc_info()[0] App.log.error(str(e)) self.inform.emit('[ERROR_NOTCL] %s' % @@ -3712,7 +3716,7 @@ class App(QtCore.QObject): f = open(filename, 'w') json.dump({}, f) f.close() - except: + except Exception: e = sys.exc_info()[0] App.log.error("Could not load defaults file.") App.log.error(str(e)) @@ -3722,7 +3726,7 @@ class App(QtCore.QObject): try: defaults_from_file = json.loads(defaults_file_content) - except: + except Exception: App.log.warning("Trying to read an empty Preferences file. Continue.") # Update options @@ -3735,7 +3739,7 @@ class App(QtCore.QObject): f = open(filename, "w") json.dump(defaults_from_file, f, default=to_dict, indent=2, sort_keys=True) f.close() - except: + except Exception: self.inform.emit('[ERROR_NOTCL] %s' % _("Failed to write defaults to file.")) return @@ -4010,7 +4014,7 @@ class App(QtCore.QObject): """ self.report_usage("new_geometry_object()") - def initialize(obj, self): + def initialize(obj, app): obj.multitool = False self.new_object('geometry', 'new_geo', initialize, plot=False) @@ -4023,7 +4027,7 @@ class App(QtCore.QObject): """ self.report_usage("new_gerber_object()") - def initialize(grb_obj, self): + def initialize(grb_obj, app): grb_obj.multitool = False grb_obj.source_file = [] grb_obj.multigeo = False @@ -4045,6 +4049,7 @@ class App(QtCore.QObject): """ Creates a new, blank TCL Script object. :param name: a name for the new object + :param text: pass a source file to the newly created script to be loaded in it :return: None """ self.report_usage("new_script_object()") @@ -4068,9 +4073,9 @@ class App(QtCore.QObject): "SubtractPoly,\n" "# SubtractRectangle, Version, WriteGCode\n" "#\n\n" - ) + ) - def initialize(obj, self): + def initialize(obj, app): obj.source_file = deepcopy(new_source_file) if name is None: @@ -4088,19 +4093,19 @@ class App(QtCore.QObject): """ self.report_usage("new_document_object()") - def initialize(obj, self): + def initialize(obj, app): obj.source_file = "" self.new_object('document', 'new_document', initialize, plot=False) - def on_object_created(self, obj, plot, autoselect): + def on_object_created(self, obj, plot, auto_select): """ Event callback for object creation. It will add the new object to the collection. After that it will plot the object in a threaded way :param obj: The newly created FlatCAM object. :param plot: if the newly create object t obe plotted - :param autoselect: if the newly created object to be autoselected after creation + :param auto_select: if the newly created object to be autoselected after creation :return: None """ t0 = time.time() # DEBUG @@ -4136,7 +4141,7 @@ class App(QtCore.QObject): # update the SHELL auto-completer model with the name of the new object self.shell._edit.set_model_data(self.myKeywords) - if autoselect: + if auto_select: # select the just opened object but deselect the previous ones self.collection.set_all_inactive() self.collection.set_active(obj.options["name"]) @@ -4180,11 +4185,10 @@ class App(QtCore.QObject): self.delete_selection_shape() self.should_we_save = True - def on_object_plotted(self, obj): + def on_object_plotted(self): """ Callback called whenever the plotted object needs to be fit into the viewport (canvas) - :param obj: object to be fit into view :return: None """ self.on_zoom_fit(None) @@ -4257,7 +4261,7 @@ class App(QtCore.QObject): '%s:
%s
' % ( _('Licensed under the MIT license'), "" - "http://www.opensource.org/licenses/mit-license.php" + "http://www.opensource.org/licenses/mit-license.php" ) ) lic_lbl_header.setOpenExternalLinks(True) @@ -4562,7 +4566,8 @@ class App(QtCore.QObject): # Switch plot_area to preferences page self.ui.plot_tab_area.setCurrentWidget(self.book_dialog_tab) - def on_backup_site(self): + @staticmethod + def on_backup_site(): msgbox = QtWidgets.QMessageBox() msgbox.setText(_("This entry will resolve to another website if:\n\n" "1. FlatCAM.org website is down\n" @@ -4638,7 +4643,7 @@ class App(QtCore.QObject): f = open(data_path + "/current_defaults.FlatConfig") defaults_file_content = f.read() f.close() - except: + except Exception: e = sys.exc_info()[0] App.log.error("Could not load defaults file.") App.log.error(str(e)) @@ -4648,7 +4653,7 @@ class App(QtCore.QObject): try: defaults = json.loads(defaults_file_content) - except: + except Exception: e = sys.exc_info()[0] App.log.error("Failed to parse defaults file.") App.log.error(str(e)) @@ -4717,6 +4722,7 @@ class App(QtCore.QObject): When the application is portable it should be a mobile location. :return: None """ + self.report_usage("save_factory_defaults") if data_path is None: @@ -4727,7 +4733,7 @@ class App(QtCore.QObject): f_f_def = open(data_path + "/factory_defaults.FlatConfig") factory_defaults_file_content = f_f_def.read() f_f_def.close() - except: + except Exception: e = sys.exc_info()[0] App.log.error("Could not load factory defaults file.") App.log.error(str(e)) @@ -4736,7 +4742,7 @@ class App(QtCore.QObject): try: factory_defaults = json.loads(factory_defaults_file_content) - except: + except Exception: e = sys.exc_info()[0] App.log.error("Failed to parse factory defaults file.") App.log.error(str(e)) @@ -4790,13 +4796,13 @@ class App(QtCore.QObject): if response == bt_yes: try: self.trayIcon.hide() - except: + except Exception: pass self.on_file_saveprojectas(use_thread=True, quit_action=True) elif response == bt_no: try: self.trayIcon.hide() - except: + except Exception: pass self.quit_application() elif response == bt_cancel: @@ -4804,7 +4810,7 @@ class App(QtCore.QObject): else: try: self.trayIcon.hide() - except: + except Exception: pass self.quit_application() @@ -4819,28 +4825,33 @@ class App(QtCore.QObject): if self.cmd_line_headless != 1: # save app state to file - settings = QSettings("Open Source", "FlatCAM") - settings.setValue('saved_gui_state', self.ui.saveState()) - settings.setValue('maximized_gui', self.ui.isMaximized()) - settings.setValue('language', self.ui.general_defaults_form.general_app_group.language_cb.get_value()) - settings.setValue( + stgs = QSettings("Open Source", "FlatCAM") + stgs.setValue('saved_gui_state', self.ui.saveState()) + stgs.setValue('maximized_gui', self.ui.isMaximized()) + stgs.setValue( + 'language', + self.ui.general_defaults_form.general_app_group.language_cb.get_value() + ) + stgs.setValue( 'notebook_font_size', self.ui.general_defaults_form.general_gui_set_group.notebook_font_size_spinner.get_value() ) - settings.setValue('axis_font_size', - self.ui.general_defaults_form.general_gui_set_group.axis_font_size_spinner.get_value()) - settings.setValue( + stgs.setValue( + 'axis_font_size', + self.ui.general_defaults_form.general_gui_set_group.axis_font_size_spinner.get_value() + ) + stgs.setValue( 'textbox_font_size', self.ui.general_defaults_form.general_gui_set_group.textbox_font_size_spinner.get_value() ) - settings.setValue('toolbar_lock', self.ui.lock_action.isChecked()) - settings.setValue( + stgs.setValue('toolbar_lock', self.ui.lock_action.isChecked()) + stgs.setValue( 'machinist', 1 if self.ui.general_defaults_form.general_app_group.machinist_cb.get_value() else 0 ) # This will write the setting to the platform specific storage. - del settings + del stgs log.debug("App.final_save() --> App UI state saved.") QtWidgets.qApp.quit() @@ -4868,7 +4879,7 @@ class App(QtCore.QObject): else: current_data_path = os.path.dirname(os.path.realpath(__file__)) + '\\config' - config_file = current_data_path + '\\configuration.txt' + config_file = current_data_path + '\\configuration.txt' try: with open(config_file, 'r') as f: try: @@ -4940,8 +4951,9 @@ class App(QtCore.QObject): def on_toggle_shell(self): """ Toggle shell: if is visible close it, if it is closed then open it - :return: + :return: None """ + self.report_usage("on_toggle_shell()") if self.ui.shell_dock.isVisible(): @@ -4993,7 +5005,8 @@ class App(QtCore.QObject): return False if obj_type is None or obj_type == 'excellon': - exc_list = self.ui.util_defaults_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') + exc_list = \ + self.ui.util_defaults_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') exc_list = [x for x in exc_list if x != ''] # register all keys in the Preferences window @@ -5058,6 +5071,13 @@ class App(QtCore.QObject): _("Selected Gerber file extensions registered with FlatCAM.")) def add_extension(self, ext_type): + """ + Add a file extension to the list for a specific object + + :param ext_type: type of FlatCAM object: excellon, gerber, geometry and then 'not FlatCAM object' keyword + :return: + """ + if ext_type == 'excellon': new_ext = self.ui.util_defaults_form.fa_excellon_group.ext_entry.get_value() if new_ext == '': @@ -5110,6 +5130,12 @@ class App(QtCore.QObject): self.shell._edit.set_model_data(self.myKeywords) def del_extension(self, ext_type): + """ + Remove a file extension from the list for a specific object + + :param ext_type: type of FlatCAM object: excellon, gerber, geometry and then 'not FlatCAM object' keyword + :return: + """ if ext_type == 'excellon': new_ext = self.ui.util_defaults_form.fa_excellon_group.ext_entry.get_value() if new_ext == '': @@ -5162,6 +5188,13 @@ class App(QtCore.QObject): self.shell._edit.set_model_data(self.myKeywords) def restore_extensions(self, ext_type): + """ + Restore all file extensions associations with FlatCAM, for a specific object + + :param ext_type: type of FlatCAM object: excellon, gerber, geometry and then 'not FlatCAM object' keyword + :return: + """ + if ext_type == 'excellon': # don't add 'txt' to the associations (too many files are .txt and not Excellon) but keep it in the list # for the ability to open Excellon files with .txt extension @@ -5185,6 +5218,13 @@ class App(QtCore.QObject): self.shell._edit.set_model_data(self.myKeywords) def delete_all_extensions(self, ext_type): + """ + Delete all file extensions associations with FlatCAM, for a specific object + + :param ext_type: type of FlatCAM object: excellon, gerber, geometry and then 'not FlatCAM object' keyword + :return: + """ + if ext_type == 'excellon': self.ui.util_defaults_form.fa_excellon_group.exc_list_text.set_value('') if ext_type == 'gcode': @@ -5210,7 +5250,7 @@ class App(QtCore.QObject): obj_name_single = str(name) if name else "Combo_SingleGeo" obj_name_multi = str(name) if name else "Combo_MultiGeo" - geo_type_list = set() + geo_type_set = set() objs = self.collection.get_selected() @@ -5220,10 +5260,10 @@ class App(QtCore.QObject): return 'fail' for obj in objs: - geo_type_list.add(obj.multigeo) + geo_type_set.add(obj.multigeo) # if len(geo_type_list) == 1 means that all list elements are the same - if len(geo_type_list) != 1: + if len(geo_type_set) != 1: self.inform.emit('[ERROR] %s' % _("Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility is to " @@ -5234,17 +5274,19 @@ class App(QtCore.QObject): return # if at least one True object is in the list then due of the previous check, all list elements are True objects - if True in geo_type_list: - def initialize(obj, app): - FlatCAMGeometry.merge(self, geo_list=objs, geo_final=obj, multigeo=True) + if True in geo_type_set: + def initialize(geo_obj, app): + FlatCAMGeometry.merge(self, geo_list=objs, geo_final=geo_obj, multigeo=True) + app.inform.emit('[success] %s.' % _("Multigeo. Geometry merging finished")) # rename all the ['name] key in obj.tools[tooluid]['data'] to the obj_name_multi for v in obj.tools.values(): v['data']['name'] = obj_name_multi self.new_object("geometry", obj_name_multi, initialize) else: - def initialize(obj, app): - FlatCAMGeometry.merge(self, geo_list=objs, geo_final=obj, multigeo=False) + def initialize(geo_obj, app): + FlatCAMGeometry.merge(self, geo_list=objs, geo_final=geo_obj, multigeo=False) + app.inform.emit('[success] %s.' % _("Geometry merging finished")) # rename all the ['name] key in obj.tools[tooluid]['data'] to the obj_name_multi for v in obj.tools.values(): @@ -5266,8 +5308,7 @@ class App(QtCore.QObject): for obj in objs: if not isinstance(obj, FlatCAMExcellon): - self.inform.emit('[ERROR_NOTCL] %s' % - _("Failed. Excellon joining works only on Excellon objects.")) + self.inform.emit('[ERROR_NOTCL] %s' % _("Failed. Excellon joining works only on Excellon objects.")) return if len(objs) < 2: @@ -5275,8 +5316,9 @@ class App(QtCore.QObject): (_("At least two objects are required for join. Objects currently selected"), len(objs))) return 'fail' - def initialize(obj, app): - FlatCAMExcellon.merge(self, exc_list=objs, exc_final=obj) + def initialize(exc_obj, app): + FlatCAMExcellon.merge(self, exc_list=objs, exc_final=exc_obj) + app.inform.emit('[success] %s.' % _("Excellon merging finished")) self.new_object("excellon", 'Combo_Excellon', initialize) self.should_we_save = True @@ -5294,8 +5336,7 @@ class App(QtCore.QObject): for obj in objs: if not isinstance(obj, FlatCAMGerber): - self.inform.emit('[ERROR_NOTCL] %s' % - _("Failed. Gerber joining works only on Gerber objects.")) + self.inform.emit('[ERROR_NOTCL] %s' % _("Failed. Gerber joining works only on Gerber objects.")) return if len(objs) < 2: @@ -5303,8 +5344,9 @@ class App(QtCore.QObject): (_("At least two objects are required for join. Objects currently selected"), len(objs))) return 'fail' - def initialize(obj, app): - FlatCAMGerber.merge(self, grb_list=objs, grb_final=obj) + def initialize(grb_obj, app): + FlatCAMGerber.merge(self, grb_list=objs, grb_final=grb_obj) + app.inform.emit('[success] %s.' % _("Gerber merging finished")) self.new_object("gerber", 'Combo_Gerber', initialize) self.should_we_save = True @@ -5324,13 +5366,11 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit('[ERROR_NOTCL] %s' % - _("Failed. Select a Geometry Object and try again.")) + self.inform.emit('[ERROR_NOTCL] %s' % _("Failed. Select a Geometry Object and try again.")) return if not isinstance(obj, FlatCAMGeometry): - self.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Expected a FlatCAMGeometry, got"), type(obj))) + self.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Expected a FlatCAMGeometry, got"), type(obj))) return obj.multigeo = True @@ -5343,8 +5383,7 @@ class App(QtCore.QObject): self.should_we_save = True - self.inform.emit('[success] %s' % - _("A Geometry object was converted to MultiGeo type.")) + self.inform.emit('[success] %s' % _("A Geometry object was converted to MultiGeo type.")) def on_convert_multigeo_to_singlegeo(self): """ @@ -5744,9 +5783,9 @@ class App(QtCore.QObject): def on_toggle_grid_lines(self): self.report_usage("on_toggle_grd_lines()") - settings = QtCore.QSettings("Open Source", "FlatCAM") - if settings.contains("theme"): - theme = settings.value('theme', type=str) + tt_settings = QtCore.QSettings("Open Source", "FlatCAM") + if tt_settings.contains("theme"): + theme = tt_settings.value('theme', type=str) else: theme = 'white' @@ -5794,59 +5833,58 @@ class App(QtCore.QObject): self.tools2_form = self.ui.tools2_defaults_form self.fa_form = self.ui.util_defaults_form - try: self.ui.general_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.general_scroll_area.setWidget(self.gen_form) self.gen_form.show() try: self.ui.gerber_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.gerber_scroll_area.setWidget(self.ger_form) self.ger_form.show() try: self.ui.excellon_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.excellon_scroll_area.setWidget(self.exc_form) self.exc_form.show() try: self.ui.geometry_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.geometry_scroll_area.setWidget(self.geo_form) self.geo_form.show() try: self.ui.cncjob_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.cncjob_scroll_area.setWidget(self.cnc_form) self.cnc_form.show() try: self.ui.tools_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.tools_scroll_area.setWidget(self.tools_form) self.tools_form.show() try: self.ui.tools2_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.tools2_scroll_area.setWidget(self.tools2_form) self.tools2_form.show() try: self.ui.fa_scroll_area.takeWidget() - except: + except Exception: self.log.debug("Nothing to remove") self.ui.fa_scroll_area.setWidget(self.fa_form) self.fa_form.show() @@ -6547,11 +6585,11 @@ class App(QtCore.QObject): else: current_layout = self.ui.general_defaults_form.general_gui_set_group.layout_combo.get_value() - settings = QSettings("Open Source", "FlatCAM") - settings.setValue('layout', current_layout) + lay_settings = QSettings("Open Source", "FlatCAM") + lay_settings.setValue('layout', current_layout) # This will write the setting to the platform specific storage. - del settings + del lay_settings # first remove the toolbars: try: @@ -6565,7 +6603,7 @@ class App(QtCore.QObject): self.ui.removeToolBar(self.ui.grb_edit_toolbar) self.ui.removeToolBar(self.ui.snap_toolbar) self.ui.removeToolBar(self.ui.toolbarshell) - except Exception as e: + except Exception: pass if current_layout == 'standard': @@ -6624,7 +6662,6 @@ class App(QtCore.QObject): self.ui.toolbargeo.setObjectName('Edit_TB') self.ui.addToolBar(Qt.LeftToolBarArea, self.ui.toolbargeo) - self.ui.toolbarshell = QtWidgets.QToolBar('Shell Toolbar') self.ui.toolbarshell.setObjectName('Shell_TB') self.ui.addToolBar(Qt.LeftToolBarArea, self.ui.toolbarshell) @@ -6718,27 +6755,27 @@ class App(QtCore.QObject): # Re-fresh project options self.on_options_app2project() - settings = QSettings("Open Source", "FlatCAM") + settgs = QSettings("Open Source", "FlatCAM") # save the notebook font size fsize = self.ui.general_defaults_form.general_gui_set_group.notebook_font_size_spinner.get_value() - settings.setValue('notebook_font_size', fsize) + settgs.setValue('notebook_font_size', fsize) # save the axis font size g_fsize = self.ui.general_defaults_form.general_gui_set_group.axis_font_size_spinner.get_value() - settings.setValue('axis_font_size', g_fsize) + settgs.setValue('axis_font_size', g_fsize) # save the textbox font size tb_fsize = self.ui.general_defaults_form.general_gui_set_group.textbox_font_size_spinner.get_value() - settings.setValue('textbox_font_size', tb_fsize) + settgs.setValue('textbox_font_size', tb_fsize) - settings.setValue( + settgs.setValue( 'machinist', 1 if self.ui.general_defaults_form.general_app_group.machinist_cb.get_value() else 0 ) # This will write the setting to the platform specific storage. - del settings + del settgs def on_tool_add_keypress(self): # ## Current application units in Upper Case @@ -7031,7 +7068,7 @@ class App(QtCore.QObject): try: dia_box_location = eval(self.clipboard.text()) - except Exception as e: + except Exception: pass if type(dia_box_location) == tuple: @@ -7050,7 +7087,7 @@ class App(QtCore.QObject): if not isinstance(location, tuple): self.inform.emit(_("Wrong coordinates. Enter coordinates in format: X,Y")) return - except: + except Exception: return else: return @@ -7167,8 +7204,8 @@ class App(QtCore.QObject): try: if obj.tools: obj_init.tools = deepcopy(obj.tools) - except Exception as e: - log.debug("on_copy_object2() --> %s" % str(e)) + except Exception as ee: + log.debug("on_copy_object2() --> %s" % str(ee)) def initialize_gerber(obj_init, app): obj_init.solid_geometry = deepcopy(obj.solid_geometry) @@ -7537,6 +7574,7 @@ class App(QtCore.QObject): self.inform.emit('[success] %s' % _("Preferences saved.")) else: self.preferences_changed_flag = False + self.inform.emit('') return if title == _("Tools Database"): @@ -7562,6 +7600,7 @@ class App(QtCore.QObject): self.inform.emit('[success] %s' % "Tools DB saved to file.") else: self.tools_db_changed_flag = False + self.inform.emit('') return self.tools_db_tab.deleteLater() @@ -7611,8 +7650,7 @@ class App(QtCore.QObject): self.inform.emit('[success] %s' % _("Flip on Y axis done.")) except Exception as e: - self.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Flip action was not executed."), str(e))) + self.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed."), str(e))) return def on_flipx(self): @@ -7654,8 +7692,7 @@ class App(QtCore.QObject): self.inform.emit('[success] %s' % _("Flip on X axis done.")) except Exception as e: - self.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Flip action was not executed."), str(e))) + self.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed."), str(e))) return def on_rotate(self, silent=False, preset=None): @@ -7705,8 +7742,7 @@ class App(QtCore.QObject): self.inform.emit('[success] %s' % _("Rotation done.")) except Exception as e: - self.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Rotation movement was not executed."), str(e))) + self.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Rotation movement was not executed."), str(e))) return def on_skewx(self): @@ -7819,7 +7855,7 @@ class App(QtCore.QObject): def on_row_selected(self, obj_name): # this is a special string; when received it will make all entries unchecked # it mean we clicked outside of the items and deselected all - if obj_name =='none': + if obj_name == 'none': for act in self.ui.menuobjects.actions(): act.setChecked(False) return @@ -7884,15 +7920,15 @@ class App(QtCore.QObject): elif obj_named.kind == 'document': doc_list.append(name) - def add_act(name): - obj_for_icon = self.collection.get_by_name(name) + def add_act(o_name): + obj_for_icon = self.collection.get_by_name(o_name) add_action = QtWidgets.QAction(parent=self.ui.menuobjects) add_action.setCheckable(True) - add_action.setText(name) + add_action.setText(o_name) add_action.setIcon(QtGui.QIcon(icon_files[obj_for_icon.kind])) add_action.triggered.connect( - lambda: self.collection.set_active(name) if add_action.isChecked() is True else - self.collection.set_inactive(name)) + lambda: self.collection.set_active(o_name) if add_action.isChecked() is True else + self.collection.set_inactive(o_name)) self.ui.menuobjects.addAction(add_action) for name in gerber_list: @@ -7957,7 +7993,7 @@ class App(QtCore.QObject): pass self.ui.menuobjects.removeAction(act) break - elif state =='delete_all': + elif state == 'delete_all': for act in self.ui.menuobjects.actions(): try: act.triggered.disconnect() @@ -7985,7 +8021,7 @@ class App(QtCore.QObject): for act in self.ui.menuobjects.actions(): try: act.setChecked(True) - except: + except Exception: pass if obj_list: self.inform.emit('[selected] %s' % _("All objects are selected.")) @@ -7994,7 +8030,7 @@ class App(QtCore.QObject): for act in self.ui.menuobjects.actions(): try: act.setChecked(False) - except: + except Exception: pass self.inform.emit('%s' % _("Objects selection is cleared.")) @@ -8281,14 +8317,14 @@ class App(QtCore.QObject): obj.notHovering = False obj.isHovering = False self.delete_hover_shape() - except: + except Exception: # the Exception here will happen if we try to select on screen and we have an # newly (and empty) just created Geometry or Excellon object that do not have the # xmin, xmax, ymin, ymax options. # In this case poly_obj creation (see above) will fail pass - except: + except Exception: self.ui.position_label.setText("") self.ui.rel_position_label.setText("") self.mouse = None @@ -8300,7 +8336,6 @@ class App(QtCore.QObject): :param event: contains information about the event. :return: """ - pos = 0, 0 if self.is_legacy is False: event_pos = event.pos @@ -8424,6 +8459,13 @@ class App(QtCore.QObject): log.debug("App.selection_area_handler() --> %s" % str(e)) def select_objects(self, key=None): + """ + Will select objects clicked on canvas + + :param key: for future use in cumulative selection + :return: + """ + # list where we store the overlapped objects under our mouse left click position objects_under_the_click_list = [] @@ -8700,7 +8742,7 @@ class App(QtCore.QObject): def on_file_new(self, cli=None): """ - Callback for menu item File->New. Returns the application to its + Callback for menu item File -> New. Returns the application to its startup state. This method is thread-safe. :return: None @@ -8775,11 +8817,20 @@ class App(QtCore.QObject): self.set_ui_title(name=_("New Project - Not saved")) def obj_properties(self): - self.report_usage("obj_properties()") + """ + Will launch the object Properties Tool + :return: + """ + self.report_usage("obj_properties()") self.properties_tool.run(toggle=False) def on_project_context_save(self): + """ + Wrapper, will save the object function of it's type + :return: + """ + obj = self.collection.get_active() if type(obj) == FlatCAMGeometry: self.on_file_exportdxf() @@ -8798,10 +8849,11 @@ class App(QtCore.QObject): self.report_usage("obj_move()") self.move_tool.run(toggle=False) - def on_fileopengerber(self, checked=None, name=None): + def on_fileopengerber(self, signal: bool = None, name=None): """ File menu callback for opening a Gerber. + :param signal: required because clicking the entry will generate a checked signal which needs a container :return: None """ @@ -8844,10 +8896,11 @@ class App(QtCore.QObject): if filename != '': self.worker_task.emit({'fcn': self.open_gerber, 'params': [filename]}) - def on_fileopenexcellon(self, checked=None, name=None): + def on_fileopenexcellon(self, signal: bool = None, name=None): """ File menu callback for opening an Excellon file. + :param signal: required because clicking the entry will generate a checked signal which needs a container :return: None """ @@ -8880,10 +8933,11 @@ class App(QtCore.QObject): if filename != '': self.worker_task.emit({'fcn': self.open_excellon, 'params': [filename]}) - def on_fileopengcode(self, checked=None, name=None): + def on_fileopengcode(self, signal: bool = None, name=None): """ File menu call back for opening gcode. + :param signal: required because clicking the entry will generate a checked signal which needs a container :return: None """ @@ -8920,10 +8974,11 @@ class App(QtCore.QObject): if filename != '': self.worker_task.emit({'fcn': self.open_gcode, 'params': [filename, None, True]}) - def on_file_openproject(self, checked=None): + def on_file_openproject(self, signal: bool = None): """ File menu callback for opening a project. + :param signal: required because clicking the entry will generate a checked signal which needs a container :return: None """ @@ -8951,10 +9006,11 @@ class App(QtCore.QObject): # thread safe. The new_project() self.open_project(filename) - def on_file_openconfig(self, checked=None): + def on_file_openconfig(self, signal: bool = None): """ File menu callback for opening a config file. + :param signal: required because clicking the entry will generate a checked signal which needs a container :return: None """ @@ -9488,6 +9544,11 @@ class App(QtCore.QObject): self.ui.plot_tab_area.setCurrentWidget(self.text_editor_tab) def on_view_source(self): + """ + Called when the user wants to see the source file of the selected object + :return: + """ + self.inform.emit('%s' % _("Viewing the source code of the selected object.")) self.proc_container.view.set_busy(_("Loading...")) @@ -9495,13 +9556,11 @@ class App(QtCore.QObject): obj = self.collection.get_active() except Exception as e: log.debug("App.on_view_source() --> %s" % str(e)) - self.inform.emit('[WARNING_NOTCL] %s' % - _("Select an Gerber or Excellon file to view it's source file.")) + self.inform.emit('[WARNING_NOTCL] %s' % _("Select an Gerber or Excellon file to view it's source file.")) return 'fail' if obj is None: - self.inform.emit('[WARNING_NOTCL] %s' % - _("Select an Gerber or Excellon file to view it's source file.")) + self.inform.emit('[WARNING_NOTCL] %s' % _("Select an Gerber or Excellon file to view it's source file.")) return 'fail' flt = "All Files (*.*)" @@ -9573,8 +9632,7 @@ class App(QtCore.QObject): self.source_editor_tab.code_editor.append(proc_line) except Exception as e: log.debug('App.on_view_source() -->%s' % str(e)) - self.inform.emit('[ERROR] %s: %s' % - (_('Failed to load the source code for the selected object'), str(e))) + self.inform.emit('[ERROR] %s: %s' % (_('Failed to load the source code for the selected object'), str(e))) return self.source_editor_tab.handleTextChanged() @@ -9608,7 +9666,10 @@ class App(QtCore.QObject): def on_filenewscript(self, silent=False, name=None, text=None): """ Will create a new script file and open it in the Code Editor + :param silent: if True will not display status messages + :param name: if specified will be the name of the new script + :param text: pass a source file to the newly created script to be loaded in it :return: None """ if silent is False: @@ -9655,7 +9716,6 @@ class App(QtCore.QObject): except TypeError: filenames, _f = QtWidgets.QFileDialog.getOpenFileNames(caption=_("Open TCL script"), filter=_filter_) - if len(filenames) == 0: if silent is False: self.inform.emit('[WARNING_NOTCL] %s' % _("Open TCL script cancelled.")) @@ -9823,7 +9883,7 @@ class App(QtCore.QObject): try: obj = self.collection.get_by_name(str(obj_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % obj_name @@ -9906,13 +9966,13 @@ class App(QtCore.QObject): try: obj = self.collection.get_by_name(str(obj_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % obj_name try: box = self.collection.get_by_name(str(box_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % box_name @@ -10006,7 +10066,7 @@ class App(QtCore.QObject): def job_thread_film(app_obj): try: make_negative_film() - except Exception as e: + except Exception: proc.done() return proc.done() @@ -10048,13 +10108,13 @@ class App(QtCore.QObject): try: obj = self.collection.get_by_name(str(obj_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % obj_name try: box = self.collection.get_by_name(str(box_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % box_name @@ -10149,7 +10209,7 @@ class App(QtCore.QObject): def job_thread_film(app_obj): try: make_positive_film() - except Exception as e: + except Exception: proc.done() return proc.done() @@ -10201,6 +10261,7 @@ class App(QtCore.QObject): :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 local_use: :param use_thread: if to be run in a separate thread :return: """ @@ -10218,7 +10279,7 @@ class App(QtCore.QObject): if local_use is None: try: obj = self.collection.get_by_name(str(obj_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % obj_name else: @@ -10365,7 +10426,7 @@ class App(QtCore.QObject): if local_use is None: try: obj = self.collection.get_by_name(str(obj_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % obj_name else: @@ -10498,22 +10559,12 @@ class App(QtCore.QObject): self.log.debug("export_dxf()") - format_exc = '' - units = '' - try: obj = self.collection.get_by_name(str(obj_name)) - except: + except Exception: # TODO: The return behavior has not been established... should raise exception? return "Could not retrieve object: %s" % obj_name - # updated units - units = self.ui.general_defaults_form.general_app_group.units_radio.get_value().upper() - if units == 'IN' or units == 'INCH': - units = 'INCH' - elif units == 'MM' or units == 'METIRC': - units ='METRIC' - def make_dxf(): try: dxf_code = obj.export_dxf() @@ -10521,9 +10572,8 @@ class App(QtCore.QObject): if self.defaults["global_open_style"] is False: self.file_opened.emit("DXF", filename) self.file_saved.emit("DXF", filename) - self.inform.emit('[success] %s: %s' % - (_("DXF file exported to"), filename)) - except: + self.inform.emit('[success] %s: %s' % (_("DXF file exported to"), filename)) + except Exception: return 'fail' if use_thread is True: @@ -10531,18 +10581,16 @@ class App(QtCore.QObject): with self.proc_container.new(_("Exporting DXF")) as proc: def job_thread_exc(app_obj): - ret = make_dxf() - if ret == 'fail': - app_obj.inform.emit('[WARNING_NOTCL] %s' % - _('Could not export DXF file.')) + ret_dxf_val = make_dxf() + if ret_dxf_val == 'fail': + app_obj.inform.emit('[WARNING_NOTCL] %s' % _('Could not export DXF file.')) return self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]}) else: ret = make_dxf() if ret == 'fail': - self.inform.emit('[WARNING_NOTCL] %s' % - _('Could not export DXF file.')) + self.inform.emit('[WARNING_NOTCL] %s' % _('Could not export DXF file.')) return def import_svg(self, filename, geo_type='geometry', outname=None): @@ -10556,6 +10604,7 @@ class App(QtCore.QObject): :return: """ self.report_usage("import_svg()") + log.debug("App.import_svg()") obj_type = "" if geo_type is None or geo_type == "geometry": @@ -10580,14 +10629,12 @@ class App(QtCore.QObject): name = outname or filename.split('/')[-1].split('\\')[-1] self.new_object(obj_type, name, obj_init, autoselected=False) - self.progress.emit(20) + # Register recent file self.file_opened.emit("svg", filename) # GUI feedback - self.inform.emit('[success] %s: %s' % - (_("Opened"), filename)) - self.progress.emit(100) + self.inform.emit('[success] %s: %s' % (_("Opened"), filename)) def import_dxf(self, filename, geo_type='geometry', outname=None): """ @@ -10686,9 +10733,6 @@ class App(QtCore.QObject): name to be that of the file. :param filename: Gerber file filename :type filename: str - :param follow: If true, the parser will not create polygons, just lines - following the gerber path. - :type follow: bool :return: None """ @@ -10788,7 +10832,7 @@ class App(QtCore.QObject): log.debug("Could not open Excellon object.") self.progress.emit(0) # TODO: self and app_bjj mixed return "fail" - except: + except Exception: msg = '[ERROR_NOTCL] %s' % \ _("An internal error has occurred. See shell.\n") msg += traceback.format_exc() @@ -10857,8 +10901,8 @@ class App(QtCore.QObject): job_obj.gcode = gcode - ret = job_obj.gcode_parse(force_parsing=force_parsing) - if ret == "fail": + gcode_ret = job_obj.gcode_parse(force_parsing=force_parsing) + if gcode_ret == "fail": self.inform.emit('[ERROR_NOTCL] %s' % _("This is not GCODE")) return "fail" @@ -10871,8 +10915,8 @@ class App(QtCore.QObject): name = outname or filename.split('/')[-1].split('\\')[-1] # New object creation and file processing - ret = self.new_object("cncjob", name, obj_init, autoselected=False, plot=plot) - if ret == 'fail': + obj_ret = self.new_object("cncjob", name, obj_init, autoselected=False, plot=plot) + if obj_ret == 'fail': self.inform.emit('[ERROR_NOTCL] %s' % _("Failed to create CNCJob Object. Probable not a GCode file. " "Try to load it from File menu.\n " @@ -11421,12 +11465,12 @@ class App(QtCore.QObject): self.ui.recent.clear() self.recent = [] try: - f = open(self.data_path + '/recent.json', 'w') + ff = open(self.data_path + '/recent.json', 'w') except IOError: App.log.error("Failed to open recent items file for writing.") return - json.dump(self.recent, f) + json.dump(self.recent, ff) def reset_recent_projects(): # Reset menu @@ -11657,7 +11701,7 @@ class App(QtCore.QObject): # ## Get the data try: f = urllib.request.urlopen(full_url) - except: + except Exception: # App.log.warning("Failed checking for latest version. Could not connect.") self.log.warning("Failed checking for latest version. Could not connect.") self.inform.emit('[WARNING_NOTCL] %s' % @@ -11802,6 +11846,7 @@ class App(QtCore.QObject): def enable_plots(self, objects): """ Disables plots + :param objects: list of Objects to be enabled :return: """ @@ -11814,9 +11859,9 @@ class App(QtCore.QObject): obj.options['plot'] = True obj.options.set_change_callback(obj.on_options_change) - def worker_task(objects): + def worker_task(objs): with self.proc_container.new(_("Enabling plots ...")): - for obj in objects: + for obj in objs: # obj.options['plot'] = True if isinstance(obj, FlatCAMCNCjob): obj.plot(visible=True, kind=self.defaults["cncjob_plot_kind"]) @@ -11830,6 +11875,7 @@ class App(QtCore.QObject): def disable_plots(self, objects): """ Disables plots + :param objects: list of Objects to be disabled :return: """ @@ -11853,9 +11899,9 @@ class App(QtCore.QObject): log.debug("App.disable_plots() --> %s" % str(e)) # self.plots_updated.emit() - def worker_task(objects): + def worker_task(objs): with self.proc_container.new(_("Disabling plots ...")): - for obj in objects: + for obj in objs: # obj.options['plot'] = True if isinstance(obj, FlatCAMCNCjob): obj.plot(visible=False, kind=self.defaults["cncjob_plot_kind"]) @@ -11961,7 +12007,7 @@ class App(QtCore.QObject): try: saved_d = json.load(saved_f, object_hook=dict2obj) - except: + except Exception: if silent is False: self.inform.emit('[ERROR_NOTCL] %s: %s %s' % (_("Failed to parse saved project file"), filename, _("Retry to save it.")) @@ -11979,12 +12025,12 @@ class App(QtCore.QObject): (_("Failed to parse saved project file"), filename, _("Retry to save it.")) ) - settings = QSettings("Open Source", "FlatCAM") + tb_settings = QSettings("Open Source", "FlatCAM") lock_state = self.ui.lock_action.isChecked() - settings.setValue('toolbar_lock', lock_state) + tb_settings.setValue('toolbar_lock', lock_state) # This will write the setting to the platform specific storage. - del settings + del tb_settings # if quit: # t = threading.Thread(target=lambda: self.check_project_file_size(1, filename=filename)) @@ -12019,16 +12065,13 @@ class App(QtCore.QObject): self.save_timer.stop() if should_quit: self.app_quit.emit() - except Exception as e: + except Exception: traceback.print_exc() def on_plotarea_tab_closed(self, tab_idx): widget = self.ui.plot_tab_area.widget(tab_idx) if widget is not None: - print(widget.objectName()) - if widget.objectName() == 'text_editor_tab': - print("aha") widget.deleteLater() self.ui.plot_tab_area.removeTab(tab_idx) @@ -12066,7 +12109,7 @@ class ArgsThread(QtCore.QObject): while True: conn = listener.accept() self.serve(conn) - except socket.error as e: + except socket.error: conn = Client(*address) conn.send(sys.argv) conn.send('close') diff --git a/FlatCAMCommon.py b/FlatCAMCommon.py index 87c55c04..8113a67d 100644 --- a/FlatCAMCommon.py +++ b/FlatCAMCommon.py @@ -382,7 +382,7 @@ class BookmarkManager(QtWidgets.QWidget): self.app.log.debug('Creating a new bookmarks file ...') f = open(filename, 'w') f.close() - except: + except Exception: e = sys.exc_info()[0] self.app.log.error("Could not load defaults file.") self.app.log.error(str(e)) @@ -395,7 +395,7 @@ class BookmarkManager(QtWidgets.QWidget): for title, link in self.bm_dict.items(): line2write = str(title) + ':' + str(link) + '\n' f.write(line2write) - except: + except Exception: self.app.inform.emit('[ERROR_NOTCL] %s' % _("Failed to write bookmarks to file.")) return self.app.inform.emit('[success] %s: %s' % (_("Exported bookmarks to"), filename)) @@ -647,8 +647,8 @@ class ToolsDB(QtWidgets.QWidget): new_vlay = QtWidgets.QVBoxLayout() layout.addLayout(new_vlay) - new_tool_lbl = QtWidgets.QLabel('%s' % _("New Tool")) - new_vlay.addWidget(new_tool_lbl, alignment=QtCore.Qt.AlignBottom) + # new_tool_lbl = QtWidgets.QLabel('%s' % _("New Tool")) + # new_vlay.addWidget(new_tool_lbl, alignment=QtCore.Qt.AlignBottom) self.buttons_frame = QtWidgets.QFrame() self.buttons_frame.setContentsMargins(0, 0, 0, 0) @@ -700,8 +700,8 @@ class ToolsDB(QtWidgets.QWidget): # ######################## SIGNALS ############################################# # ############################################################################## - add_entry_btn.clicked.connect(self.on_add_entry) - remove_entry_btn.clicked.connect(self.on_remove_entry) + add_entry_btn.clicked.connect(self.on_tool_add) + remove_entry_btn.clicked.connect(self.on_tool_delete) export_db_btn.clicked.connect(self.on_export_tools_db_file) import_db_btn.clicked.connect(self.on_import_tools_db_file) # closebtn.clicked.connect(self.accept) @@ -724,7 +724,7 @@ class ToolsDB(QtWidgets.QWidget): try: self.db_tool_dict = json.loads(tools) - except: + except Exception: e = sys.exc_info()[0] self.app.log.error(str(e)) self.app.inform.emit('[ERROR] %s' % _("Failed to parse Tools DB file.")) @@ -734,6 +734,14 @@ class ToolsDB(QtWidgets.QWidget): self.build_db_ui() + self.table_widget.setupContextMenu() + self.table_widget.addContextMenu( + _("Add to DB"), self.on_tool_add, icon=QtGui.QIcon("share/plus16.png")) + self.table_widget.addContextMenu( + _("Copy from DB"), self.on_tool_copy, icon=QtGui.QIcon("share/copy16.png")) + self.table_widget.addContextMenu( + _("Delete from DB"), self.on_tool_delete, icon=QtGui.QIcon("share/delete32.png")) + def build_db_ui(self): self.ui_disconnect() self.table_widget.setRowCount(len(self.db_tool_dict)) @@ -772,7 +780,8 @@ class ToolsDB(QtWidgets.QWidget): nr_crt = row + 1 id_item = QtWidgets.QTableWidgetItem('%d' % int(nr_crt)) - id_item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) + # id_item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) + id_item.setFlags(id_item.flags() & ~QtCore.Qt.ItemIsEditable) widget.setItem(row, 0, id_item) # Tool name/id tool_name_item = QtWidgets.QTableWidgetItem(name) @@ -930,7 +939,7 @@ class ToolsDB(QtWidgets.QWidget): endz_item.set_value(float(data['endz'])) widget.setCellWidget(row, 25, endz_item) - def on_add_entry(self): + def on_tool_add(self): """ Add a tool in the DB Tool Table :return: None @@ -977,21 +986,39 @@ class ToolsDB(QtWidgets.QWidget): } ) - self.app.inform.emit(f'[success] {_("Tool added to DB.")}') - # add the new entry to the Tools DB table self.build_db_ui() self.callback_on_edited() + self.app.inform.emit(f'[success] {_("Tool added to DB.")}') - def on_remove_entry(self): + def on_tool_copy(self): """ - Remove a Tool in the Tools DB table + Copy a selection of Tools in the Tools DB table :return: """ - index_list = [] + new_tool_id = self.table_widget.rowCount() + 1 for model_index in self.table_widget.selectionModel().selectedRows(): - index = QtCore.QPersistentModelIndex(model_index) - index_list.append(index) + # index = QtCore.QPersistentModelIndex(model_index) + old_tool_id = self.table_widget.item(model_index.row(), 0).text() + new_tool_id += 1 + + for toolid, dict_val in list(self.db_tool_dict.items()): + if int(old_tool_id) == int(toolid): + self.db_tool_dict.update({ + new_tool_id: deepcopy(dict_val) + }) + + self.build_db_ui() + self.callback_on_edited() + self.app.inform.emit(f'[success] {_("Tool copied from Tools DB.")}') + + def on_tool_delete(self): + """ + Delete a selection of Tools in the Tools DB table + :return: + """ + for model_index in self.table_widget.selectionModel().selectedRows(): + # index = QtCore.QPersistentModelIndex(model_index) toolname_to_remove = self.table_widget.item(model_index.row(), 0).text() for toolid, dict_val in list(self.db_tool_dict.items()): @@ -999,10 +1026,9 @@ class ToolsDB(QtWidgets.QWidget): # remove from the storage self.db_tool_dict.pop(toolid, None) - self.app.inform.emit(f'[success] {_("Tool removed from Tools DB.")}') - self.build_db_ui() self.callback_on_edited() + self.app.inform.emit(f'[success] {_("Tool removed from Tools DB.")}') def on_export_tools_db_file(self): self.app.report_usage("on_export_tools_db_file") @@ -1038,7 +1064,7 @@ class ToolsDB(QtWidgets.QWidget): self.app.log.debug('Creating a new Tools DB file ...') f = open(filename, 'w') f.close() - except: + except Exception: e = sys.exc_info()[0] self.app.log.error("Could not load Tools DB file.") self.app.log.error(str(e)) @@ -1055,7 +1081,7 @@ class ToolsDB(QtWidgets.QWidget): self.app.log.debug("App.on_save_tools_db() --> %s" % str(e)) self.inform.emit(f'[ERROR_NOTCL] {_("Failed to write Tools DB to file.")}') return - except: + except Exception: self.app.inform.emit('[ERROR_NOTCL] %s' % _("Failed to write Tools DB to file.")) return @@ -1081,7 +1107,7 @@ class ToolsDB(QtWidgets.QWidget): try: self.db_tool_dict = json.loads(tools_in_db) - except: + except Exception: e = sys.exc_info()[0] self.app.log.error(str(e)) self.app.inform.emit('[ERROR] %s' % _("Failed to parse Tools DB file.")) @@ -1112,7 +1138,7 @@ class ToolsDB(QtWidgets.QWidget): return if not silent: - self.app.inform.emit('[success] %s: %s' % (_("Exported Tools DB to"), filename)) + self.app.inform.emit('[success] %s' % _("Saved Tools DB.")) def ui_connect(self): try: @@ -1206,7 +1232,6 @@ class ToolsDB(QtWidgets.QWidget): elif column_header_text == 'Tool Shape': dict_elem['tool_type'] = self.table_widget.cellWidget(row, col).get_value() else: - if column_header_text == 'Cut Z': default_data['cutz'] = self.table_widget.cellWidget(row, col).get_value() elif column_header_text == 'MultiDepth': @@ -1261,19 +1286,15 @@ class ToolsDB(QtWidgets.QWidget): if not self.table_widget.selectionModel().selectedRows(): self.app.inform.emit('[WARNING_NOTCL] %s...' % _("No Tool/row selected in the Tools Database table")) return - elif len(self.table_widget.selectionModel().selectedRows()) > 1: - self.app.inform.emit('[WARNING_NOTCL] %s...' % - _("Only one tool can be selected in the Tools Database table")) - return - # only one model in list since the conditions above assure this - model_index = self.table_widget.selectionModel().selectedRows()[0] - selected_row = model_index.row() - tool_uid = selected_row + 1 - for key in self.db_tool_dict.keys(): - if str(key) == str(tool_uid): - selected_tool = self.db_tool_dict[key] - self.on_tool_request(tool=selected_tool) + model_index_list = self.table_widget.selectionModel().selectedRows() + for model_index in model_index_list: + selected_row = model_index.row() + tool_uid = selected_row + 1 + for key in self.db_tool_dict.keys(): + if str(key) == str(tool_uid): + selected_tool = self.db_tool_dict[key] + self.on_tool_request(tool=selected_tool) def resize_new_tool_table_widget(self, min_size, max_size): """ diff --git a/FlatCAMObj.py b/FlatCAMObj.py index a7b1fa8a..03ab1921 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -3986,6 +3986,12 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): and display the Tools Database tab in the form needed for the Tool adding :return: None """ + + # if the Tools Database is already opened focus on it + for idx in range(self.app.ui.plot_tab_area.count()): + if self.app.ui.plot_tab_area.tabText(idx) == _("Tools Database"): + self.app.ui.plot_tab_area.setCurrentWidget(self.app.tools_db_tab) + break self.app.on_tools_database() self.app.tools_db_tab.buttons_frame.hide() self.app.tools_db_tab.add_tool_from_db.show() diff --git a/README.md b/README.md index f683c7fc..f66b0b83 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,15 @@ CAD program, and create G-Code for Isolation routing. ================================================= +11.11.2019 + +- in Tools Database added a contextual menu to add/copy/delete tool; CTRL+C, DEL keys work too; key T for adding a tool is now only partially working +- in Tools Database made the status bar messages show when adding/copying/deleting tools in DB +- changed all Except statements that were single to except Exception as recommended in some PEP +- renamed the Copper Fill Tool to Copper Thieving Tool as this is a more appropriate name; started to add ability for more types of copper thieving besides solid +- fixed some issues recently introduced in ParseSVG +- updated POT file + 9.11.2019 - fixed a new bug that did not allow to open the FlatCAM Preferences files by doubleclick in Windows @@ -18,7 +27,7 @@ CAD program, and create G-Code for Isolation routing. 8.11.2019 -- updated the make file for freezed executable +- updated the make file for frozen executable 7.11.2019 @@ -117,7 +126,7 @@ CAD program, and create G-Code for Isolation routing. - working on the Calibrate Excellon Tool - finished the GUI layout for the Calibrate Excellon Tool - start working on QRCode Tool - not working yet -- start working on QRCode Tool - searching for alternativess +- start working on QRCode Tool - searching for alternatives 21.10.2019 diff --git a/camlib.py b/camlib.py index 75217825..164f0a98 100644 --- a/camlib.py +++ b/camlib.py @@ -1014,6 +1014,8 @@ class Geometry(object): :return: None """ + log.debug("camlib.Geometry.import_svg()") + # Parse into list of shapely objects svg_tree = ET.parse(filename) svg_root = svg_tree.getroot() @@ -1022,8 +1024,8 @@ class Geometry(object): # h = float(svg_root.get('height')) # w = float(svg_root.get('width')) h = svgparselength(svg_root.get('height'))[0] # TODO: No units support yet - geos = getsvggeo(svg_root, object_type) + geos = getsvggeo(svg_root, object_type) if flip: geos = [translate(scale(g, 1.0, -1.0, origin=(0, 0)), yoff=h) for g in geos] @@ -1134,12 +1136,12 @@ class Geometry(object): try: green = src.read(2) - except Exception as e: + except Exception: pass try: blue = src.read(3) - except Exception as e: + except Exception: pass if mode == 'black': @@ -2289,7 +2291,7 @@ class CNCjob(Geometry): try: returnvalue = fun(attributes) return returnvalue - except Exception as e: + except Exception: self.app.log.error('Exception occurred within a postprocessor: ' + traceback.format_exc()) return '' @@ -5192,7 +5194,7 @@ def get_bounds(geometry_list): ymin = min([ymin, gymin]) xmax = max([xmax, gxmax]) ymax = max([ymax, gymax]) - except: + except Exception: log.warning("DEVELOPMENT: Tried to get bounds of empty geometry.") return [xmin, ymin, xmax, ymax] diff --git a/flatcamEditors/FlatCAMExcEditor.py b/flatcamEditors/FlatCAMExcEditor.py index a900b314..99a76115 100644 --- a/flatcamEditors/FlatCAMExcEditor.py +++ b/flatcamEditors/FlatCAMExcEditor.py @@ -63,7 +63,7 @@ class FCDrillAdd(FCShapeTool): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero_drill.png')) QtGui.QGuiApplication.setOverrideCursor(self.cursor) @@ -105,7 +105,7 @@ class FCDrillAdd(FCShapeTool): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass # add the point to drills if the diameter is a key in the dict, if not, create it add the drill location @@ -888,7 +888,7 @@ class FCDrillResize(FCShapeTool): try: new_dia = self.draw_app.resdrill_entry.get_value() - except: + except Exception: self.draw_app.app.inform.emit('[ERROR_NOTCL] %s' % _("Resize drill(s) failed. Please enter a diameter for resize.")) return @@ -3241,7 +3241,7 @@ class FlatCAMExcEditor(QtCore.QObject): self.app.inform.emit('[ERROR_NOTCL] %s' % _("There are no Tools definitions in the file. Aborting Excellon creation.") ) - except: + except Exception: msg = '[ERROR] %s' % \ _("An internal error has ocurred. See Shell.\n") msg += traceback.format_exc() diff --git a/flatcamEditors/FlatCAMGeoEditor.py b/flatcamEditors/FlatCAMGeoEditor.py index 087f3a19..7706a275 100644 --- a/flatcamEditors/FlatCAMGeoEditor.py +++ b/flatcamEditors/FlatCAMGeoEditor.py @@ -1297,8 +1297,7 @@ class TransformEditorTool(FlatCAMTool): self.app.progress.emit(100) except Exception as e: - self.app.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Rotation action was not executed"), str(e))) + self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Rotation action was not executed"), str(e))) return def on_flip(self, axis): @@ -1358,8 +1357,7 @@ class TransformEditorTool(FlatCAMTool): self.app.progress.emit(100) except Exception as e: - self.app.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Flip action was not executed"), str(e))) + self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Flip action was not executed"), str(e))) return def on_skew(self, axis, num): @@ -1405,8 +1403,7 @@ class TransformEditorTool(FlatCAMTool): self.app.progress.emit(100) except Exception as e: - self.app.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Skew action was not executed"), str(e))) + self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Skew action was not executed"), str(e))) return def on_scale(self, axis, xfactor, yfactor, point=None): @@ -1462,8 +1459,7 @@ class TransformEditorTool(FlatCAMTool): _('Scale on the Y axis done')) self.app.progress.emit(100) except Exception as e: - self.app.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Scale action was not executed"), str(e))) + self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Scale action was not executed"), str(e))) return def on_offset(self, axis, num): @@ -1496,8 +1492,7 @@ class TransformEditorTool(FlatCAMTool): self.app.progress.emit(100) except Exception as e: - self.app.inform.emit('[ERROR_NOTCL] %s: %s' % - (_("Offset action was not executed"), str(e))) + self.app.inform.emit('[ERROR_NOTCL] %s: %s' % (_("Offset action was not executed"), str(e))) return def on_rotate_key(self): @@ -1815,7 +1810,7 @@ class DrawToolShape(object): try: xfactor = float(xfactor) - except: + except Exception: log.debug("DrawToolShape.offset() --> Scale factor has to be a number: integer or float.") return @@ -1824,7 +1819,7 @@ class DrawToolShape(object): else: try: yfactor = float(yfactor) - except: + except Exception: log.debug("DrawToolShape.offset() --> Scale factor has to be a number: integer or float.") return @@ -1946,7 +1941,7 @@ class FCCircle(FCShapeTool): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero_circle_geo.png')) QtGui.QGuiApplication.setOverrideCursor(self.cursor) @@ -1979,7 +1974,7 @@ class FCCircle(FCShapeTool): def make(self): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass p1 = self.points[0] @@ -1998,7 +1993,7 @@ class FCArc(FCShapeTool): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero_arc.png')) QtGui.QGuiApplication.setOverrideCursor(self.cursor) @@ -2217,7 +2212,7 @@ class FCRectangle(FCShapeTool): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero.png')) QtGui.QGuiApplication.setOverrideCursor(self.cursor) @@ -2248,7 +2243,7 @@ class FCRectangle(FCShapeTool): def make(self): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass p1 = self.points[0] @@ -2271,7 +2266,7 @@ class FCPolygon(FCShapeTool): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero.png')) QtGui.QGuiApplication.setOverrideCursor(self.cursor) @@ -2304,7 +2299,7 @@ class FCPolygon(FCShapeTool): def make(self): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass # self.geometry = LinearRing(self.points) @@ -2334,7 +2329,7 @@ class FCPath(FCPolygon): try: QtGui.QGuiApplication.restoreOverrideCursor() - except Exception as e: + except Exception: pass self.cursor = QtGui.QCursor(QtGui.QPixmap('share/aero_path5.png')) QtGui.QGuiApplication.setOverrideCursor(self.cursor) @@ -2748,7 +2743,7 @@ class FCText(FCShapeTool): try: return DrawToolUtilityShape(affinity.translate(self.text_gui.text_path, xoff=dx, yoff=dy)) - except: + except Exception: return diff --git a/flatcamGUI/FlatCAMGUI.py b/flatcamGUI/FlatCAMGUI.py index 29d5129b..f477c983 100644 --- a/flatcamGUI/FlatCAMGUI.py +++ b/flatcamGUI/FlatCAMGUI.py @@ -748,7 +748,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.calculators_btn = self.toolbartools.addAction(QtGui.QIcon('share/calculator24.png'), _("Calculators Tool")) self.transform_btn = self.toolbartools.addAction(QtGui.QIcon('share/transform.png'), _("Transform Tool")) self.qrcode_btn = self.toolbartools.addAction(QtGui.QIcon('share/qrcode32.png'), _("QRCode Tool")) - self.copperfill_btn = self.toolbartools.addAction(QtGui.QIcon('share/copperfill32.png'), _("Copper Fill Tool")) + self.copperfill_btn = self.toolbartools.addAction(QtGui.QIcon('share/copperfill32.png'), + _("Copper Thieving Tool")) # ######################################################################## # ########################## Excellon Editor Toolbar# #################### @@ -2173,7 +2174,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow): _("Calculators Tool")) self.transform_btn = self.toolbartools.addAction(QtGui.QIcon('share/transform.png'), _("Transform Tool")) self.qrcode_btn = self.toolbartools.addAction(QtGui.QIcon('share/qrcode32.png'), _("QRCode Tool")) - self.copperfill_btn = self.toolbartools.addAction(QtGui.QIcon('share/copperfill32.png'), _("Copper Fill Tool")) + self.copperfill_btn = self.toolbartools.addAction(QtGui.QIcon('share/copperfill32.png'), + _("Copper Thieving Tool")) # ## Excellon Editor Toolbar # ## self.select_drill_btn = self.exc_edit_toolbar.addAction(QtGui.QIcon('share/pointer32.png'), _("Select")) @@ -2378,6 +2380,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow): # Copy an FlatCAM object if key == QtCore.Qt.Key_C: + widget_name = self.plot_tab_area.currentWidget().objectName() + if widget_name == 'database_tab': + # Tools DB saved, update flag + self.app.tools_db_changed_flag = True + self.app.tools_db_tab.on_tool_copy() + return + self.app.on_copy_object() # Copy an FlatCAM object @@ -2504,7 +2513,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.app.cal_exc_tool.run(toggle=True) return - # Copper Fill Tool + # Copper Thieving Tool if key == QtCore.Qt.Key_F: self.app.copperfill_tool.run(toggle=True) return @@ -2611,6 +2620,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow): # It's meant to make a difference between delete objects and delete tools in # Geometry Selected tool table if key == QtCore.Qt.Key_Delete and matplotlib_key_flag is False: + widget_name = self.plot_tab_area.currentWidget().objectName() + if widget_name == 'database_tab': + # Tools DB saved, update flag + self.app.tools_db_changed_flag = True + self.app.tools_db_tab.on_tool_delete() + return + self.app.on_delete_keypress() # Delete from canvas @@ -2703,6 +2719,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow): # Add a Tool from shortcut if key == QtCore.Qt.Key_T: + widget_name = self.plot_tab_area.currentWidget().objectName() + if widget_name == 'database_tab': + # Tools DB saved, update flag + self.app.tools_db_changed_flag = True + self.app.tools_db_tab.on_tool_add() + return + self.app.on_tool_add_keypress() # Zoom Fit @@ -3509,7 +3532,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow): # Jump to coords if key == QtCore.Qt.Key_J: self.app.on_jump_to() - elif self.app.call_source == 'copperfill_tool': + elif self.app.call_source == 'copper_thieving_tool': if modifiers == QtCore.Qt.ControlModifier | QtCore.Qt.AltModifier: if key == QtCore.Qt.Key_X: self.app.abort_all_tasks() diff --git a/flatcamGUI/GUIElements.py b/flatcamGUI/GUIElements.py index 7e053168..fba3420d 100644 --- a/flatcamGUI/GUIElements.py +++ b/flatcamGUI/GUIElements.py @@ -199,7 +199,7 @@ class LengthEntry(QtWidgets.QLineEdit): except KeyError: value = raw return float(eval(value)) - except: + except Exception: log.warning("Could not parse value in entry: %s" % str(raw)) return None diff --git a/flatcamGUI/PlotCanvas.py b/flatcamGUI/PlotCanvas.py index 6f564188..9ef813b5 100644 --- a/flatcamGUI/PlotCanvas.py +++ b/flatcamGUI/PlotCanvas.py @@ -161,7 +161,7 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): self.r_line.parent = None self.t_line.parent = None self.l_line.parent = None - except Exception as e: + except Exception: pass # redraw the workspace lines on the plot by readding them to the parent view.scene @@ -171,7 +171,7 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): self.r_line.parent = self.view.scene self.t_line.parent = self.view.scene self.l_line.parent = self.view.scene - except Exception as e: + except Exception: pass def graph_event_connect(self, event_name, callback): diff --git a/flatcamGUI/PreferencesUI.py b/flatcamGUI/PreferencesUI.py index 0faeae7a..aa56f137 100644 --- a/flatcamGUI/PreferencesUI.py +++ b/flatcamGUI/PreferencesUI.py @@ -5568,10 +5568,10 @@ class Tools2QRCodePrefGroupUI(OptionsGroupUI): self.error_label = QtWidgets.QLabel('%s:' % _("Error correction")) self.error_label.setToolTip( _("Parameter that controls the error correction used for the QR Code.\n" - "L = maximum 7% errors can be corrected\n" - "M = maximum 15% errors can be corrected\n" - "Q = maximum 25% errors can be corrected\n" - "H = maximum 30% errors can be corrected.") + "L = maximum 7%% errors can be corrected\n" + "M = maximum 15%% errors can be corrected\n" + "Q = maximum 25%% errors can be corrected\n" + "H = maximum 30%% errors can be corrected.") ) self.error_radio = RadioSet([{'label': 'L', 'value': 'L'}, {'label': 'M', 'value': 'M'}, @@ -5579,10 +5579,10 @@ class Tools2QRCodePrefGroupUI(OptionsGroupUI): {'label': 'H', 'value': 'H'}]) self.error_radio.setToolTip( _("Parameter that controls the error correction used for the QR Code.\n" - "L = maximum 7% errors can be corrected\n" - "M = maximum 15% errors can be corrected\n" - "Q = maximum 25% errors can be corrected\n" - "H = maximum 30% errors can be corrected.") + "L = maximum 7%% errors can be corrected\n" + "M = maximum 15%% errors can be corrected\n" + "Q = maximum 25%% errors can be corrected\n" + "H = maximum 30%% errors can be corrected.") ) grid_lay.addWidget(self.error_label, 2, 0) grid_lay.addWidget(self.error_radio, 2, 1) @@ -5722,7 +5722,7 @@ class Tools2CFillPrefGroupUI(OptionsGroupUI): super(Tools2CFillPrefGroupUI, self).__init__(self) - self.setTitle(str(_("Copper Fill Tool Options"))) + self.setTitle(str(_("Copper Thieving Tool Options"))) self.decimals = 4 # ## Grid Layout @@ -5734,7 +5734,7 @@ class Tools2CFillPrefGroupUI(OptionsGroupUI): # ## Parameters self.cflabel = QtWidgets.QLabel('%s' % _('Parameters')) self.cflabel.setToolTip( - _("A tool to generate a Copper fill that can be added\n" + _("A tool to generate a Copper Thieving that can be added\n" "to a selected Gerber file.") ) grid_lay.addWidget(self.cflabel, 0, 0, 1, 2) @@ -5754,7 +5754,7 @@ class Tools2CFillPrefGroupUI(OptionsGroupUI): # CLEARANCE # self.clearance_label = QtWidgets.QLabel('%s:' % _("Clearance")) self.clearance_label.setToolTip( - _("This set the distance between the copper fill components\n" + _("This set the distance between the copper Thieving components\n" "(the polygon fill may be split in multiple polygons)\n" "and the copper traces in the Gerber file.") ) @@ -5787,9 +5787,9 @@ class Tools2CFillPrefGroupUI(OptionsGroupUI): ], orientation='vertical', stretch=False) self.reference_label = QtWidgets.QLabel(_("Reference:")) self.reference_label.setToolTip( - _("- 'Itself' - the copper fill extent is based on the object that is copper cleared.\n " + _("- 'Itself' - the copper Thieving extent is based on the object that is copper cleared.\n " "- 'Area Selection' - left mouse click to start selection of the area to be filled.\n" - "- 'Reference Object' - will do copper filling within the area specified by another object.") + "- 'Reference Object' - will do copper thieving within the area specified by another object.") ) grid_lay.addWidget(self.reference_label, 4, 0) grid_lay.addWidget(self.reference_radio, 4, 1) @@ -5807,6 +5807,29 @@ class Tools2CFillPrefGroupUI(OptionsGroupUI): grid_lay.addWidget(self.bbox_type_label, 5, 0) grid_lay.addWidget(self.bbox_type_radio, 5, 1) + + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) + grid_lay.addWidget(separator_line, 6, 0, 1, 2) + + # Fill Type + self.fill_type_radio = RadioSet([ + {'label': _('Solid'), 'value': 'solid'}, + {"label": _("Dots Grid"), "value": "dot"}, + {"label": _("Squares Grid"), "value": "square"}, + {"label": _("Lines Grid"), "value": "line"} + ], orientation='vertical', stretch=False) + self.fill_type_label = QtWidgets.QLabel(_("Fill Type:")) + self.fill_type_label.setToolTip( + _("- 'Solid' - copper thieving will be a solid polygon.\n " + "- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n" + "- 'Squares Grid' - the empty area will be filled with a pattern of squares.\n" + "- 'Lines Grid' - the empty area will be filled with a pattern of lines.") + ) + grid_lay.addWidget(self.fill_type_label, 7, 0) + grid_lay.addWidget(self.fill_type_radio, 7, 1) + self.layout.addStretch() diff --git a/flatcamParsers/ParseDXF.py b/flatcamParsers/ParseDXF.py index fb09d3ed..9f1eeebb 100644 --- a/flatcamParsers/ParseDXF.py +++ b/flatcamParsers/ParseDXF.py @@ -241,7 +241,7 @@ def dxfsolid2shapely(solid): try: corner_list.append(solid[iterator]) iterator += 1 - except: + except Exception: return Polygon(corner_list) @@ -265,7 +265,7 @@ def dxftrace2shapely(trace): try: corner_list.append(trace[iterator]) iterator += 1 - except: + except Exception: return Polygon(corner_list) diff --git a/flatcamParsers/ParseExcellon.py b/flatcamParsers/ParseExcellon.py index 53b1c1b0..728f6a17 100644 --- a/flatcamParsers/ParseExcellon.py +++ b/flatcamParsers/ParseExcellon.py @@ -250,7 +250,7 @@ class Excellon(Geometry): try: self.parse_lines(estr) - except: + except Exception: return "fail" def parse_lines(self, elines): @@ -412,7 +412,7 @@ class Excellon(Geometry): name = str(int(match.group(1))) try: diam = float(match.group(2)) - except: + except Exception: # it's possible that tool definition has only tool number and no diameter info # (those could be in another file like PCB Wizard do) # then match.group(2) = None and float(None) will create the exception @@ -476,7 +476,7 @@ class Excellon(Geometry): slot_current_x = slot_start_x except TypeError: slot_start_x = slot_current_x - except: + except Exception: return try: @@ -484,7 +484,7 @@ class Excellon(Geometry): slot_current_y = slot_start_y except TypeError: slot_start_y = slot_current_y - except: + except Exception: return try: @@ -492,7 +492,7 @@ class Excellon(Geometry): slot_current_x = slot_stop_x except TypeError: slot_stop_x = slot_current_x - except: + except Exception: return try: @@ -500,7 +500,7 @@ class Excellon(Geometry): slot_current_y = slot_stop_y except TypeError: slot_stop_y = slot_current_y - except: + except Exception: return if (slot_start_x is None or slot_start_y is None or @@ -546,7 +546,7 @@ class Excellon(Geometry): slot_current_x = slot_start_x except TypeError: slot_start_x = slot_current_x - except: + except Exception: return try: @@ -554,7 +554,7 @@ class Excellon(Geometry): slot_current_y = slot_start_y except TypeError: slot_start_y = slot_current_y - except: + except Exception: return try: @@ -562,7 +562,7 @@ class Excellon(Geometry): slot_current_x = slot_stop_x except TypeError: slot_stop_x = slot_current_x - except: + except Exception: return try: @@ -570,7 +570,7 @@ class Excellon(Geometry): slot_current_y = slot_stop_y except TypeError: slot_stop_y = slot_current_y - except: + except Exception: return if (slot_start_x is None or slot_start_y is None or @@ -619,7 +619,7 @@ class Excellon(Geometry): except TypeError: x = current_x repeating_x = 0 - except: + except Exception: return try: @@ -629,7 +629,7 @@ class Excellon(Geometry): except TypeError: y = current_y repeating_y = 0 - except: + except Exception: return if x is None or y is None: diff --git a/flatcamParsers/ParseGerber.py b/flatcamParsers/ParseGerber.py index 911f3b42..8dfff70e 100644 --- a/flatcamParsers/ParseGerber.py +++ b/flatcamParsers/ParseGerber.py @@ -258,7 +258,7 @@ class Gerber(Geometry): try: # Could be empty for aperture macros paramList = apParameters.split('X') - except: + except Exception: paramList = None if apertureType == "C": # Circle, example: %ADD11C,0.1*% @@ -867,7 +867,7 @@ class Gerber(Geometry): # if match.group(1) is None and match.group(2) is None and match.group(3) is None: # try: # current_operation_code = int(match.group(4)) - # except: + # except Exception: # pass # A line with just * will match too. # continue # NOTE: Letting it continue allows it to react to the @@ -1082,7 +1082,7 @@ class Gerber(Geometry): geo_dict['clear'] = geo_s else: geo_dict['solid'] = geo_s - except: + except Exception: if self.app.defaults['gerber_simplification']: poly_buffer.append(geo_s.simplify(s_tol)) else: @@ -1434,7 +1434,7 @@ class Gerber(Geometry): # for poly in new_poly: # try: # self.solid_geometry = self.solid_geometry.union(poly) - # except: + # except Exception: # pass else: self.solid_geometry = self.solid_geometry.difference(new_poly) @@ -1661,7 +1661,7 @@ class Gerber(Geometry): try: xfactor = float(xfactor) - except: + except Exception: self.app.inform.emit('[ERROR_NOTCL] %s' % _("Scale factor has to be a number: integer or float.")) return @@ -1671,7 +1671,7 @@ class Gerber(Geometry): else: try: yfactor = float(yfactor) - except: + except Exception: self.app.inform.emit('[ERROR_NOTCL] %s' % _("Scale factor has to be a number: integer or float.")) return diff --git a/flatcamParsers/ParseSVG.py b/flatcamParsers/ParseSVG.py index d4563194..7ed6708b 100644 --- a/flatcamParsers/ParseSVG.py +++ b/flatcamParsers/ParseSVG.py @@ -125,7 +125,7 @@ def path2shapely(path, object_type, res=1.0): rings = MultiLineString(rings) if len(rings) > 0: - if len(rings) == 1: + if len(rings) == 1 and not isinstance(rings, MultiLineString): # Polygons are closed and require more than 2 points if Point(rings[0][0]).almost_equals(Point(rings[0][-1])) and len(rings[0]) > 2: geo_element = Polygon(rings[0]) @@ -134,7 +134,7 @@ def path2shapely(path, object_type, res=1.0): else: try: geo_element = Polygon(rings[0], rings[1:]) - except Exception as e: + except Exception: coords = list() for line in rings: coords.append(line.coords[0]) diff --git a/flatcamTools/ToolCalibrateExcellon.py b/flatcamTools/ToolCalibrateExcellon.py index 0227314f..ad31b46b 100644 --- a/flatcamTools/ToolCalibrateExcellon.py +++ b/flatcamTools/ToolCalibrateExcellon.py @@ -423,7 +423,7 @@ class ToolCalibrateExcellon(FlatCAMTool): # ## Adjust Objects Button self.adj_obj_button = QtWidgets.QPushButton(_("Adjust Objects")) self.adj_obj_button.setToolTip( - _("Adjust (scale and / or skew) the objects\n" + _("Adjust (scale and/or skew) the objects\n" "with the factors determined above.") ) grid_lay.addWidget(self.adj_obj_button, 34, 0, 1, 3) diff --git a/flatcamTools/ToolCopperFill.py b/flatcamTools/ToolCopperThieving.py similarity index 89% rename from flatcamTools/ToolCopperFill.py rename to flatcamTools/ToolCopperThieving.py index 64844875..44c18a8f 100644 --- a/flatcamTools/ToolCopperFill.py +++ b/flatcamTools/ToolCopperThieving.py @@ -33,9 +33,9 @@ if '_' not in builtins.__dict__: log = logging.getLogger('base') -class ToolCopperFill(FlatCAMTool): +class ToolCopperThieving(FlatCAMTool): - toolName = _("Copper Fill Tool") + toolName = _("Copper Thieving Tool") def __init__(self, app): FlatCAMTool.__init__(self, app) @@ -71,7 +71,7 @@ class ToolCopperFill(FlatCAMTool): self.grbobj_label = QtWidgets.QLabel("%s:" % _("GERBER")) self.grbobj_label.setToolTip( - _("Gerber Object to which will be added a copper fill.") + _("Gerber Object to which will be added a copper thieving.") ) i_grid_lay.addWidget(self.grbobj_label, 0, 0) @@ -93,7 +93,7 @@ class ToolCopperFill(FlatCAMTool): # CLEARANCE # self.clearance_label = QtWidgets.QLabel('%s:' % _("Clearance")) self.clearance_label.setToolTip( - _("This set the distance between the copper fill components\n" + _("This set the distance between the copper thieving components\n" "(the polygon fill may be split in multiple polygons)\n" "and the copper traces in the Gerber file.") ) @@ -126,16 +126,16 @@ class ToolCopperFill(FlatCAMTool): ], orientation='vertical', stretch=False) self.reference_label = QtWidgets.QLabel(_("Reference:")) self.reference_label.setToolTip( - _("- 'Itself' - the copper fill extent is based on the object that is copper cleared.\n " + _("- 'Itself' - the copper thieving extent is based on the object that is copper cleared.\n " "- 'Area Selection' - left mouse click to start selection of the area to be filled.\n" - "- 'Reference Object' - will do copper filling within the area specified by another object.") + "- 'Reference Object' - will do copper thieving within the area specified by another object.") ) grid_lay.addWidget(self.reference_label, 3, 0) grid_lay.addWidget(self.reference_radio, 3, 1) 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 copper filling reference.\n" + _("The type of FlatCAM object to be used as copper thieving reference.\n" "It can be Gerber, Excellon or Geometry.") ) self.box_combo_type = QtWidgets.QComboBox() @@ -178,8 +178,30 @@ class ToolCopperFill(FlatCAMTool): self.bbox_type_label.hide() self.bbox_type_radio.hide() - # ## Insert Copper Fill - self.fill_button = QtWidgets.QPushButton(_("Insert Copper Fill")) + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) + grid_lay.addWidget(separator_line, 7, 0, 1, 2) + + # Fill Type + self.fill_type_radio = RadioSet([ + {'label': _('Solid'), 'value': 'solid'}, + {"label": _("Dots Grid"), "value": "dot"}, + {"label": _("Squares Grid"), "value": "square"}, + {"label": _("Lines Grid"), "value": "line"} + ], orientation='vertical', stretch=False) + self.fill_type_label = QtWidgets.QLabel(_("Fill Type:")) + self.fill_type_label.setToolTip( + _("- 'Solid' - copper thieving will be a solid polygon.\n " + "- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n" + "- 'Squares Grid' - the empty area will be filled with a pattern of squares.\n" + "- 'Lines Grid' - the empty area will be filled with a pattern of lines.") + ) + grid_lay.addWidget(self.fill_type_label, 8, 0) + grid_lay.addWidget(self.fill_type_radio, 8, 1) + + # ## Insert Copper Thieving + self.fill_button = QtWidgets.QPushButton(_("Insert Copper thieving")) self.fill_button.setToolTip( _("Will add a polygon (may be split in multiple parts)\n" "that will surround the actual Gerber traces at a certain distance.") @@ -188,7 +210,7 @@ class ToolCopperFill(FlatCAMTool): self.layout.addStretch() - # Objects involved in Copper filling + # Objects involved in Copper thieving self.grb_object = None self.ref_obj = None self.sel_rect = list() @@ -215,7 +237,7 @@ class ToolCopperFill(FlatCAMTool): self.reference_radio.group_toggle_fn = self.on_toggle_reference def run(self, toggle=True): - self.app.report_usage("ToolCopperFill()") + self.app.report_usage("ToolCopperThieving()") if toggle: # if the splitter is hidden, display it, else hide it but only if the current widget is the same @@ -240,19 +262,19 @@ class ToolCopperFill(FlatCAMTool): self.set_tool_ui() - self.app.ui.notebook.setTabText(2, _("Copper Fill Tool")) + self.app.ui.notebook.setTabText(2, _("Copper Thieving Tool")) def install(self, icon=None, separator=None, **kwargs): FlatCAMTool.install(self, icon, separator, shortcut='ALT+F', **kwargs) def set_tool_ui(self): self.units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value() - self.clearance_entry.set_value(float(self.app.defaults["tools_copperfill_clearance"])) - self.margin_entry.set_value(float(self.app.defaults["tools_copperfill_margin"])) - self.reference_radio.set_value(self.app.defaults["tools_copperfill_reference"]) - self.bbox_type_radio.set_value(self.app.defaults["tools_copperfill_box_type"]) - - self.geo_steps_per_circle = int(self.app.defaults["tools_copperfill_circle_steps"]) + self.clearance_entry.set_value(float(self.app.defaults["tools_copper_thieving_clearance"])) + self.margin_entry.set_value(float(self.app.defaults["tools_copper_thieving_margin"])) + self.reference_radio.set_value(self.app.defaults["tools_copper_thieving_reference"]) + self.bbox_type_radio.set_value(self.app.defaults["tools_copper_thieving_box_type"]) + self.fill_type_radio.set_value(self.app.defaults["tools_copper_thieving_fill_type"]) + self.geo_steps_per_circle = int(self.app.defaults["tools_copper_thieving_circle_steps"]) self.area_method = False @@ -281,20 +303,20 @@ class ToolCopperFill(FlatCAMTool): self.bbox_type_radio.hide() def execute(self): - self.app.call_source = "copperfill_tool" + self.app.call_source = "copper_thieving_tool" self.clearance_val = self.clearance_entry.get_value() self.margin_val = self.margin_entry.get_value() reference_method = self.reference_radio.get_value() - # get the Gerber object on which the Copper fill will be inserted + # get the Gerber object on which the Copper thieving will be inserted selection_index = self.grb_object_combo.currentIndex() model_index = self.app.collection.index(selection_index, 0, self.grb_object_combo.rootModelIndex()) try: self.grb_object = model_index.internalPointer().obj except Exception as e: - log.debug("ToolCopperFill.execute() --> %s" % str(e)) + log.debug("ToolCopperThieving.execute() --> %s" % str(e)) self.app.inform.emit('[WARNING_NOTCL] %s' % _("There is no Gerber object loaded ...")) return 'fail' @@ -487,17 +509,17 @@ class ToolCopperFill(FlatCAMTool): """ if run_threaded: - proc = self.app.proc_container.new('%s ...' % _("Copper filling")) + proc = self.app.proc_container.new('%s ...' % _("Copper thieving")) else: - self.app.proc_container.view.set_busy('%s ...' % _("Copper filling")) + self.app.proc_container.view.set_busy('%s ...' % _("Copper thieving")) QtWidgets.QApplication.processEvents() # ##################################################################### # ####### Read the parameters ######################################### # ##################################################################### - log.debug("Copper Filling Tool started. Reading parameters.") - self.app.inform.emit(_("Copper Filling Tool started. Reading parameters.")) + log.debug("Copper Thieving Tool started. Reading parameters.") + self.app.inform.emit(_("Copper Thieving Tool started. Reading parameters.")) ref_selected = self.reference_radio.get_value() if c_val is None: @@ -512,8 +534,8 @@ class ToolCopperFill(FlatCAMTool): # ######################################################################################### # Prepare isolation polygon. This will create the clearance over the Gerber features ###### # ######################################################################################### - log.debug("Copper Filling Tool. Preparing isolation polygons.") - self.app.inform.emit(_("Copper Filling Tool. Preparing isolation polygons.")) + log.debug("Copper Thieving Tool. Preparing isolation polygons.") + self.app.inform.emit(_("Copper Thieving Tool. Preparing isolation polygons.")) # variables to display the percentage of work done geo_len = 0 @@ -557,8 +579,8 @@ class ToolCopperFill(FlatCAMTool): # ######################################################################################### # Prepare the area to fill with copper. ################################################### # ######################################################################################### - log.debug("Copper Filling Tool. Preparing areas to fill with copper.") - self.app.inform.emit(_("Copper Filling Tool. Preparing areas to fill with copper.")) + log.debug("Copper Thieving Tool. Preparing areas to fill with copper.") + self.app.inform.emit(_("Copper Thieving Tool. Preparing areas to fill with copper.")) try: if ref_obj is None or ref_obj == 'itself': @@ -566,7 +588,7 @@ class ToolCopperFill(FlatCAMTool): else: working_obj = ref_obj except Exception as e: - log.debug("ToolCopperFIll.on_copper_fill() --> %s" % str(e)) + log.debug("ToolCopperThieving.on_copper_fill() --> %s" % str(e)) return 'fail' bounding_box = None @@ -647,9 +669,9 @@ class ToolCopperFill(FlatCAMTool): self.app.inform.emit('[ERROR_NOTCL] %s' % _("The reference object type is not supported.")) return 'fail' - log.debug("Copper Filling Tool. Finished creating areas to fill with copper.") + log.debug("Copper Thieving Tool. Finished creating areas to fill with copper.") - self.app.inform.emit(_("Copper Filling Tool. Appending new geometry and buffering.")) + self.app.inform.emit(_("Copper Thieving Tool. Appending new geometry and buffering.")) new_solid_geometry = bounding_box.difference(clearance_geometry) geo_list = self.grb_object.solid_geometry @@ -689,7 +711,7 @@ class ToolCopperFill(FlatCAMTool): local_use=self.grb_object, use_thread=False) self.on_exit() - self.app.inform.emit('[success] %s' % _("Copper Fill Tool done.")) + self.app.inform.emit('[success] %s' % _("Copper Thieving Tool done.")) def replot(self, obj): def worker_task(): @@ -710,7 +732,7 @@ class ToolCopperFill(FlatCAMTool): self.grb_object.options['xmax'] = c self.grb_object.options['ymax'] = d except Exception as e: - log.debug("ToolCopperFill.on_exit() bounds error --> %s" % str(e)) + log.debug("ToolCopperThieving.on_exit() bounds error --> %s" % str(e)) # reset the variables self.grb_object = None @@ -746,4 +768,4 @@ class ToolCopperFill(FlatCAMTool): self.app.on_mouse_click_release_over_plot) self.app.call_source = "app" - self.app.inform.emit('[success] %s' % _("Copper Fill Tool exit.")) + self.app.inform.emit('[success] %s' % _("Copper Thieving Tool exit.")) diff --git a/flatcamTools/ToolQRCode.py b/flatcamTools/ToolQRCode.py index f4f87dd9..6781418d 100644 --- a/flatcamTools/ToolQRCode.py +++ b/flatcamTools/ToolQRCode.py @@ -112,10 +112,10 @@ class QRCode(FlatCAMTool): self.error_label = QtWidgets.QLabel('%s:' % _("Error correction")) self.error_label.setToolTip( _("Parameter that controls the error correction used for the QR Code.\n" - "L = maximum 7% errors can be corrected\n" - "M = maximum 15% errors can be corrected\n" - "Q = maximum 25% errors can be corrected\n" - "H = maximum 30% errors can be corrected.") + "L = maximum 7%% errors can be corrected\n" + "M = maximum 15%% errors can be corrected\n" + "Q = maximum 25%% errors can be corrected\n" + "H = maximum 30%% errors can be corrected.") ) self.error_radio = RadioSet([{'label': 'L', 'value': 'L'}, {'label': 'M', 'value': 'M'}, @@ -123,10 +123,10 @@ class QRCode(FlatCAMTool): {'label': 'H', 'value': 'H'}]) self.error_radio.setToolTip( _("Parameter that controls the error correction used for the QR Code.\n" - "L = maximum 7% errors can be corrected\n" - "M = maximum 15% errors can be corrected\n" - "Q = maximum 25% errors can be corrected\n" - "H = maximum 30% errors can be corrected.") + "L = maximum 7%% errors can be corrected\n" + "M = maximum 15%% errors can be corrected\n" + "Q = maximum 25%% errors can be corrected\n" + "H = maximum 30%% errors can be corrected.") ) grid_lay.addWidget(self.error_label, 2, 0) grid_lay.addWidget(self.error_radio, 2, 1) diff --git a/flatcamTools/ToolSolderPaste.py b/flatcamTools/ToolSolderPaste.py index 2e360ac7..3705dc1a 100644 --- a/flatcamTools/ToolSolderPaste.py +++ b/flatcamTools/ToolSolderPaste.py @@ -557,7 +557,7 @@ class SolderPaste(FlatCAMTool): try: dias = [float(eval(dia)) for dia in self.app.defaults["tools_solderpaste_tools"].split(",") if dia != ''] - except: + except Exception: log.error("At least one Nozzle tool diameter needed. " "Verify in Edit -> Preferences -> TOOLS -> Solder Paste Tools.") return @@ -675,7 +675,7 @@ class SolderPaste(FlatCAMTool): if row is None: try: current_row = self.tools_table.currentRow() - except: + except Exception: current_row = 0 else: current_row = row diff --git a/flatcamTools/__init__.py b/flatcamTools/__init__.py index 3b4ceed2..03e240bf 100644 --- a/flatcamTools/__init__.py +++ b/flatcamTools/__init__.py @@ -29,7 +29,7 @@ from flatcamTools.ToolProperties import Properties from flatcamTools.ToolQRCode import QRCode from flatcamTools.ToolRulesCheck import RulesCheck -from flatcamTools.ToolCopperFill import ToolCopperFill +from flatcamTools.ToolCopperThieving import ToolCopperThieving from flatcamTools.ToolShell import FCShell from flatcamTools.ToolSolderPaste import SolderPaste diff --git a/locale/ro/LC_MESSAGES/strings.mo b/locale/ro/LC_MESSAGES/strings.mo index 127e46fc3b28da20d7f6452b2c9eb58c037da559..9cfb483230d7fba9bb8a3625c5c67f845d72d39b 100644 GIT binary patch delta 55151 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 T<(bE^V7gbo+|mB~ymtK$yJ4HU delta 56200 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%0Ah|r$o8hO&_n^)X zEe(nE>ewECPbp*tkOmdm!!j$#EdrcCoD};I%l}|AtVSoHuNe>l?i;>HDLp_pu%3d~ z6Tia$Mr{{y5KETO882Dtf_(pX4(A#L5q^iip+EXm$$lxgEVT{bMxlwpPQae!1l6$7 zx`6cGCfAZUJwrvJSu!j5hs0($E3iafopl)OK>7M#eros}qU^R7`-c?7t(5pNBtc4; ziKeOOc4`+Pdrv+&+85G(my!zh95{zGlo*W2bgVa=D;c(dc(*Ofvnlx`^uHnA1m`E}w%h+Y zL)y|1!)B9pJL%a5NaQh%->G-gMddxTo#+vX6g>40EMsEnwUCM&Bwv#JYB>NpkN6Cj z8gLdRKN7#I&Nn<$;s+G6E3uFSN&82o1 z+XMZfH9vB1&?8_9kXz|^{qKN%hW#yR4E?F3l77sI?m+SgEAJX|NG`o8;;7w+a5==) zAbmss4`NSr6yT@y`QZ0p@w3>;sK`a~rQ#vE=yYN!ETk|KGAp%=_!IH_kxv3H1;a!> zvtShQ1ZpkG?Eza-mrg@|GK(}KpMkuQd^oxY%}Klt9ivOwZhs-{s?BRDX4cEK`5%id zgYX3dkFiua@N*%_hpkLLfWEBY-(ds6WTtiv-l1Scieg=L#xeNEp>z3vT!vdT-$O;( z(_{g70lOcvd0es)G=*UY5?@z>^w@T~B=2Ie{Q;1))K}1#lsFdKL9w;qEly3O13h`E z%MbWP4%&W?J&rdG4tcD^e*xrgZx{+_VGMR9xEtsvYIj+*CMOkfQEQKQc(HJMw2*R5 zz!o7cpi2pEvDD=HXN7DSDpCkroT0bSEdcn<6aP&b=%B5T1+ah@IuuM9@PCsN$-$7n zoCZnGORqo+a0S7wMZclHZ~vUyFv4lz25qV+PtzKb9E_4*Ho#uCeZ0twXpPS~zW!?n=sSd6*sv>FS^>#9F>eqt3@3L-hn&;e z3-V9!9w0dh-6p#KzhIl0vE z6h?>2*ME5=K`~Ov|AM43z?F~;Cf}J8q~gSB@kfF=gZ4m+Q0MJbw*Ma`gUf>3OI(iH zpICq5_wam$zdE_EizlC=17stHywqkczZLQ==`(pMm>Na0RGc0XvDly*dv_yy3WBf#VcXvA|cr zC26dW?<`XYelWx#^VF#;3xKUhoJmh7B@cKuG1MEbTgo*UU*rh2_ta{6=wt3LHhN2P zC`&lY0dgW~oR;a%z$kE?AlQn|*VA0b=3s%=;7vN{m-5|b@%!qppcaka9Bi|A2p&6; z4}tsy1TA#%Wq|vMMP8Hph3!YrdZ&|0Z8Ev85GU8cY4xgRAg-bO!|2JR{sH_y(D)U6 zC<;M!$V1sOnG#%7U@!~p1~X0xeZg&GSaDROoGvQ)2P;y8d~5n05=;C9u8|D6 zr}=#NbvUHRO}M79+ypq{|+8G4mu35rk9{^Wuv%|}l`)EnFna)0Az*Hcn5 zlp>x1zKh;ylJkp%VVxmZ>V!F>gzdq^QQysAk(Ue} zj{S!9#%9)oNo^dMjJkM#{PJKr($D$j1DArqvuXIopd-ZPCAI8 z>!O5zl7Fb!G-^p1YO&~aa19uE7QVb#k$UvywY$IPJ3>PhJzY0Iu`D#3O|O$1=0toN z((UByW5??$^MFZ$e;YkPej;%Pmc4*4l2jK@3Qtv?A$i;ReF1d^5T_d+kxN9}Nt&@W zXefd1k+=V} zqqqf-L)t5#12@bC^4qo0nTElN^I>Ri`eJm+Sg<$fyG<^W_Dfp;JyY}s&d4&k^-8t@ z*B7qoj!#np?ykl203&D=`Jg#(-F~`~?L^??uP6K>Ri(_E+MgI&c-mEs%|-Aq4Pe{G(vq@I?Z^PuHsvrOQhGG4()d52%$Q zp8?&6|A5{T)KtOh^t9~>nvom|i95cC z8Es20gEl4-EW~Nie&j_)Yi$CHwPF#G94z36igW~*4BHzWhCdGOaB9in_#!X=i8P=& zj6!j23JPZIKEN-?EyTuv*@!*Gfb-PXV?9w9aFtnjjUHk!m|6JlVB&1d_79`UUjC5CJiEENjjt<@Rj%#wS{_h zlESf7vFYirMZ8L8%J~nG$VziC;LS9qpcoFg0h$5O-`I=PYOwW6;=N!FGepEpZY_F_ zTpz3-yPZQsUobA(689wWjR3R6D@4QD~4kBHG-=7#q>W9A%6NF&i7#_cw;w z(-k~JVqzjI6ffShXHRcSBuGnaRFK)*64kZ1LZXX@hsJnm;2jwf>FH^$bIRqH+h*6x z8xwo_TP$IQ0xd($JvVQ>*)~~HW3AeCss}XkZ?QSi)54yc1K%%BwKa!JsmclNm0e0& zn^kr>mL`33bFewe91&zT*0A(4`UQ3~2gO)Z`nhyVoYbqPrHk3aj5)mMCk&RhP%<+6PBj!fjVf4jFCqHwA{7jix|L zoY_;ZV~B;YOQuis70TJe~7_;0T`^1{ULi=!=SYIu2O`kGVEpxCbHY~<=vg(nM)}I?( z2PL;2+vD0at<~qeYyJjCb3{y3tTDn8YvQqDHig9;9%2lV8#NjyIMkf5Ym9p?YyGTl zewn=d0z&@O8WB;dIyTRNk#Z zKA(T*sB54xn~SvWVk8R7#$n!Y2p%?ja?59iH!=iU%oi*OTnSW z;3#t+?l#_@bu3|)XmfOoSsoM?Qv??-uQ8Ixk1?2LBWjA4Yab0!P)w-V+t9-1nN9X- z?f-w%{`X=1 && n" "%100<=19) ? 1 : 2);\n" "X-Poedit-Basepath: ../../..\n" @@ -23,15 +23,15 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: tests\n" "X-Poedit-SearchPathExcluded-2: doc\n" -#: FlatCAMApp.py:413 +#: FlatCAMApp.py:912 msgid "FlatCAM is initializing ..." msgstr "FlatCAM se inițializează ..." -#: FlatCAMApp.py:1362 +#: FlatCAMApp.py:1436 msgid "Could not find the Language files. The App strings are missing." msgstr "Nu am gasit fişierele cu traduceri. Mesajele aplicaţiei lipsesc." -#: FlatCAMApp.py:1763 +#: FlatCAMApp.py:1515 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started." @@ -39,7 +39,7 @@ msgstr "" "FlatCAM se inițializează ...\n" "Initializarea spațiului de afisare a inceput." -#: FlatCAMApp.py:1779 +#: FlatCAMApp.py:1533 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started.\n" @@ -49,11 +49,7 @@ msgstr "" "Initializarea spațiului de afisare a inceput.\n" "Initializarea spatiului de afisare s-a terminat in" -#: FlatCAMApp.py:1985 -msgid "Detachable Tabs" -msgstr "Taburi detașabile" - -#: FlatCAMApp.py:2485 +#: FlatCAMApp.py:2228 msgid "" "Type >help< to get started\n" "\n" @@ -61,12 +57,12 @@ msgstr "" "Tastați >help< pentru a începe\n" "\n" -#: FlatCAMApp.py:2710 FlatCAMApp.py:8829 +#: FlatCAMApp.py:2479 FlatCAMApp.py:8775 msgid "New Project - Not saved" msgstr "Proiect nou - Nu a fost salvat" -#: FlatCAMApp.py:2784 FlatCAMApp.py:8887 FlatCAMApp.py:8923 FlatCAMApp.py:8963 -#: FlatCAMApp.py:9727 FlatCAMApp.py:10981 FlatCAMApp.py:11034 +#: FlatCAMApp.py:2553 FlatCAMApp.py:8833 FlatCAMApp.py:8869 FlatCAMApp.py:8909 +#: FlatCAMApp.py:9683 FlatCAMApp.py:10939 FlatCAMApp.py:10998 msgid "" "Canvas initialization started.\n" "Canvas initialization finished in" @@ -74,42 +70,42 @@ msgstr "" "FlatCAM se inițializează ...\n" "Initializarea spațiului de afisare s-a terminat in" -#: FlatCAMApp.py:2786 +#: FlatCAMApp.py:2555 msgid "Executing Tcl Script ..." msgstr "Rulează Tcl Script..." -#: FlatCAMApp.py:2839 ObjectCollection.py:90 flatcamTools/ToolImage.py:219 +#: FlatCAMApp.py:2608 ObjectCollection.py:90 flatcamTools/ToolImage.py:219 #: flatcamTools/ToolPcbWizard.py:300 flatcamTools/ToolPcbWizard.py:323 msgid "Open cancelled." msgstr "Deschidere anulată." -#: FlatCAMApp.py:2855 +#: FlatCAMApp.py:2624 msgid "Open Config file failed." msgstr "Deschiderea fişierului de configurare a eşuat." -#: FlatCAMApp.py:2870 +#: FlatCAMApp.py:2639 msgid "Open Script file failed." msgstr "Deschiderea fişierului Script eşuat." -#: FlatCAMApp.py:2896 +#: FlatCAMApp.py:2665 msgid "Open Excellon file failed." msgstr "Deschiderea fişierului Excellon a eşuat." -#: FlatCAMApp.py:2909 +#: FlatCAMApp.py:2678 msgid "Open GCode file failed." msgstr "Deschiderea fişierului GCode a eşuat." -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2691 msgid "Open Gerber file failed." msgstr "Deschiderea fişierului Gerber a eşuat." -#: FlatCAMApp.py:3246 +#: FlatCAMApp.py:3027 msgid "Select a Geometry, Gerber or Excellon Object to edit." msgstr "Selectează un obiect tip Geometrie Gerber sau Excellon pentru editare." -#: FlatCAMApp.py:3260 +#: FlatCAMApp.py:3042 msgid "" -"Simultanoeus editing of tools geometry in a MultiGeo Geometry is not " +"Simultaneous editing of tools geometry in a MultiGeo Geometry is not " "possible.\n" "Edit only one geometry at a time." msgstr "" @@ -117,83 +113,82 @@ msgstr "" "MultiGeo nu este posibilă.\n" "Se poate edita numai o singură geometrie de fiecare dată." -#: FlatCAMApp.py:3315 +#: FlatCAMApp.py:3097 msgid "Editor is activated ..." msgstr "Editorul este activ ..." -#: FlatCAMApp.py:3336 +#: FlatCAMApp.py:3118 msgid "Do you want to save the edited object?" msgstr "Vrei sa salvezi obiectul editat?" -#: FlatCAMApp.py:3337 flatcamGUI/FlatCAMGUI.py:1924 +#: FlatCAMApp.py:3119 flatcamGUI/FlatCAMGUI.py:1934 msgid "Close Editor" msgstr "Inchide Editorul" -#: FlatCAMApp.py:3340 FlatCAMApp.py:5026 FlatCAMApp.py:7626 FlatCAMApp.py:8736 -#: FlatCAMTranslation.py:97 FlatCAMTranslation.py:171 -#: flatcamGUI/PreferencesUI.py:930 +#: FlatCAMApp.py:3122 FlatCAMApp.py:4782 FlatCAMApp.py:7528 FlatCAMApp.py:7553 +#: FlatCAMApp.py:8682 FlatCAMTranslation.py:97 FlatCAMTranslation.py:171 +#: flatcamGUI/PreferencesUI.py:941 msgid "Yes" msgstr "Da" -#: FlatCAMApp.py:3341 FlatCAMApp.py:5027 FlatCAMApp.py:7627 FlatCAMApp.py:8737 -#: FlatCAMTranslation.py:98 FlatCAMTranslation.py:172 -#: flatcamGUI/PreferencesUI.py:931 flatcamGUI/PreferencesUI.py:3783 -#: flatcamGUI/PreferencesUI.py:4175 flatcamTools/ToolNonCopperClear.py:184 +#: FlatCAMApp.py:3123 FlatCAMApp.py:4783 FlatCAMApp.py:7529 FlatCAMApp.py:7554 +#: FlatCAMApp.py:8683 FlatCAMTranslation.py:98 FlatCAMTranslation.py:172 +#: flatcamGUI/PreferencesUI.py:942 flatcamGUI/PreferencesUI.py:3902 +#: flatcamGUI/PreferencesUI.py:4282 flatcamTools/ToolNonCopperClear.py:189 #: flatcamTools/ToolPaint.py:161 msgid "No" msgstr "Nu" -#: FlatCAMApp.py:3342 FlatCAMApp.py:5028 FlatCAMApp.py:5898 FlatCAMApp.py:7024 -#: FlatCAMApp.py:8738 +#: FlatCAMApp.py:3124 FlatCAMApp.py:4784 FlatCAMApp.py:5564 FlatCAMApp.py:6852 +#: FlatCAMApp.py:8684 msgid "Cancel" msgstr "Anuleaza" -#: FlatCAMApp.py:3370 +#: FlatCAMApp.py:3152 msgid "Object empty after edit." msgstr "Obiectul nu are date dupa editare." -#: FlatCAMApp.py:3419 FlatCAMApp.py:3439 FlatCAMApp.py:3454 +#: FlatCAMApp.py:3201 FlatCAMApp.py:3221 FlatCAMApp.py:3236 msgid "Select a Gerber, Geometry or Excellon Object to update." msgstr "" "Selectează un obiect tip Gerber, Geometrie sau Excellon pentru actualizare." -#: FlatCAMApp.py:3423 +#: FlatCAMApp.py:3205 msgid "is updated, returning to App..." msgstr "este actualizat, întoarcere la aplicaţie..." -#: FlatCAMApp.py:3819 FlatCAMApp.py:3873 FlatCAMApp.py:4890 +#: FlatCAMApp.py:3601 FlatCAMApp.py:3651 FlatCAMApp.py:4646 msgid "Could not load defaults file." msgstr "Nu am putut incărca fişierul cu valori default." -#: FlatCAMApp.py:3832 FlatCAMApp.py:3882 FlatCAMApp.py:4900 +#: FlatCAMApp.py:3613 FlatCAMApp.py:3660 FlatCAMApp.py:4656 msgid "Failed to parse defaults file." msgstr "Parsarea fişierului cu valori default a eșuat." -#: FlatCAMApp.py:3853 FlatCAMApp.py:3857 +#: FlatCAMApp.py:3631 FlatCAMApp.py:3635 msgid "Import FlatCAM Preferences" msgstr "Importă Preferințele FlatCAM" -#: FlatCAMApp.py:3864 +#: FlatCAMApp.py:3642 msgid "FlatCAM preferences import cancelled." msgstr "Importul preferințelor FlatCAM a eșuat." -#: FlatCAMApp.py:3887 +#: FlatCAMApp.py:3665 msgid "Imported Defaults from" msgstr "Valorile default au fost importate din" -#: FlatCAMApp.py:3907 FlatCAMApp.py:3912 flatcamGUI/FlatCAMGUI.py:3972 +#: FlatCAMApp.py:3685 FlatCAMApp.py:3690 msgid "Export FlatCAM Preferences" msgstr "Exportă Preferințele FlatCAM" -#: FlatCAMApp.py:3920 +#: FlatCAMApp.py:3698 msgid "FlatCAM preferences export cancelled." msgstr "Exportul preferințelor FlatCAM este anulat." -#: FlatCAMApp.py:3929 FlatCAMApp.py:9908 FlatCAMApp.py:10035 -#: FlatCAMApp.py:10177 FlatCAMApp.py:10236 FlatCAMApp.py:10353 -#: FlatCAMApp.py:10492 FlatCAMObj.py:6312 -#: flatcamEditors/FlatCAMTextEditor.py:217 flatcamGUI/FlatCAMGUI.py:3990 -#: flatcamTools/ToolSolderPaste.py:1453 +#: FlatCAMApp.py:3707 FlatCAMApp.py:9866 FlatCAMApp.py:9993 FlatCAMApp.py:10135 +#: FlatCAMApp.py:10194 FlatCAMApp.py:10311 FlatCAMApp.py:10450 +#: FlatCAMCommon.py:378 FlatCAMCommon.py:1034 FlatCAMObj.py:6368 +#: flatcamEditors/FlatCAMTextEditor.py:217 flatcamTools/ToolSolderPaste.py:1505 msgid "" "Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -201,39 +196,39 @@ msgstr "" "Permisiune refuzată, salvarea nu este posibilă.\n" "Cel mai probabil o altă aplicație ține fișierul deschis și inaccesibil." -#: FlatCAMApp.py:3942 +#: FlatCAMApp.py:3720 msgid "Could not load preferences file." msgstr "Nu am putut incărca fişierul cu valori default." -#: FlatCAMApp.py:3962 +#: FlatCAMApp.py:3740 msgid "Failed to write defaults to file." msgstr "Salvarea valorilor default intr-un fişier a eșuat." -#: FlatCAMApp.py:3968 +#: FlatCAMApp.py:3746 msgid "Exported preferences to" msgstr "Exportă Preferințele in" -#: FlatCAMApp.py:3985 +#: FlatCAMApp.py:3763 msgid "FlatCAM Preferences Folder opened." msgstr "Folderul de preferințe FlatCAM a fost deschis." -#: FlatCAMApp.py:4068 +#: FlatCAMApp.py:3846 msgid "Failed to open recent files file for writing." msgstr "" "Deschiderea fişierului cu >fişiere recente< pentru a fi salvat a eșuat." -#: FlatCAMApp.py:4079 +#: FlatCAMApp.py:3857 msgid "Failed to open recent projects file for writing." msgstr "" "Deschiderea fişierului cu >proiecte recente< pentru a fi salvat a eșuat." -#: FlatCAMApp.py:4165 flatcamParsers/ParseExcellon.py:880 -#: flatcamTools/ToolSolderPaste.py:1239 +#: FlatCAMApp.py:3943 flatcamParsers/ParseExcellon.py:880 +#: flatcamTools/ToolSolderPaste.py:1291 msgid "An internal error has ocurred. See shell.\n" msgstr "" "A apărut o eroare internă. Verifică in TCL Shell pt mai multe detalii.\n" -#: FlatCAMApp.py:4166 +#: FlatCAMApp.py:3944 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -242,11 +237,11 @@ msgstr "" "Obiectul ({kind}) a eșuat din cauza: {error} \n" "\n" -#: FlatCAMApp.py:4187 +#: FlatCAMApp.py:3965 msgid "Converting units to " msgstr "Se convertesc unitătile la " -#: FlatCAMApp.py:4278 +#: FlatCAMApp.py:4056 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -290,8 +285,8 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:4340 FlatCAMApp.py:4343 FlatCAMApp.py:4346 FlatCAMApp.py:4349 -#: FlatCAMApp.py:4352 FlatCAMApp.py:4355 +#: FlatCAMApp.py:4118 FlatCAMApp.py:4121 FlatCAMApp.py:4124 FlatCAMApp.py:4127 +#: FlatCAMApp.py:4130 FlatCAMApp.py:4133 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" -#: FlatCAMApp.py:4370 FlatCAMApp.py:7104 FlatCAMObj.py:265 FlatCAMObj.py:280 -#: FlatCAMObj.py:296 FlatCAMObj.py:376 flatcamTools/ToolMove.py:220 +#: FlatCAMApp.py:4148 FlatCAMApp.py:6932 FlatCAMObj.py:264 FlatCAMObj.py:279 +#: FlatCAMObj.py:295 FlatCAMObj.py:375 flatcamTools/ToolCopperThieving.py:696 +#: flatcamTools/ToolMove.py:220 flatcamTools/ToolQRCode.py:694 msgid "Plotting" msgstr "Se afișeaz" -#: FlatCAMApp.py:4464 flatcamGUI/FlatCAMGUI.py:462 +#: FlatCAMApp.py:4210 flatcamGUI/FlatCAMGUI.py:454 msgid "About FlatCAM" msgstr "Despre FlatCAM" -#: FlatCAMApp.py:4493 +#: FlatCAMApp.py:4236 msgid "2D Computer-Aided Printed Circuit Board Manufacturing" msgstr "Productie Cablaje Imprimate asistate 2D de PC" -#: FlatCAMApp.py:4494 +#: FlatCAMApp.py:4237 msgid "Development" msgstr "Dezvoltare" -#: FlatCAMApp.py:4495 +#: FlatCAMApp.py:4238 msgid "DOWNLOAD" msgstr "DOWNLOAD" -#: FlatCAMApp.py:4496 +#: FlatCAMApp.py:4239 msgid "Issue tracker" msgstr "Raportare probleme" -#: FlatCAMApp.py:4500 FlatCAMApp.py:4820 flatcamGUI/FlatCAMGUI.py:3792 +#: FlatCAMApp.py:4243 FlatCAMApp.py:4576 msgid "Close" msgstr "Închide" -#: FlatCAMApp.py:4515 +#: FlatCAMApp.py:4258 +msgid "Licensed under the MIT license" +msgstr "Licențiat sub licența MIT" + +#: FlatCAMApp.py:4267 msgid "" -"\n" -"Licensed under the MIT license:\n" -"http://www.opensource.org/licenses/mit-license.php\n" -"\n" "Permission is hereby granted, free of charge, to any person obtaining a " "copy\n" "of this software and associated documentation files (the \"Software\"), to " @@ -357,10 +353,6 @@ msgid "" "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n" "THE SOFTWARE." msgstr "" -"\n" -"Licențiat sub licența MIT:\n" -"http://www.opensource.org/licenses/mit-license.php\n" -"\n" "Prin prezenta se acordă, gratuit, oricărei persoane care obține o copie\n" "a acestui software și a fișierelor de documentație asociate („Software”), " "pentru a utiliza\n" @@ -389,7 +381,7 @@ msgstr "" "UTILIZAREA SA,\n" "SAU ORICE TRATĂRI ÎN ACEST SOFTWARE." -#: FlatCAMApp.py:4541 +#: FlatCAMApp.py:4289 msgid "" "Some of the icons used are from the following sources:
Icons made by " "www.flaticon.com
Desene create de " "Icons8" -#: FlatCAMApp.py:4572 +#: FlatCAMApp.py:4320 msgid "Splash" msgstr "Splash" -#: FlatCAMApp.py:4578 +#: FlatCAMApp.py:4326 msgid "Programmers" msgstr "Programatori" -#: FlatCAMApp.py:4584 +#: FlatCAMApp.py:4332 msgid "Translators" msgstr "Traducatori" -#: FlatCAMApp.py:4590 +#: FlatCAMApp.py:4338 msgid "License" msgstr "Licență" -#: FlatCAMApp.py:4596 +#: FlatCAMApp.py:4344 msgid "Attributions" msgstr "Atribuiri" -#: FlatCAMApp.py:4617 +#: FlatCAMApp.py:4367 msgid "Programmer" msgstr "Programator" -#: FlatCAMApp.py:4618 +#: FlatCAMApp.py:4368 msgid "Status" msgstr "Statut" -#: FlatCAMApp.py:4620 -msgid "Program Author" -msgstr "Autorul Programului" - -#: FlatCAMApp.py:4624 -msgid "Maintainer >= 2019" -msgstr "Mentenanta >= 2019" - -#: FlatCAMApp.py:4683 -msgid "Language" -msgstr "Limba" - -#: FlatCAMApp.py:4684 -msgid "Translator" -msgstr "Traducător" - -#: FlatCAMApp.py:4685 -msgid "Corrections" -msgstr "Corecţii" - -#: FlatCAMApp.py:4686 +#: FlatCAMApp.py:4369 FlatCAMApp.py:4440 msgid "E-mail" msgstr "E-mail" -#: FlatCAMApp.py:4792 FlatCAMApp.py:4800 FlatCAMApp.py:7644 -#: flatcamGUI/FlatCAMGUI.py:446 +#: FlatCAMApp.py:4377 +msgid "BETA Maintainer >= 2019" +msgstr "Programator Beta >= 2019" + +#: FlatCAMApp.py:4437 +msgid "Language" +msgstr "Limba" + +#: FlatCAMApp.py:4438 +msgid "Translator" +msgstr "Traducător" + +#: FlatCAMApp.py:4439 +msgid "Corrections" +msgstr "Corecţii" + +#: FlatCAMApp.py:4548 FlatCAMApp.py:4556 FlatCAMApp.py:7571 +#: flatcamGUI/FlatCAMGUI.py:438 msgid "Bookmarks Manager" msgstr "Bookmarks Manager" -#: FlatCAMApp.py:4811 +#: FlatCAMApp.py:4567 msgid "" "This entry will resolve to another website if:\n" "\n" @@ -480,11 +468,11 @@ msgstr "" "Dacă nu puteți obține informații despre FlatCAM beta\n" "utilizați linkul canalului YouTube din meniul Ajutor." -#: FlatCAMApp.py:4818 +#: FlatCAMApp.py:4574 msgid "Alternative website" msgstr "Site alternativ" -#: FlatCAMApp.py:5021 FlatCAMTranslation.py:166 +#: FlatCAMApp.py:4777 FlatCAMTranslation.py:166 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -492,29 +480,29 @@ msgstr "" "FlatCAM are fişiere/obiecte care au fost modificate. \n" "Dorești să Salvezi proiectul?" -#: FlatCAMApp.py:5024 FlatCAMApp.py:8734 FlatCAMTranslation.py:169 +#: FlatCAMApp.py:4780 FlatCAMApp.py:8680 FlatCAMTranslation.py:169 msgid "Save changes" msgstr "Salvează modificarile" -#: FlatCAMApp.py:5254 +#: FlatCAMApp.py:5014 msgid "Selected Excellon file extensions registered with FlatCAM." msgstr "Extensiile de fișiere Excellon selectate înregistrate cu FlatCAM." -#: FlatCAMApp.py:5276 +#: FlatCAMApp.py:5036 msgid "Selected GCode file extensions registered with FlatCAM." msgstr "Extensii de fișiere GCode selectate înregistrate cu FlatCAM." -#: FlatCAMApp.py:5298 +#: FlatCAMApp.py:5058 msgid "Selected Gerber file extensions registered with FlatCAM." msgstr "Extensii de fișiere Gerber selectate înregistrate cu FlatCAM." -#: FlatCAMApp.py:5459 FlatCAMApp.py:5515 FlatCAMApp.py:5543 +#: FlatCAMApp.py:5219 FlatCAMApp.py:5275 FlatCAMApp.py:5303 msgid "At least two objects are required for join. Objects currently selected" msgstr "" "Cel puțin două obiecte sunt necesare pentru a fi unite. Obiectele selectate " "în prezent" -#: FlatCAMApp.py:5468 +#: FlatCAMApp.py:5228 msgid "" "Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -531,40 +519,40 @@ msgstr "" "informatii și rezultatul ar putea să nu fie cel dorit. \n" "Verifică codul G-Code generat." -#: FlatCAMApp.py:5510 +#: FlatCAMApp.py:5270 msgid "Failed. Excellon joining works only on Excellon objects." msgstr "" "Eșuat. Fuzionarea Excellon functionează doar cu obiecte de tip Excellon." -#: FlatCAMApp.py:5538 +#: FlatCAMApp.py:5298 msgid "Failed. Gerber joining works only on Gerber objects." msgstr "Eșuat. Fuzionarea Gerber functionează doar cu obiecte de tip Gerber ." -#: FlatCAMApp.py:5568 FlatCAMApp.py:5605 +#: FlatCAMApp.py:5328 FlatCAMApp.py:5365 msgid "Failed. Select a Geometry Object and try again." msgstr "Eșuat. Selectează un obiect Geometrie și încearcă din nou." -#: FlatCAMApp.py:5573 FlatCAMApp.py:5610 +#: FlatCAMApp.py:5333 FlatCAMApp.py:5370 msgid "Expected a FlatCAMGeometry, got" msgstr "Se astepta o Geometrie FlatCAM, s-a primit" -#: FlatCAMApp.py:5587 +#: FlatCAMApp.py:5347 msgid "A Geometry object was converted to MultiGeo type." msgstr "Un obiect Geometrie a fost convertit la tipul MultiGeo." -#: FlatCAMApp.py:5625 +#: FlatCAMApp.py:5385 msgid "A Geometry object was converted to SingleGeo type." msgstr "Un obiect Geometrie a fost convertit la tipul SingleGeo ." -#: FlatCAMApp.py:5892 +#: FlatCAMApp.py:5558 msgid "Toggle Units" msgstr "Comută Unitati" -#: FlatCAMApp.py:5894 +#: FlatCAMApp.py:5560 msgid "Change project units ..." msgstr "Schimbă unitătile de măsură ..." -#: FlatCAMApp.py:5895 +#: FlatCAMApp.py:5561 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -574,32 +562,40 @@ msgstr "" "geometrice ale obiectelor sa fie scalate corespunzător.\n" "Continuati?" -#: FlatCAMApp.py:5897 FlatCAMApp.py:6947 FlatCAMApp.py:7023 FlatCAMApp.py:9047 -#: FlatCAMApp.py:9061 FlatCAMApp.py:9409 FlatCAMApp.py:9420 +#: FlatCAMApp.py:5563 FlatCAMApp.py:6775 FlatCAMApp.py:6851 FlatCAMApp.py:8993 +#: FlatCAMApp.py:9007 FlatCAMApp.py:9355 FlatCAMApp.py:9366 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:5946 +#: FlatCAMApp.py:5610 msgid "Converted units to" msgstr "Unitătile au fost convertite in" -#: FlatCAMApp.py:5958 +#: FlatCAMApp.py:5622 msgid " Units conversion cancelled." msgstr " Conversia unitătilor este anulată." -#: FlatCAMApp.py:6935 flatcamTools/ToolNonCopperClear.py:564 -#: flatcamTools/ToolNonCopperClear.py:967 flatcamTools/ToolPaint.py:478 -#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSolderPaste.py:799 +#: FlatCAMApp.py:6496 +msgid "Detachable Tabs" +msgstr "Taburi detașabile" + +#: FlatCAMApp.py:6712 FlatCAMApp.py:7363 FlatCAMApp.py:7426 FlatCAMApp.py:7492 +msgid "Preferences" +msgstr "Preferințe" + +#: FlatCAMApp.py:6763 flatcamTools/ToolNonCopperClear.py:576 +#: flatcamTools/ToolNonCopperClear.py:971 flatcamTools/ToolPaint.py:478 +#: flatcamTools/ToolSolderPaste.py:524 flatcamTools/ToolSolderPaste.py:851 msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "" "Introduceti un diametru al uneltei valid: valoare ne-nula in format Real." -#: FlatCAMApp.py:6940 flatcamTools/ToolNonCopperClear.py:568 -#: flatcamTools/ToolPaint.py:482 flatcamTools/ToolSolderPaste.py:476 +#: FlatCAMApp.py:6768 flatcamTools/ToolNonCopperClear.py:580 +#: flatcamTools/ToolPaint.py:482 flatcamTools/ToolSolderPaste.py:528 msgid "Adding Tool cancelled" msgstr "Adăugarea unei unelte anulată" -#: FlatCAMApp.py:6943 +#: FlatCAMApp.py:6771 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -607,11 +603,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:7018 +#: FlatCAMApp.py:6846 msgid "Delete objects" msgstr "Șterge obiectele" -#: FlatCAMApp.py:7021 +#: FlatCAMApp.py:6849 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -619,87 +615,101 @@ msgstr "" "Sigur doriți să ștergeți definitiv\n" "obiectele selectate?" -#: FlatCAMApp.py:7052 +#: FlatCAMApp.py:6880 msgid "Object(s) deleted" msgstr "Obiect(ele) șters(e)" -#: FlatCAMApp.py:7056 +#: FlatCAMApp.py:6884 msgid "Failed. No object(s) selected..." msgstr "Eșuat. Nici-un obiect nu este selectat." -#: FlatCAMApp.py:7058 +#: FlatCAMApp.py:6886 msgid "Save the work in Editor and try again ..." msgstr "Salvează continutul din Editor și încearcă din nou." -#: FlatCAMApp.py:7088 +#: FlatCAMApp.py:6916 msgid "Object deleted" msgstr "Obiectul este șters" -#: FlatCAMApp.py:7115 +#: FlatCAMApp.py:6943 msgid "Click to set the origin ..." msgstr "Click pentru a seta originea..." -#: FlatCAMApp.py:7137 +#: FlatCAMApp.py:6965 msgid "Setting Origin..." msgstr "Setează Originea..." -#: FlatCAMApp.py:7149 +#: FlatCAMApp.py:6977 msgid "Origin set" msgstr "Originea a fost setată" -#: FlatCAMApp.py:7156 +#: FlatCAMApp.py:6984 msgid "Origin coordinates specified but incomplete." msgstr "Coordonate pentru origine specificate, dar incomplete." -#: FlatCAMApp.py:7214 +#: FlatCAMApp.py:7042 msgid "Jump to ..." msgstr "Sari la ..." -#: FlatCAMApp.py:7215 +#: FlatCAMApp.py:7043 msgid "Enter the coordinates in format X,Y:" msgstr "Introduceți coordonatele in format X,Y:" -#: FlatCAMApp.py:7223 +#: FlatCAMApp.py:7051 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Coordonate gresite. Introduceți coordonatele in format X,Y" -#: FlatCAMApp.py:7271 flatcamEditors/FlatCAMExcEditor.py:3488 -#: flatcamEditors/FlatCAMExcEditor.py:3496 +#: FlatCAMApp.py:7099 flatcamEditors/FlatCAMExcEditor.py:3517 +#: flatcamEditors/FlatCAMExcEditor.py:3525 #: flatcamEditors/FlatCAMGeoEditor.py:3901 #: flatcamEditors/FlatCAMGeoEditor.py:3916 #: flatcamEditors/FlatCAMGrbEditor.py:1068 #: flatcamEditors/FlatCAMGrbEditor.py:1172 #: flatcamEditors/FlatCAMGrbEditor.py:1446 #: flatcamEditors/FlatCAMGrbEditor.py:1704 -#: flatcamEditors/FlatCAMGrbEditor.py:4300 -#: flatcamEditors/FlatCAMGrbEditor.py:4315 flatcamGUI/FlatCAMGUI.py:2769 -#: flatcamGUI/FlatCAMGUI.py:2781 +#: flatcamEditors/FlatCAMGrbEditor.py:4319 +#: flatcamEditors/FlatCAMGrbEditor.py:4334 flatcamGUI/FlatCAMGUI.py:2808 +#: flatcamGUI/FlatCAMGUI.py:2820 msgid "Done." msgstr "Executat." -#: FlatCAMApp.py:7415 FlatCAMApp.py:7483 +#: FlatCAMApp.py:7243 FlatCAMApp.py:7314 msgid "No object is selected. Select an object and try again." msgstr "" "Nici-un obiect nu este selectat. Selectează un obiect și incearcă din nou." -#: FlatCAMApp.py:7503 +#: FlatCAMApp.py:7334 msgid "" "Aborting. The current task will be gracefully closed as soon as possible..." msgstr "Intrerup. Taskul curent va fi închis cât mai curând posibil ..." -#: FlatCAMApp.py:7509 +#: FlatCAMApp.py:7340 msgid "The current task was gracefully closed on user request..." msgstr "Taskul curent a fost închis la cererea utilizatorului ..." -#: FlatCAMApp.py:7526 FlatCAMApp.py:7590 -msgid "Preferences" -msgstr "Preferințe" - -#: FlatCAMApp.py:7586 +#: FlatCAMApp.py:7423 msgid "Preferences edited but not saved." msgstr "Preferințele au fost editate dar nu au fost salvate." -#: FlatCAMApp.py:7621 +#: FlatCAMApp.py:7437 FlatCAMApp.py:7449 FlatCAMApp.py:7466 FlatCAMApp.py:7483 +#: FlatCAMApp.py:7542 FlatCAMCommon.py:1101 +msgid "Tools Database" +msgstr "Baza de Date Unelte" + +#: FlatCAMApp.py:7463 +msgid "Tools in Tools Database edited but not saved." +msgstr "Uneltele din Baza de date au fost editate dar nu au fost salvate." + +#: FlatCAMApp.py:7487 +msgid "Tool from DB added in Tool Table." +msgstr "Unealtă din Baza de date adăugată in Tabela de Unelte." + +#: FlatCAMApp.py:7489 +msgid "Adding tool from DB is not allowed for this object." +msgstr "" +"Adaugarea unei unelte din Baza de date nu este permisa pt acest obiect." + +#: FlatCAMApp.py:7523 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -707,179 +717,196 @@ msgstr "" "Una sau mai multe valori au fost schimbate.\n" "Dorești să salvezi Preferințele?" -#: FlatCAMApp.py:7623 flatcamGUI/FlatCAMGUI.py:214 -#: flatcamGUI/FlatCAMGUI.py:1097 +#: FlatCAMApp.py:7525 flatcamGUI/FlatCAMGUI.py:214 +#: flatcamGUI/FlatCAMGUI.py:1085 msgid "Save Preferences" msgstr "Salvează Pref" -#: FlatCAMApp.py:7636 +#: FlatCAMApp.py:7537 msgid "Preferences saved." msgstr "Preferințele au fost salvate." -#: FlatCAMApp.py:7641 FlatCAMApp.py:9635 FlatCAMApp.py:10987 FlatCAMObj.py:6070 -#: flatcamTools/ToolSolderPaste.py:1329 +#: FlatCAMApp.py:7548 +#, fuzzy +#| msgid "" +#| "One or more values are changed.\n" +#| "Do you want to save the Preferences?" +msgid "" +"One or more Tools are edited.\n" +"Do you want to update the Tools Database?" +msgstr "" +"Una sau mai multe valori au fost schimbate.\n" +"Dorești să salvezi Preferințele?" + +#: FlatCAMApp.py:7550 +#, fuzzy +#| msgid "Tool Data" +msgid "Save Tools Database" +msgstr "Date unealtă" + +#: FlatCAMApp.py:7568 FlatCAMApp.py:9591 FlatCAMObj.py:6099 msgid "Code Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:7659 +#: FlatCAMApp.py:7586 msgid "No object selected to Flip on Y axis." msgstr "Nu sete nici-un obiect selectat pentru oglindire pe axa Y." -#: FlatCAMApp.py:7685 +#: FlatCAMApp.py:7612 msgid "Flip on Y axis done." msgstr "Oglindire pe axa Y executată." -#: FlatCAMApp.py:7688 FlatCAMApp.py:7731 -#: flatcamEditors/FlatCAMGrbEditor.py:5756 +#: FlatCAMApp.py:7615 FlatCAMApp.py:7658 +#: flatcamEditors/FlatCAMGrbEditor.py:5775 msgid "Flip action was not executed." msgstr "Acțiunea de Oglindire nu a fost executată." -#: FlatCAMApp.py:7702 +#: FlatCAMApp.py:7629 msgid "No object selected to Flip on X axis." msgstr "Nu este nici-un obiect selectat pentru oglindire pe axa X." -#: FlatCAMApp.py:7728 +#: FlatCAMApp.py:7655 msgid "Flip on X axis done." msgstr "Oglindirea pe axa X executată." -#: FlatCAMApp.py:7745 +#: FlatCAMApp.py:7672 msgid "No object selected to Rotate." msgstr "Nici-un obiect selectat pentru Rotaţie." -#: FlatCAMApp.py:7748 FlatCAMApp.py:7796 FlatCAMApp.py:7829 +#: FlatCAMApp.py:7675 FlatCAMApp.py:7723 FlatCAMApp.py:7756 msgid "Transform" msgstr "Transformare" -#: FlatCAMApp.py:7748 FlatCAMApp.py:7796 FlatCAMApp.py:7829 +#: FlatCAMApp.py:7675 FlatCAMApp.py:7723 FlatCAMApp.py:7756 msgid "Enter the Angle value:" msgstr "Introduceți valoaea Unghiului:" -#: FlatCAMApp.py:7779 +#: FlatCAMApp.py:7706 msgid "Rotation done." msgstr "Rotaţie executată." -#: FlatCAMApp.py:7782 +#: FlatCAMApp.py:7709 msgid "Rotation movement was not executed." msgstr "Mișcarea de rotație nu a fost executată." -#: FlatCAMApp.py:7794 +#: FlatCAMApp.py:7721 msgid "No object selected to Skew/Shear on X axis." msgstr "Nici-un obiect nu este selectat pentru Deformare pe axa X." -#: FlatCAMApp.py:7816 +#: FlatCAMApp.py:7743 msgid "Skew on X axis done." msgstr "Deformare pe axa X terminată." -#: FlatCAMApp.py:7827 +#: FlatCAMApp.py:7754 msgid "No object selected to Skew/Shear on Y axis." msgstr "Nici-un obiect nu este selectat pentru Deformare pe axa Y." -#: FlatCAMApp.py:7849 +#: FlatCAMApp.py:7776 msgid "Skew on Y axis done." msgstr "Deformare pe axa Y terminată." -#: FlatCAMApp.py:7978 FlatCAMApp.py:8025 flatcamGUI/FlatCAMGUI.py:424 -#: flatcamGUI/FlatCAMGUI.py:1431 +#: FlatCAMApp.py:7924 FlatCAMApp.py:7971 flatcamGUI/FlatCAMGUI.py:416 +#: flatcamGUI/FlatCAMGUI.py:1430 msgid "Select All" msgstr "Selectează toate" -#: FlatCAMApp.py:7982 FlatCAMApp.py:8029 flatcamGUI/FlatCAMGUI.py:427 +#: FlatCAMApp.py:7928 FlatCAMApp.py:7975 flatcamGUI/FlatCAMGUI.py:419 msgid "Deselect All" msgstr "Deselectează toate" -#: FlatCAMApp.py:8045 +#: FlatCAMApp.py:7991 msgid "All objects are selected." msgstr "Totate obiectele sunt selectate." -#: FlatCAMApp.py:8053 +#: FlatCAMApp.py:7999 msgid "Objects selection is cleared." msgstr "Nici-un obiect nu este selectat." -#: FlatCAMApp.py:8067 flatcamGUI/FlatCAMGUI.py:1427 +#: FlatCAMApp.py:8013 flatcamGUI/FlatCAMGUI.py:1423 msgid "Grid On/Off" msgstr "Grid On/Off" -#: FlatCAMApp.py:8080 flatcamEditors/FlatCAMGeoEditor.py:944 -#: flatcamEditors/FlatCAMGrbEditor.py:2495 -#: flatcamEditors/FlatCAMGrbEditor.py:5266 flatcamGUI/ObjectUI.py:1202 +#: FlatCAMApp.py:8026 flatcamEditors/FlatCAMGeoEditor.py:944 +#: flatcamEditors/FlatCAMGrbEditor.py:2501 +#: flatcamEditors/FlatCAMGrbEditor.py:5285 flatcamGUI/ObjectUI.py:1204 #: flatcamTools/ToolDblSided.py:168 flatcamTools/ToolDblSided.py:215 -#: flatcamTools/ToolNonCopperClear.py:258 flatcamTools/ToolPaint.py:188 -#: flatcamTools/ToolSolderPaste.py:114 flatcamTools/ToolSolderPaste.py:501 +#: flatcamTools/ToolNonCopperClear.py:286 flatcamTools/ToolPaint.py:188 +#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:553 #: flatcamTools/ToolTransform.py:309 msgid "Add" msgstr "Adaugă" -#: FlatCAMApp.py:8081 FlatCAMObj.py:3782 -#: flatcamEditors/FlatCAMGrbEditor.py:2500 -#: flatcamEditors/FlatCAMGrbEditor.py:2643 flatcamGUI/FlatCAMGUI.py:606 -#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/FlatCAMGUI.py:1826 -#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2252 -#: flatcamGUI/ObjectUI.py:1218 flatcamTools/ToolNonCopperClear.py:270 -#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:120 -#: flatcamTools/ToolSolderPaste.py:503 +#: FlatCAMApp.py:8027 FlatCAMObj.py:3684 +#: flatcamEditors/FlatCAMGrbEditor.py:2506 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 flatcamGUI/FlatCAMGUI.py:598 +#: flatcamGUI/FlatCAMGUI.py:835 flatcamGUI/FlatCAMGUI.py:1836 +#: flatcamGUI/FlatCAMGUI.py:1932 flatcamGUI/FlatCAMGUI.py:2255 +#: flatcamGUI/ObjectUI.py:1230 flatcamTools/ToolNonCopperClear.py:298 +#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:127 +#: flatcamTools/ToolSolderPaste.py:555 msgid "Delete" msgstr "Șterge" -#: FlatCAMApp.py:8094 +#: FlatCAMApp.py:8040 msgid "New Grid ..." msgstr "Grid nou ..." -#: FlatCAMApp.py:8095 +#: FlatCAMApp.py:8041 msgid "Enter a Grid Value:" msgstr "Introduceti of valoare pt Grid:" -#: FlatCAMApp.py:8103 FlatCAMApp.py:8130 +#: FlatCAMApp.py:8049 FlatCAMApp.py:8076 msgid "Please enter a grid value with non-zero value, in Float format." msgstr "Introduceți o valoare pentru Grila ne-nula și in format Real." -#: FlatCAMApp.py:8109 +#: FlatCAMApp.py:8055 msgid "New Grid added" msgstr "Grid nou" -#: FlatCAMApp.py:8112 +#: FlatCAMApp.py:8058 msgid "Grid already exists" msgstr "Grila există deja" -#: FlatCAMApp.py:8115 +#: FlatCAMApp.py:8061 msgid "Adding New Grid cancelled" msgstr "Adăugarea unei valori de Grilă a fost anulată" -#: FlatCAMApp.py:8137 +#: FlatCAMApp.py:8083 msgid " Grid Value does not exist" msgstr " Valoarea Grilei nu există" -#: FlatCAMApp.py:8140 +#: FlatCAMApp.py:8086 msgid "Grid Value deleted" msgstr "Valoarea Grila a fost stearsă" -#: FlatCAMApp.py:8143 +#: FlatCAMApp.py:8089 msgid "Delete Grid value cancelled" msgstr "Ștergerea unei valori de Grilă a fost anulată" -#: FlatCAMApp.py:8149 +#: FlatCAMApp.py:8095 msgid "Key Shortcut List" msgstr "Lista de shortcut-uri" -#: FlatCAMApp.py:8183 +#: FlatCAMApp.py:8129 msgid " No object selected to copy it's name" msgstr " Nici-un obiect nu este selectat pentru i se copia valoarea" -#: FlatCAMApp.py:8187 +#: FlatCAMApp.py:8133 msgid "Name copied on clipboard ..." msgstr "Numele a fost copiat pe Clipboard ..." -#: FlatCAMApp.py:8393 flatcamEditors/FlatCAMGrbEditor.py:4232 +#: FlatCAMApp.py:8339 flatcamEditors/FlatCAMGrbEditor.py:4251 msgid "Coordinates copied to clipboard." msgstr "Coordonatele au fost copiate in clipboard." -#: FlatCAMApp.py:8584 FlatCAMApp.py:8587 FlatCAMApp.py:8590 FlatCAMApp.py:8593 -#: ObjectCollection.py:784 ObjectCollection.py:787 ObjectCollection.py:790 -#: ObjectCollection.py:793 ObjectCollection.py:796 ObjectCollection.py:799 +#: FlatCAMApp.py:8530 FlatCAMApp.py:8533 FlatCAMApp.py:8536 FlatCAMApp.py:8539 +#: ObjectCollection.py:788 ObjectCollection.py:791 ObjectCollection.py:794 +#: ObjectCollection.py:797 ObjectCollection.py:800 ObjectCollection.py:803 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} selectat" -#: FlatCAMApp.py:8731 +#: FlatCAMApp.py:8677 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -889,335 +916,336 @@ msgstr "" "Crearea unui nou Proiect le va șterge..\n" "Doriti să Salvati proiectul curentt?" -#: FlatCAMApp.py:8753 +#: FlatCAMApp.py:8699 msgid "New Project created" msgstr "Un nou Proiect a fost creat" -#: FlatCAMApp.py:8878 FlatCAMApp.py:8882 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:2115 +#: FlatCAMApp.py:8824 FlatCAMApp.py:8828 flatcamGUI/FlatCAMGUI.py:683 +#: flatcamGUI/FlatCAMGUI.py:2116 msgid "Open Gerber" msgstr "Încarcă Gerber" -#: FlatCAMApp.py:8889 +#: FlatCAMApp.py:8835 msgid "Opening Gerber file." msgstr "Se incarcă un fişier Gerber." -#: FlatCAMApp.py:8895 +#: FlatCAMApp.py:8841 msgid "Open Gerber cancelled." msgstr "Incărcarea unui fişier Gerber este anulată." -#: FlatCAMApp.py:8915 FlatCAMApp.py:8919 flatcamGUI/FlatCAMGUI.py:692 -#: flatcamGUI/FlatCAMGUI.py:2116 +#: FlatCAMApp.py:8861 FlatCAMApp.py:8865 flatcamGUI/FlatCAMGUI.py:684 +#: flatcamGUI/FlatCAMGUI.py:2117 msgid "Open Excellon" msgstr "Încarcă Excellon" -#: FlatCAMApp.py:8925 +#: FlatCAMApp.py:8871 msgid "Opening Excellon file." msgstr "Se incarcă un fişier Excellon." -#: FlatCAMApp.py:8931 +#: FlatCAMApp.py:8877 msgid " Open Excellon cancelled." msgstr " Incărcarea unui fişier Excellon este anulată." -#: FlatCAMApp.py:8954 FlatCAMApp.py:8958 +#: FlatCAMApp.py:8900 FlatCAMApp.py:8904 msgid "Open G-Code" msgstr "Încarcă G-Code" -#: FlatCAMApp.py:8965 +#: FlatCAMApp.py:8911 msgid "Opening G-Code file." msgstr "Se incarcă un fişier G-Code." -#: FlatCAMApp.py:8971 +#: FlatCAMApp.py:8917 msgid "Open G-Code cancelled." msgstr "Incărcarea unui fişier G-Code este anulată." -#: FlatCAMApp.py:8988 FlatCAMApp.py:8991 flatcamGUI/FlatCAMGUI.py:1433 +#: FlatCAMApp.py:8934 FlatCAMApp.py:8937 flatcamGUI/FlatCAMGUI.py:1432 msgid "Open Project" msgstr "Încarcă Project" -#: FlatCAMApp.py:9000 +#: FlatCAMApp.py:8946 msgid "Open Project cancelled." msgstr "Incărcarea unui fişier Proiect FlatCAM este anulată." -#: FlatCAMApp.py:9019 FlatCAMApp.py:9022 +#: FlatCAMApp.py:8965 FlatCAMApp.py:8968 msgid "Open Configuration File" msgstr "Încarcă un fişier de Configurare" -#: FlatCAMApp.py:9027 +#: FlatCAMApp.py:8973 msgid "Open Config cancelled." msgstr "Incărcarea unui fişier configurare FlatCAM este anulată." -#: FlatCAMApp.py:9043 FlatCAMApp.py:9405 +#: FlatCAMApp.py:8989 FlatCAMApp.py:9351 msgid "No object selected." msgstr "Nici-un obiect nu este selectat." -#: FlatCAMApp.py:9044 FlatCAMApp.py:9406 +#: FlatCAMApp.py:8990 FlatCAMApp.py:9352 msgid "Please Select a Geometry object to export" msgstr "Selectează un obiect Geometrie pentru export" -#: FlatCAMApp.py:9058 +#: FlatCAMApp.py:9004 msgid "Only Geometry, Gerber and CNCJob objects can be used." msgstr "Doar obiectele Geometrie, Gerber și CNCJob pot fi folosite." -#: FlatCAMApp.py:9071 FlatCAMApp.py:9075 +#: FlatCAMApp.py:9017 FlatCAMApp.py:9021 flatcamTools/ToolQRCode.py:795 +#: flatcamTools/ToolQRCode.py:799 msgid "Export SVG" msgstr "Exporta SVG" -#: FlatCAMApp.py:9081 +#: FlatCAMApp.py:9027 flatcamTools/ToolQRCode.py:804 msgid " Export SVG cancelled." msgstr " Exportul fisierului SVG a fost anulat." -#: FlatCAMApp.py:9102 +#: FlatCAMApp.py:9048 msgid "Data must be a 3D array with last dimension 3 or 4" msgstr "" "Datele trebuie să fie organizate intr-o arie 3D cu ultima dimensiune cu " "valoarea 3 sau 4" -#: FlatCAMApp.py:9108 FlatCAMApp.py:9112 +#: FlatCAMApp.py:9054 FlatCAMApp.py:9058 msgid "Export PNG Image" msgstr "Exporta imagine PNG" -#: FlatCAMApp.py:9117 +#: FlatCAMApp.py:9063 msgid "Export PNG cancelled." msgstr "Exportul imagine PNG este anulat." -#: FlatCAMApp.py:9141 +#: FlatCAMApp.py:9087 msgid "No object selected. Please select an Gerber object to export." msgstr "Nici-un obiect selectat. Selectează un obiect Gerber pentru export." -#: FlatCAMApp.py:9147 FlatCAMApp.py:9367 +#: FlatCAMApp.py:9093 FlatCAMApp.py:9313 msgid "Failed. Only Gerber objects can be saved as Gerber files..." msgstr "Eșuat. Doar obiectele tip Gerber pot fi salvate ca fişiere Gerber..." -#: FlatCAMApp.py:9159 +#: FlatCAMApp.py:9105 msgid "Save Gerber source file" msgstr "Salvează codul sursa Gerber ca fişier" -#: FlatCAMApp.py:9165 +#: FlatCAMApp.py:9111 msgid "Save Gerber source file cancelled." msgstr "Salvarea codului sursa Gerber este anulată." -#: FlatCAMApp.py:9185 +#: FlatCAMApp.py:9131 msgid "No object selected. Please select an Script object to export." msgstr "Nici-un obiect selectat. Selectează un obiect Script pentru export." -#: FlatCAMApp.py:9191 +#: FlatCAMApp.py:9137 msgid "Failed. Only Script objects can be saved as TCL Script files..." msgstr "" "Eșuat. Doar obiectele tip Script pot fi salvate ca fişiere TCL Script..." -#: FlatCAMApp.py:9203 +#: FlatCAMApp.py:9149 msgid "Save Script source file" msgstr "Salvează codul sursa Script ca fişier" -#: FlatCAMApp.py:9209 +#: FlatCAMApp.py:9155 msgid "Save Script source file cancelled." msgstr "Salvarea codului sursa Script este anulată." -#: FlatCAMApp.py:9229 +#: FlatCAMApp.py:9175 msgid "No object selected. Please select an Document object to export." msgstr "Nici-un obiect selectat. Selectează un obiect Document pentru export." -#: FlatCAMApp.py:9235 +#: FlatCAMApp.py:9181 msgid "Failed. Only Document objects can be saved as Document files..." msgstr "" "Eșuat. Doar obiectele tip Document pot fi salvate ca fişiere Document ..." -#: FlatCAMApp.py:9247 +#: FlatCAMApp.py:9193 msgid "Save Document source file" msgstr "Salvează codul sursa Document ca fişier" -#: FlatCAMApp.py:9253 +#: FlatCAMApp.py:9199 msgid "Save Document source file cancelled." msgstr "Salvarea codului sursa Document este anulată." -#: FlatCAMApp.py:9273 +#: FlatCAMApp.py:9219 msgid "No object selected. Please select an Excellon object to export." msgstr "Nici-un obiect selectat. Selectează un obiect Excellon pentru export." -#: FlatCAMApp.py:9279 FlatCAMApp.py:9323 +#: FlatCAMApp.py:9225 FlatCAMApp.py:9269 msgid "Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "Eșuat. Doar obiectele tip Excellon pot fi salvate ca fişiere Excellon ..." -#: FlatCAMApp.py:9287 FlatCAMApp.py:9291 +#: FlatCAMApp.py:9233 FlatCAMApp.py:9237 msgid "Save Excellon source file" msgstr "Salvează codul sursa Excellon ca fişier" -#: FlatCAMApp.py:9297 +#: FlatCAMApp.py:9243 msgid "Saving Excellon source file cancelled." msgstr "Salvarea codului sursa Excellon este anulată." -#: FlatCAMApp.py:9317 +#: FlatCAMApp.py:9263 msgid "No object selected. Please Select an Excellon object to export." msgstr "Nici-un obiect selectat. Selectează un obiect Excellon pentru export." -#: FlatCAMApp.py:9331 FlatCAMApp.py:9335 +#: FlatCAMApp.py:9277 FlatCAMApp.py:9281 msgid "Export Excellon" msgstr "Exportă Excellon" -#: FlatCAMApp.py:9341 +#: FlatCAMApp.py:9287 msgid "Export Excellon cancelled." msgstr "Exportul fișierului Excellon a fost anulat." -#: FlatCAMApp.py:9361 +#: FlatCAMApp.py:9307 msgid "No object selected. Please Select an Gerber object to export." msgstr "Nici-un obiect selectat. Selectează un obiect Gerber pentru export." -#: FlatCAMApp.py:9375 FlatCAMApp.py:9379 +#: FlatCAMApp.py:9321 FlatCAMApp.py:9325 msgid "Export Gerber" msgstr "Exportă Gerber" -#: FlatCAMApp.py:9385 +#: FlatCAMApp.py:9331 msgid "Export Gerber cancelled." msgstr "Exportul fișierului Gerber a fost anulat." -#: FlatCAMApp.py:9417 +#: FlatCAMApp.py:9363 msgid "Only Geometry objects can be used." msgstr "Doar obiecte tip Geometrie pot fi folosite." -#: FlatCAMApp.py:9431 FlatCAMApp.py:9435 +#: FlatCAMApp.py:9377 FlatCAMApp.py:9381 msgid "Export DXF" msgstr "Exportă DXF" -#: FlatCAMApp.py:9442 +#: FlatCAMApp.py:9388 msgid "Export DXF cancelled." msgstr "Exportul fișierului DXF a fost anulat." -#: FlatCAMApp.py:9462 FlatCAMApp.py:9465 +#: FlatCAMApp.py:9408 FlatCAMApp.py:9411 msgid "Import SVG" msgstr "Importă SVG" -#: FlatCAMApp.py:9475 +#: FlatCAMApp.py:9421 msgid "Open SVG cancelled." msgstr "Incărcarea fișierului SVG a fost anulată." -#: FlatCAMApp.py:9494 FlatCAMApp.py:9498 +#: FlatCAMApp.py:9440 FlatCAMApp.py:9444 msgid "Import DXF" msgstr "Importa DXF" -#: FlatCAMApp.py:9508 +#: FlatCAMApp.py:9454 msgid "Open DXF cancelled." msgstr "Incărcarea fișierului DXF a fost anulată." -#: FlatCAMApp.py:9546 +#: FlatCAMApp.py:9491 msgid "Viewing the source code of the selected object." msgstr "Vizualizarea codului sursă a obiectului selectat." -#: FlatCAMApp.py:9547 FlatCAMObj.py:6056 +#: FlatCAMApp.py:9492 FlatCAMObj.py:6085 msgid "Loading..." msgstr "Se incarcă..." -#: FlatCAMApp.py:9554 +#: FlatCAMApp.py:9499 FlatCAMApp.py:9504 msgid "Select an Gerber or Excellon file to view it's source file." msgstr "Selectati un obiect Gerber sau Excellon pentru a-i vedea codul sursa." -#: FlatCAMApp.py:9569 +#: FlatCAMApp.py:9518 msgid "Source Editor" msgstr "Editor Cod Sursă" -#: FlatCAMApp.py:9602 FlatCAMApp.py:9609 +#: FlatCAMApp.py:9558 FlatCAMApp.py:9565 msgid "There is no selected object for which to see it's source file code." msgstr "Nici-un obiect selectat pentru a-i vedea codul sursa." -#: FlatCAMApp.py:9621 +#: FlatCAMApp.py:9577 msgid "Failed to load the source code for the selected object" msgstr "Codul sursă pentru obiectul selectat nu a putut fi încărcat" -#: FlatCAMApp.py:9660 +#: FlatCAMApp.py:9616 msgid "New TCL script file created in Code Editor." msgstr "Un nou script TCL a fost creat in Editorul de cod." -#: FlatCAMApp.py:9698 FlatCAMApp.py:9700 +#: FlatCAMApp.py:9654 FlatCAMApp.py:9656 msgid "Open TCL script" msgstr "Încarcă TCL script" -#: FlatCAMApp.py:9705 +#: FlatCAMApp.py:9661 msgid "Open TCL script cancelled." msgstr "Incărcarea fisierului TCL script anulată." -#: FlatCAMApp.py:9729 +#: FlatCAMApp.py:9685 msgid "Executing FlatCAMScript file." msgstr "Se executa un fisier script FlatCAM." -#: FlatCAMApp.py:9736 FlatCAMApp.py:9739 +#: FlatCAMApp.py:9692 FlatCAMApp.py:9695 msgid "Run TCL script" msgstr "Ruleaza TCL script" -#: FlatCAMApp.py:9749 +#: FlatCAMApp.py:9705 msgid "Run TCL script cancelled." msgstr "Executarea fisierului Script a fost anulată." -#: FlatCAMApp.py:9765 +#: FlatCAMApp.py:9721 msgid "TCL script file opened in Code Editor and executed." msgstr "Un fisier script TCL a fost deschis in Editorul de cod si executat." -#: FlatCAMApp.py:9816 FlatCAMApp.py:9820 +#: FlatCAMApp.py:9772 FlatCAMApp.py:9776 msgid "Save Project As ..." msgstr "Salvează Proiectul ca ..." -#: FlatCAMApp.py:9817 +#: FlatCAMApp.py:9773 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Proiect_{date}" -#: FlatCAMApp.py:9826 +#: FlatCAMApp.py:9782 msgid "Save Project cancelled." msgstr "Salvarea Proiect anulată." -#: FlatCAMApp.py:9874 +#: FlatCAMApp.py:9830 msgid "Exporting SVG" msgstr "SVG in curs de export" -#: FlatCAMApp.py:9916 FlatCAMApp.py:10043 FlatCAMApp.py:10186 +#: FlatCAMApp.py:9874 FlatCAMApp.py:10001 FlatCAMApp.py:10144 msgid "SVG file exported to" msgstr "Fişier SVG exportat in" -#: FlatCAMApp.py:9963 FlatCAMApp.py:10105 flatcamTools/ToolPanelize.py:404 +#: FlatCAMApp.py:9921 FlatCAMApp.py:10063 flatcamTools/ToolPanelize.py:404 msgid "No object Box. Using instead" msgstr "Nu exista container. Se foloseşte in schimb" -#: FlatCAMApp.py:10046 FlatCAMApp.py:10189 +#: FlatCAMApp.py:10004 FlatCAMApp.py:10147 msgid "Generating Film ... Please wait." msgstr "Filmul se generează ... Aşteaptă." -#: FlatCAMApp.py:10361 +#: FlatCAMApp.py:10319 msgid "Excellon file exported to" msgstr "Fişierul Excellon exportat in" -#: FlatCAMApp.py:10370 +#: FlatCAMApp.py:10328 msgid "Exporting Excellon" msgstr "Excellon in curs de export" -#: FlatCAMApp.py:10376 FlatCAMApp.py:10384 +#: FlatCAMApp.py:10334 FlatCAMApp.py:10342 msgid "Could not export Excellon file." msgstr "Fişierul Excellon nu a fost posibil să fie exportat." -#: FlatCAMApp.py:10500 +#: FlatCAMApp.py:10458 msgid "Gerber file exported to" msgstr "Fişier Gerber exportat in" -#: FlatCAMApp.py:10508 +#: FlatCAMApp.py:10466 msgid "Exporting Gerber" msgstr "Gerber in curs de export" -#: FlatCAMApp.py:10514 FlatCAMApp.py:10522 +#: FlatCAMApp.py:10472 FlatCAMApp.py:10480 msgid "Could not export Gerber file." msgstr "Fişierul Gerber nu a fost posibil să fie exportat." -#: FlatCAMApp.py:10567 +#: FlatCAMApp.py:10525 msgid "DXF file exported to" msgstr "Fişierul DXF exportat in" -#: FlatCAMApp.py:10573 +#: FlatCAMApp.py:10531 msgid "Exporting DXF" msgstr "DXF in curs de export" -#: FlatCAMApp.py:10579 FlatCAMApp.py:10587 +#: FlatCAMApp.py:10537 FlatCAMApp.py:10545 msgid "Could not export DXF file." msgstr "Fişierul DXF nu a fost posibil să fie exportat." -#: FlatCAMApp.py:10609 FlatCAMApp.py:10654 FlatCAMApp.py:10698 +#: FlatCAMApp.py:10567 FlatCAMApp.py:10612 FlatCAMApp.py:10656 msgid "" "Not supported type is picked as parameter. Only Geometry and Gerber are " "supported" @@ -1225,89 +1253,89 @@ msgstr "" "Tipul parametrului nu este compatibil. Doar obiectele tip Geometrie si " "Gerber sunt acceptate" -#: FlatCAMApp.py:10619 +#: FlatCAMApp.py:10577 msgid "Importing SVG" msgstr "SVG in curs de ia fi importat" -#: FlatCAMApp.py:10631 FlatCAMApp.py:10674 FlatCAMApp.py:10719 -#: FlatCAMApp.py:10800 FlatCAMApp.py:10867 FlatCAMApp.py:10930 -#: FlatCAMApp.py:10968 flatcamTools/ToolPDF.py:224 +#: FlatCAMApp.py:10589 FlatCAMApp.py:10632 FlatCAMApp.py:10677 +#: FlatCAMApp.py:10758 FlatCAMApp.py:10825 FlatCAMApp.py:10888 +#: FlatCAMApp.py:10926 flatcamTools/ToolPDF.py:224 msgid "Opened" msgstr "Încarcat" -#: FlatCAMApp.py:10663 +#: FlatCAMApp.py:10621 msgid "Importing DXF" msgstr "DXF in curs de a fi importat" -#: FlatCAMApp.py:10706 +#: FlatCAMApp.py:10664 msgid "Importing Image" msgstr "Imaginea in curs de a fi importata" -#: FlatCAMApp.py:10749 +#: FlatCAMApp.py:10707 msgid "Failed to open file" msgstr "Eşec in incărcarea fişierului" -#: FlatCAMApp.py:10754 +#: FlatCAMApp.py:10712 msgid "Failed to parse file" msgstr "Parsarea fişierului a eșuat" -#: FlatCAMApp.py:10761 FlatCAMApp.py:10835 FlatCAMObj.py:4762 -#: flatcamEditors/FlatCAMGrbEditor.py:4044 flatcamTools/ToolPcbWizard.py:436 +#: FlatCAMApp.py:10719 FlatCAMApp.py:10793 FlatCAMObj.py:4718 +#: flatcamEditors/FlatCAMGrbEditor.py:4063 flatcamTools/ToolPcbWizard.py:436 msgid "An internal error has occurred. See shell.\n" msgstr "" "A apărut o eroare internă. Verifică in TCL Shell pt mai multe detalii.\n" -#: FlatCAMApp.py:10771 +#: FlatCAMApp.py:10729 msgid "Object is not Gerber file or empty. Aborting object creation." msgstr "" "Obiectul nu estetip Gerber sau este gol. Se anulează crearea obiectului." -#: FlatCAMApp.py:10779 +#: FlatCAMApp.py:10737 msgid "Opening Gerber" msgstr "Gerber in curs de incărcare" -#: FlatCAMApp.py:10790 +#: FlatCAMApp.py:10748 msgid " Open Gerber failed. Probable not a Gerber file." msgstr " Incărcarea Gerber a eșuat. Probabil nu este de tip Gerber." -#: FlatCAMApp.py:10825 flatcamTools/ToolPcbWizard.py:426 +#: FlatCAMApp.py:10783 flatcamTools/ToolPcbWizard.py:426 msgid "This is not Excellon file." msgstr "Acesta nu este un fişier Excellon." -#: FlatCAMApp.py:10829 +#: FlatCAMApp.py:10787 msgid "Cannot open file" msgstr "Nu se poate incărca fişierul" -#: FlatCAMApp.py:10849 flatcamTools/ToolPDF.py:274 +#: FlatCAMApp.py:10807 flatcamTools/ToolPDF.py:274 #: flatcamTools/ToolPcbWizard.py:450 msgid "No geometry found in file" msgstr "Nici-o informaţie de tip geometrie nu s-a gasit in fişierul" -#: FlatCAMApp.py:10852 +#: FlatCAMApp.py:10810 msgid "Opening Excellon." msgstr "Excellon in curs de incărcare." -#: FlatCAMApp.py:10859 +#: FlatCAMApp.py:10817 msgid "Open Excellon file failed. Probable not an Excellon file." msgstr "Incărcarea Excellon a eșuat. Probabil nu este de tip Excellon." -#: FlatCAMApp.py:10890 +#: FlatCAMApp.py:10848 msgid "Reading GCode file" msgstr "Se citeşte un fişier G-Code" -#: FlatCAMApp.py:10897 +#: FlatCAMApp.py:10855 msgid "Failed to open" msgstr "A eșuat incărcarea fişierului" -#: FlatCAMApp.py:10905 +#: FlatCAMApp.py:10863 msgid "This is not GCODE" msgstr "Acest obiect nu este de tip GCode" -#: FlatCAMApp.py:10910 +#: FlatCAMApp.py:10868 msgid "Opening G-Code." msgstr "G-Code in curs de incărcare." -#: FlatCAMApp.py:10919 +#: FlatCAMApp.py:10877 msgid "" "Failed to create CNCJob Object. Probable not a GCode file. Try to load it " "from File menu.\n" @@ -1318,55 +1346,55 @@ msgstr "" "Încercați să-l încărcați din meniul Fișier. \n" "Incercarea de a crea un obiect CNCJob din G-Code a eșuat in timpul procesarii" -#: FlatCAMApp.py:10944 +#: FlatCAMApp.py:10902 msgid "Opening TCL Script..." msgstr "Încarcă TCL script..." -#: FlatCAMApp.py:10952 +#: FlatCAMApp.py:10910 msgid "TCL script file opened in Code Editor." msgstr "S-a încărcat un script TCL în Editorul Cod." -#: FlatCAMApp.py:10955 +#: FlatCAMApp.py:10913 msgid "Failed to open TCL Script." msgstr "Eşec in incărcarea fişierului TCL." -#: FlatCAMApp.py:10983 +#: FlatCAMApp.py:10941 msgid "Opening FlatCAM Config file." msgstr "Se incarca un fişier FlatCAM de configurare." -#: FlatCAMApp.py:11005 +#: FlatCAMApp.py:10969 msgid "Failed to open config file" msgstr "Eşec in incărcarea fişierului de configurare" -#: FlatCAMApp.py:11031 +#: FlatCAMApp.py:10995 msgid "Loading Project ... Please Wait ..." msgstr "Se încarcă proiectul ... Vă rugăm să așteptați ..." -#: FlatCAMApp.py:11036 +#: FlatCAMApp.py:11000 msgid "Opening FlatCAM Project file." msgstr "Se incarca un fisier proiect FlatCAM." -#: FlatCAMApp.py:11046 FlatCAMApp.py:11064 +#: FlatCAMApp.py:11010 FlatCAMApp.py:11028 msgid "Failed to open project file" msgstr "Eşec in incărcarea fişierului proiect" -#: FlatCAMApp.py:11098 +#: FlatCAMApp.py:11062 msgid "Loading Project ... restoring" msgstr "Se încarcă proiectul ... se restabileste" -#: FlatCAMApp.py:11107 +#: FlatCAMApp.py:11071 msgid "Project loaded from" msgstr "Proiectul a fost incărcat din" -#: FlatCAMApp.py:11170 +#: FlatCAMApp.py:11134 msgid "Redrawing all objects" msgstr "Toate obiectele sunt reafisate" -#: FlatCAMApp.py:11202 +#: FlatCAMApp.py:11166 msgid "Available commands:\n" msgstr "Comenzi disponibile:\n" -#: FlatCAMApp.py:11204 +#: FlatCAMApp.py:11168 msgid "" "\n" "\n" @@ -1378,51 +1406,51 @@ msgstr "" "Introduceți help pentru utilizare.\n" "Exemplu: help open_gerber" -#: FlatCAMApp.py:11354 +#: FlatCAMApp.py:11318 msgid "Shows list of commands." msgstr "Arata o lista de comenzi." -#: FlatCAMApp.py:11416 +#: FlatCAMApp.py:11380 msgid "Failed to load recent item list." msgstr "Eşec in incărcarea listei cu fişiere recente." -#: FlatCAMApp.py:11424 +#: FlatCAMApp.py:11388 msgid "Failed to parse recent item list." msgstr "Eşec in parsarea listei cu fişiere recente." -#: FlatCAMApp.py:11435 +#: FlatCAMApp.py:11399 msgid "Failed to load recent projects item list." msgstr "Eşec in incărcarea listei cu proiecte recente." -#: FlatCAMApp.py:11443 +#: FlatCAMApp.py:11407 msgid "Failed to parse recent project item list." msgstr "Eşec in parsarea listei cu proiecte recente." -#: FlatCAMApp.py:11502 +#: FlatCAMApp.py:11466 msgid "Clear Recent projects" msgstr "Sterge Proiectele recente" -#: FlatCAMApp.py:11525 +#: FlatCAMApp.py:11489 msgid "Clear Recent files" msgstr "Sterge fişierele recente" -#: FlatCAMApp.py:11542 flatcamGUI/FlatCAMGUI.py:1114 +#: FlatCAMApp.py:11506 flatcamGUI/FlatCAMGUI.py:1102 msgid "Shortcut Key List" msgstr "Lista cu taste Shortcut" -#: FlatCAMApp.py:11616 +#: FlatCAMApp.py:11580 msgid "Selected Tab - Choose an Item from Project Tab" msgstr "Tab-ul Selectat - Alege un obiect din Tab-ul Proiect" -#: FlatCAMApp.py:11617 +#: FlatCAMApp.py:11581 msgid "Details" msgstr "Detalii" -#: FlatCAMApp.py:11619 +#: FlatCAMApp.py:11583 msgid "The normal flow when working in FlatCAM is the following:" msgstr "Fluxul normal cand se lucreaza in FlatCAM este urmatorul:" -#: FlatCAMApp.py:11620 +#: FlatCAMApp.py:11584 msgid "" "Load/Import a Gerber, Excellon, Gcode, DXF, Raster Image or SVG file into " "FlatCAM using either the toolbars, key shortcuts or even dragging and " @@ -1432,7 +1460,7 @@ msgstr "" "sau SVG în FlatCAM utilizând fie barele de instrumente, combinatii de taste " "sau chiar tragând fișierele în GUI." -#: FlatCAMApp.py:11623 +#: FlatCAMApp.py:11587 msgid "" "You can also load a FlatCAM project by double clicking on the project file, " "drag and drop of the file into the FLATCAM GUI or through the menu (or " @@ -1442,7 +1470,7 @@ msgstr "" "proiectului, tragând fișierul în fereastra FLATCAM sau prin icon-urile din " "meniu (sau din bara de instrumente) oferite în aplicație." -#: FlatCAMApp.py:11626 +#: FlatCAMApp.py:11590 msgid "" "Once an object is available in the Project Tab, by selecting it and then " "focusing on SELECTED TAB (more simpler is to double click the object name in " @@ -1455,7 +1483,7 @@ msgstr "" "proprietățile obiectului în funcție de tipul său: Gerber, Excellon, " "Geometrie sau obiect CNCJob." -#: FlatCAMApp.py:11630 +#: FlatCAMApp.py:11594 msgid "" "If the selection of the object is done on the canvas by single click " "instead, and the SELECTED TAB is in focus, again the object properties will " @@ -1469,14 +1497,14 @@ msgstr "" "de pe ecran va aduce fila SELECTAT și o va popula chiar dacă nu a fost in " "focus." -#: FlatCAMApp.py:11634 +#: FlatCAMApp.py:11598 msgid "" "You can change the parameters in this screen and the flow direction is like " "this:" msgstr "" "Se pot schimba parametrii in acest ecran si directia de executive este asa:" -#: FlatCAMApp.py:11635 +#: FlatCAMApp.py:11599 msgid "" "Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> " "Geometry Object --> Add tools (change param in Selected Tab) --> Generate " @@ -1489,7 +1517,7 @@ msgstr "" "CNC) și / sau adăugați in fata / la final codul G-code (din nou, efectuat în " "fila SELECȚIONATĂ) -> Salvați codul G-code." -#: FlatCAMApp.py:11639 +#: FlatCAMApp.py:11603 msgid "" "A list of key shortcuts is available through an menu entry in Help --> " "Shortcuts List or through its own key shortcut: F3." @@ -1498,25 +1526,25 @@ msgstr "" "meniul Ajutor -> Lista de combinatii taste sau prin propria tasta asociata: " "F3." -#: FlatCAMApp.py:11700 +#: FlatCAMApp.py:11664 msgid "Failed checking for latest version. Could not connect." msgstr "" "Verificarea pentru ultima versiune a eșuat. Nu a fost posibilă conectarea la " "server." -#: FlatCAMApp.py:11708 +#: FlatCAMApp.py:11672 msgid "Could not parse information about latest version." msgstr "Informatia cu privire la ultima versiune nu s-a putut interpreta." -#: FlatCAMApp.py:11719 +#: FlatCAMApp.py:11683 msgid "FlatCAM is up to date!" msgstr "FlatCAM este la ultima versiune!" -#: FlatCAMApp.py:11724 +#: FlatCAMApp.py:11688 msgid "Newer Version Available" msgstr "O nouă versiune este disponibila" -#: FlatCAMApp.py:11725 +#: FlatCAMApp.py:11689 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1524,152 +1552,717 @@ msgstr "" "O nouă versiune de FlatCAM este disponibilă pentru download::\n" "\n" -#: FlatCAMApp.py:11727 +#: FlatCAMApp.py:11691 msgid "info" msgstr "informaţie" -#: FlatCAMApp.py:11806 +#: FlatCAMApp.py:11770 msgid "All plots disabled." msgstr "Toate afişările sunt dezactivate." -#: FlatCAMApp.py:11813 +#: FlatCAMApp.py:11777 msgid "All non selected plots disabled." msgstr "Toate afişările care nu sunt selectate sunt dezactivate." -#: FlatCAMApp.py:11820 +#: FlatCAMApp.py:11784 msgid "All plots enabled." msgstr "Toate afişările sunt activate." -#: FlatCAMApp.py:11827 +#: FlatCAMApp.py:11791 msgid "Selected plots enabled..." msgstr "Toate afişările selectate sunt activate..." -#: FlatCAMApp.py:11836 +#: FlatCAMApp.py:11800 msgid "Selected plots disabled..." msgstr "Toate afişările selectate sunt dezactivate..." -#: FlatCAMApp.py:11854 +#: FlatCAMApp.py:11818 msgid "Enabling plots ..." msgstr "Activează Afișare ..." -#: FlatCAMApp.py:11893 +#: FlatCAMApp.py:11857 msgid "Disabling plots ..." msgstr "Dezactivează Afișare ..." -#: FlatCAMApp.py:11915 +#: FlatCAMApp.py:11879 msgid "Working ..." msgstr "Se lucrează..." -#: FlatCAMApp.py:11954 +#: FlatCAMApp.py:11918 msgid "Saving FlatCAM Project" msgstr "Proiectul FlatCAM este in curs de salvare" -#: FlatCAMApp.py:11976 FlatCAMApp.py:12014 +#: FlatCAMApp.py:11938 FlatCAMApp.py:11976 msgid "Project saved to" msgstr "Proiectul s-a salvat in" -#: FlatCAMApp.py:11996 +#: FlatCAMApp.py:11958 msgid "Failed to verify project file" msgstr "Eşec in incărcarea fişierului proiect" -#: FlatCAMApp.py:11996 FlatCAMApp.py:12005 FlatCAMApp.py:12017 +#: FlatCAMApp.py:11958 FlatCAMApp.py:11967 FlatCAMApp.py:11979 msgid "Retry to save it." msgstr "Încercați din nou pentru a-l salva." -#: FlatCAMApp.py:12005 FlatCAMApp.py:12017 +#: FlatCAMApp.py:11967 FlatCAMApp.py:11979 msgid "Failed to parse saved project file" msgstr "Esec in analizarea fişierului Proiect" -#: FlatCAMApp.py:12238 +#: FlatCAMApp.py:12098 msgid "The user requested a graceful exit of the current task." msgstr "Utilizatorul a solicitat o inchidere grațioasă a taskului curent." -#: FlatCAMObj.py:251 -msgid "Name changed from" -msgstr "Nume schimbat din" +#: FlatCAMCommon.py:136 FlatCAMCommon.py:163 +msgid "Title" +msgstr "Titlu" -#: FlatCAMObj.py:251 -msgid "to" -msgstr "la" +#: FlatCAMCommon.py:137 FlatCAMCommon.py:167 +msgid "Web Link" +msgstr "Website" -#: FlatCAMObj.py:262 -msgid "Offsetting..." -msgstr "Ofsetare..." +#: FlatCAMCommon.py:141 +msgid "" +"Index.\n" +"The rows in gray color will populate the Bookmarks menu.\n" +"The number of gray colored rows is set in Preferences." +msgstr "" +"Index.\n" +"Rândurile în culoare gri vor fi adăugate in meniul de Bookmarks.\n" +"Numărul de rânduri colorate gri este setat în Preferințe." -#: FlatCAMObj.py:277 -msgid "Scaling..." -msgstr "Scalare..." +#: FlatCAMCommon.py:145 +msgid "" +"Description of the link that is set as an menu action.\n" +"Try to keep it short because it is installed as a menu item." +msgstr "" +"Descrierea Website care este setată ca acțiune de meniu.\n" +"Încercați să o mențineți scurtă, deoarece este instalată ca element de meniu." -#: FlatCAMObj.py:293 -msgid "Skewing..." -msgstr "Deformare..." +#: FlatCAMCommon.py:148 +msgid "Web Link. E.g: https://your_website.org " +msgstr "Website. De ex: https://your_website.org " -#: FlatCAMObj.py:663 FlatCAMObj.py:2491 FlatCAMObj.py:3786 -#: flatcamGUI/PreferencesUI.py:990 flatcamGUI/PreferencesUI.py:2069 -msgid "Basic" -msgstr "Baza" +#: FlatCAMCommon.py:157 +msgid "New Bookmark" +msgstr "Bookmark Nou" -#: FlatCAMObj.py:685 FlatCAMObj.py:2503 FlatCAMObj.py:3806 -#: flatcamGUI/PreferencesUI.py:991 -msgid "Advanced" -msgstr "Avansat" +#: FlatCAMCommon.py:176 +msgid "Add Entry" +msgstr "Adaugă Intrare" -#: FlatCAMObj.py:901 -msgid "Buffering solid geometry" -msgstr "Buferarea geometriei solide" +#: FlatCAMCommon.py:177 +msgid "Remove Entry" +msgstr "Elimina Intrare" -#: FlatCAMObj.py:904 camlib.py:982 flatcamGUI/PreferencesUI.py:1516 -#: flatcamTools/ToolNonCopperClear.py:1602 -#: flatcamTools/ToolNonCopperClear.py:1700 -#: flatcamTools/ToolNonCopperClear.py:1712 -#: flatcamTools/ToolNonCopperClear.py:1950 -#: flatcamTools/ToolNonCopperClear.py:2046 -#: flatcamTools/ToolNonCopperClear.py:2058 -msgid "Buffering" -msgstr "Buferare" +#: FlatCAMCommon.py:178 +msgid "Export List" +msgstr "Exportă lista" -#: FlatCAMObj.py:910 -msgid "Done" -msgstr "Executat" +#: FlatCAMCommon.py:179 +msgid "Import List" +msgstr "Importă lista" -#: FlatCAMObj.py:951 FlatCAMObj.py:967 FlatCAMObj.py:984 -msgid "Isolating..." -msgstr "Se izoleaza..." +#: FlatCAMCommon.py:314 +msgid "This bookmark can not be removed" +msgstr "Acest bookmark nu poate fi eliminat" -#: FlatCAMObj.py:1188 FlatCAMObj.py:1316 -#: flatcamTools/ToolNonCopperClear.py:1631 -#: flatcamTools/ToolNonCopperClear.py:1974 -msgid "Isolation geometry could not be generated." -msgstr "Geometria de izolare nu a fost posibil să fie generată." +#: FlatCAMCommon.py:360 +#, fuzzy +#| msgid "Import FlatCAM Bookmarks" +msgid "Export FlatCAM Bookmarks" +msgstr "Importă Bookmark-uri FlatCAM" -#: FlatCAMObj.py:1237 FlatCAMObj.py:3469 FlatCAMObj.py:3744 FlatCAMObj.py:4020 +#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:435 +msgid "Bookmarks" +msgstr "Bookmarks" + +#: FlatCAMCommon.py:370 +msgid "FlatCAM bookmarks export cancelled." +msgstr "Exportul de bookmark-uri FlatCAM este anulat." + +#: FlatCAMCommon.py:389 FlatCAMCommon.py:419 +msgid "Could not load bookmarks file." +msgstr "Nu am putut incărca fişierul cu bookmark-uri." + +#: FlatCAMCommon.py:399 +msgid "Failed to write bookmarks to file." +msgstr "Salvarea bookmark-urilor intr-un fişier a eșuat." + +#: FlatCAMCommon.py:401 +msgid "Exported bookmarks to" +msgstr "Exportă Bookmark-uri in" + +#: FlatCAMCommon.py:407 +msgid "Import FlatCAM Bookmarks" +msgstr "Importă Bookmark-uri FlatCAM" + +#: FlatCAMCommon.py:412 +msgid "FlatCAM bookmarks import cancelled." +msgstr "Importul de Bookmark-uri FlatCAM a eșuat." + +#: FlatCAMCommon.py:426 +msgid "Imported Bookmarks from" +msgstr "Bookmark-uri au fost importate din" + +#: FlatCAMCommon.py:477 FlatCAMObj.py:3370 FlatCAMObj.py:4352 +#: FlatCAMObj.py:4353 FlatCAMObj.py:4362 +msgid "Iso" +msgstr "Izo" + +#: FlatCAMCommon.py:477 FlatCAMCommon.py:969 FlatCAMObj.py:1236 +#: FlatCAMObj.py:3370 FlatCAMObj.py:3645 FlatCAMObj.py:3928 msgid "Rough" msgstr "Grosier" -#: FlatCAMObj.py:1262 FlatCAMObj.py:1339 +#: FlatCAMCommon.py:477 FlatCAMObj.py:3370 +msgid "Finish" +msgstr "Finisare" + +#: FlatCAMCommon.py:513 +#, fuzzy +#| msgid "Tool Number" +msgid "Tool Name" +msgstr "Număr unealtă" + +#: FlatCAMCommon.py:514 flatcamEditors/FlatCAMExcEditor.py:1527 +#: flatcamGUI/ObjectUI.py:1195 flatcamTools/ToolNonCopperClear.py:271 +#: flatcamTools/ToolPaint.py:176 +msgid "Tool Dia" +msgstr "Dia Unealtă" + +#: FlatCAMCommon.py:515 flatcamGUI/ObjectUI.py:1178 +msgid "Tool Offset" +msgstr "Ofset unealtă" + +#: FlatCAMCommon.py:516 +#, fuzzy +#| msgid "Tool Offset" +msgid "Custom Offset" +msgstr "Ofset unealtă" + +#: FlatCAMCommon.py:517 flatcamGUI/ObjectUI.py:286 +#: flatcamGUI/PreferencesUI.py:1488 flatcamGUI/PreferencesUI.py:3799 +#: flatcamTools/ToolNonCopperClear.py:213 +msgid "Tool Type" +msgstr "Tip Unealtă" + +#: FlatCAMCommon.py:518 +#, fuzzy +#| msgid "Tool change" +msgid "Tool Shape" +msgstr "Schimb unealtă" + +#: FlatCAMCommon.py:519 flatcamGUI/ObjectUI.py:327 flatcamGUI/ObjectUI.py:755 +#: flatcamGUI/ObjectUI.py:1298 flatcamGUI/PreferencesUI.py:1527 +#: flatcamGUI/PreferencesUI.py:2169 flatcamGUI/PreferencesUI.py:3008 +#: flatcamGUI/PreferencesUI.py:3844 flatcamGUI/PreferencesUI.py:4779 +#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolNonCopperClear.py:254 +msgid "Cut Z" +msgstr "Z tăiere" + +#: FlatCAMCommon.py:520 +#, fuzzy +#| msgid "Multi-Depth" +msgid "MultiDepth" +msgstr "Multi-Pas" + +#: FlatCAMCommon.py:521 +msgid "DPP" +msgstr "" + +#: FlatCAMCommon.py:522 +msgid "V-Dia" +msgstr "" + +#: FlatCAMCommon.py:523 +#, fuzzy +#| msgid "Angle" +msgid "V-Angle" +msgstr "Unghi" + +#: FlatCAMCommon.py:524 flatcamGUI/ObjectUI.py:774 flatcamGUI/ObjectUI.py:1345 +#: flatcamGUI/PreferencesUI.py:2187 flatcamGUI/PreferencesUI.py:3061 +#: flatcamTools/ToolCalibrateExcellon.py:82 +msgid "Travel Z" +msgstr "Z Deplasare" + +#: FlatCAMCommon.py:525 +msgid "FR" +msgstr "" + +#: FlatCAMCommon.py:526 +msgid "FR Z" +msgstr "" + +#: FlatCAMCommon.py:527 +#, fuzzy +#| msgid "Feed Rate Rapids" +msgid "FR Rapids" +msgstr "Feedrate rapizi" + +#: FlatCAMCommon.py:528 flatcamGUI/PreferencesUI.py:2262 +msgid "Spindle Speed" +msgstr "Viteza Motor" + +#: FlatCAMCommon.py:529 flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1497 +#: flatcamGUI/PreferencesUI.py:2272 flatcamGUI/PreferencesUI.py:3179 +msgid "Dwell" +msgstr "Pauza" + +#: FlatCAMCommon.py:530 +#, fuzzy +#| msgid "Dwell" +msgid "Dwelltime" +msgstr "Pauza" + +#: FlatCAMCommon.py:531 flatcamGUI/ObjectUI.py:915 +#: flatcamGUI/PreferencesUI.py:2294 flatcamGUI/PreferencesUI.py:3201 +msgid "Postprocessor" +msgstr "Postprocesor" + +#: FlatCAMCommon.py:532 +msgid "ExtraCut" +msgstr "" + +#: FlatCAMCommon.py:533 +#, fuzzy +#| msgid "Tool change" +msgid "Toolchange" +msgstr "Schimb unealtă" + +#: FlatCAMCommon.py:534 +#, fuzzy +#| msgid "Toolchange X,Y" +msgid "Toolchange XY" +msgstr "X,Y schimb. unealtă" + +#: FlatCAMCommon.py:535 flatcamGUI/PreferencesUI.py:2213 +#: flatcamGUI/PreferencesUI.py:3093 flatcamTools/ToolCalibrateExcellon.py:119 +msgid "Toolchange Z" +msgstr "Z schimb. unealtă" + +#: FlatCAMCommon.py:536 +#, fuzzy +#| msgid "Start" +msgid "Start Z" +msgstr "Start" + +#: FlatCAMCommon.py:537 +#, fuzzy +#| msgid "End move Z" +msgid "End Z" +msgstr "Z oprire" + +#: FlatCAMCommon.py:541 +#, fuzzy +#| msgid "Tool order" +msgid "Tool Index." +msgstr "Ordine unelte" + +#: FlatCAMCommon.py:543 +msgid "" +"Tool name.\n" +"This is not used in the app, it's function\n" +"is to serve as a note for the user." +msgstr "" + +#: FlatCAMCommon.py:547 +#, fuzzy +#| msgid "Tool Diameter" +msgid "Tool Diameter." +msgstr "Dia unealtă" + +#: FlatCAMCommon.py:549 +msgid "" +"Tool Offset.\n" +"Can be of a few types:\n" +"Path = zero offset\n" +"In = offset inside by half of tool diameter\n" +"Out = offset outside by half of tool diameter\n" +"Custom = custom offset using the Custom Offset value" +msgstr "" + +#: FlatCAMCommon.py:556 +msgid "" +"Custom Offset.\n" +"A value to be used as offset from the current path." +msgstr "" + +#: FlatCAMCommon.py:559 +msgid "" +"Tool Type.\n" +"Can be:\n" +"Iso = isolation cut\n" +"Rough = rough cut, low feedrate, multiple passes\n" +"Finish = finishing cut, high feedrate" +msgstr "" + +#: FlatCAMCommon.py:565 +msgid "" +"Tool Shape. \n" +"Can be:\n" +"C1 ... C4 = circular tool with x flutes\n" +"B = ball tip milling tool\n" +"V = v-shape milling tool" +msgstr "" + +#: FlatCAMCommon.py:571 +msgid "" +"Cutting Depth.\n" +"The depth at which to cut into material." +msgstr "" + +#: FlatCAMCommon.py:574 +msgid "" +"Multi Depth.\n" +"Selecting this will allow cutting in multiple passes,\n" +"each pass adding a DPP parameter depth." +msgstr "" + +#: FlatCAMCommon.py:578 +msgid "" +"DPP. Depth per Pass.\n" +"The value used to cut into material on each pass." +msgstr "" + +#: FlatCAMCommon.py:581 +#, fuzzy +#| msgid "Diameter of the drill for the alignment holes." +msgid "" +"V-Dia.\n" +"Diameter of the tip for V-Shape Tools." +msgstr "Diametrul găurii pentru găurile de aliniere." + +#: FlatCAMCommon.py:584 +msgid "" +"V-Agle.\n" +"Angle at the tip for the V-Shape Tools." +msgstr "" + +#: FlatCAMCommon.py:587 +msgid "" +"Clearance Height.\n" +"Height at which the milling bit will travel between cuts,\n" +"above the surface of the material, avoiding all fixtures." +msgstr "" + +#: FlatCAMCommon.py:591 +msgid "" +"FR. Feedrate\n" +"The speed on XY plane used while cutting into material." +msgstr "" + +#: FlatCAMCommon.py:594 +msgid "" +"FR Z. Feedrate Z\n" +"The speed on Z plane." +msgstr "" + +#: FlatCAMCommon.py:597 +msgid "" +"FR Rapids. Feedrate Rapids\n" +"Speed used while moving as fast as possible.\n" +"This is used only by some devices that can't use\n" +"the G0 g-code command. Mostly 3D printers." +msgstr "" + +#: FlatCAMCommon.py:602 +msgid "" +"Spindle Speed.\n" +"If it's left empty it will not be used.\n" +"The speed of the spindle in RPM." +msgstr "" + +#: FlatCAMCommon.py:606 +#, fuzzy +#| msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" +msgid "" +"Dwell.\n" +"Check this if a delay is needed to allow\n" +"the spindle motor to reach it's set speed." +msgstr "dwelltime = durata de asteptare ca motorul să ajunga la turatia setată" + +#: FlatCAMCommon.py:610 +#, fuzzy +#| msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" +msgid "" +"Dwell Time.\n" +"A delay used to allow the motor spindle reach it's set speed." +msgstr "dwelltime = durata de asteptare ca motorul să ajunga la turatia setată" + +#: FlatCAMCommon.py:613 +msgid "" +"Postprocessor.\n" +"A selection of files that will alter the generated G-code\n" +"to fit for a number of use cases." +msgstr "" + +#: FlatCAMCommon.py:617 +msgid "" +"Extra Cut.\n" +"If checked, after a isolation is finished an extra cut\n" +"will be added where the start and end of isolation meet\n" +"such as that this point is covered by this extra cut to\n" +"ensure a complete isolation." +msgstr "" + +#: FlatCAMCommon.py:623 +msgid "" +"Toolchange.\n" +"It will create a toolchange event.\n" +"The kind of toolchange is determined by\n" +"the postprocessor file." +msgstr "" + +#: FlatCAMCommon.py:628 +msgid "" +"Toolchange XY.\n" +"A set of coordinates in the format (x, y).\n" +"Will determine the cartesian position of the point\n" +"where the tool change event take place." +msgstr "" + +#: FlatCAMCommon.py:633 +msgid "" +"Toolchange Z.\n" +"The position on Z plane where the tool change event take place." +msgstr "" + +#: FlatCAMCommon.py:636 +msgid "" +"Start Z.\n" +"If it's left empty it will not be used.\n" +"A position on Z plane to move immediately after job start." +msgstr "" + +#: FlatCAMCommon.py:640 +msgid "" +"End Z.\n" +"A position on Z plane to move immediately after job stop." +msgstr "" + +#: FlatCAMCommon.py:650 flatcamTools/ToolNonCopperClear.py:567 +#: flatcamTools/ToolPaint.py:469 flatcamTools/ToolSolderPaste.py:515 +msgid "New Tool" +msgstr "O Noua Unealtă" + +#: FlatCAMCommon.py:661 +#, fuzzy +#| msgid "Add Text Tool" +msgid "Add Tool to Tools DB" +msgstr "Unealta Adaugare Text" + +#: FlatCAMCommon.py:663 +#, fuzzy +#| msgid "" +#| "Add a new tool to the Tool Table\n" +#| "with the diameter specified above." +msgid "" +"Add a new tool in the Tools Database.\n" +"You can edit it after it is added." +msgstr "" +"Adaugă o noua unelata in Tabela de Unelte,\n" +"cu diametrul specificat mai sus." + +#: FlatCAMCommon.py:666 +msgid "Remove Tool from Tools DB" +msgstr "" + +#: FlatCAMCommon.py:668 +#, fuzzy +#| msgid "No selected tools in Tool Table." +msgid "Remove a selection of tools in the Tools Database." +msgstr "Nu sunt unelte selectate in Tabela de Unelte." + +#: FlatCAMCommon.py:670 +#, fuzzy +#| msgid "Export DXF" +msgid "Export Tool DB" +msgstr "Exportă DXF" + +#: FlatCAMCommon.py:672 +msgid "Save the Tools Database to a custom text file." +msgstr "" + +#: FlatCAMCommon.py:674 +#, fuzzy +#| msgid "PDF Import Tool" +msgid "Import Tool DB" +msgstr "Unealta import PDF" + +#: FlatCAMCommon.py:676 +msgid "Load the Tools Database information's from a custom text file." +msgstr "" + +#: FlatCAMCommon.py:686 +msgid "Add Tool from Tools DB" +msgstr "" + +#: FlatCAMCommon.py:688 +#, fuzzy +#| msgid "" +#| "Copy a selection of tools in the Tool Table\n" +#| "by first selecting a row in the Tool Table." +msgid "" +"Add a new tool in the Tools Table of the\n" +"active Geometry object after selecting a tool\n" +"in the Tools Database." +msgstr "" +"Copiază o selecţie de unelte in Tabela de Unelte prin\n" +"selectarea unei linii (sau mai multe) in Tabela de Unelte." + +#: FlatCAMCommon.py:722 FlatCAMCommon.py:1045 FlatCAMCommon.py:1079 +#, fuzzy +#| msgid "Could not load bookmarks file." +msgid "Could not load Tools DB file." +msgstr "Nu am putut incărca fişierul cu bookmark-uri." + +#: FlatCAMCommon.py:730 FlatCAMCommon.py:1087 +#, fuzzy +#| msgid "Failed to parse defaults file." +msgid "Failed to parse Tools DB file." +msgstr "Parsarea fişierului cu valori default a eșuat." + +#: FlatCAMCommon.py:733 FlatCAMCommon.py:1090 +msgid "Loaded FlatCAM Tools DB from" +msgstr "" + +#: FlatCAMCommon.py:1016 +#, fuzzy +#| msgid "Tool Data" +msgid "Export Tools Database" +msgstr "Date unealtă" + +#: FlatCAMCommon.py:1019 +#, fuzzy +#| msgid "Tool Data" +msgid "Tools_Database" +msgstr "Date unealtă" + +#: FlatCAMCommon.py:1026 +#, fuzzy +#| msgid "FlatCAM bookmarks export cancelled." +msgid "FlatCAM Tools DB export cancelled." +msgstr "Exportul de bookmark-uri FlatCAM este anulat." + +#: FlatCAMCommon.py:1059 +#, fuzzy +#| msgid "Failed to write bookmarks to file." +msgid "Failed to write Tools DB to file." +msgstr "Salvarea bookmark-urilor intr-un fişier a eșuat." + +#: FlatCAMCommon.py:1062 FlatCAMCommon.py:1115 +#, fuzzy +#| msgid "Exported bookmarks to" +msgid "Exported Tools DB to" +msgstr "Exportă Bookmark-uri in" + +#: FlatCAMCommon.py:1069 +#, fuzzy +#| msgid "Import FlatCAM Bookmarks" +msgid "Import FlatCAM Tools DB" +msgstr "Importă Bookmark-uri FlatCAM" + +#: FlatCAMCommon.py:1072 +#, fuzzy +#| msgid "FlatCAM bookmarks import cancelled." +msgid "FlatCAM Tools DB import cancelled." +msgstr "Importul de Bookmark-uri FlatCAM a eșuat." + +#: FlatCAMCommon.py:1262 +#, fuzzy +#| msgid "Failed. No tool selected in the tool table ..." +msgid "No Tool/row selected in the Tools Database table" +msgstr "Eșuat. Nici-o unealtă nu este selectată in Tabela de Unelte ..." + +#: FlatCAMCommon.py:1266 +#, fuzzy +#| msgid "Failed. No tool selected in the tool table ..." +msgid "Only one tool can be selected in the Tools Database table" +msgstr "Eșuat. Nici-o unealtă nu este selectată in Tabela de Unelte ..." + +#: FlatCAMObj.py:250 +msgid "Name changed from" +msgstr "Nume schimbat din" + +#: FlatCAMObj.py:250 +msgid "to" +msgstr "la" + +#: FlatCAMObj.py:261 +msgid "Offsetting..." +msgstr "Ofsetare..." + +#: FlatCAMObj.py:276 +msgid "Scaling..." +msgstr "Scalare..." + +#: FlatCAMObj.py:292 +msgid "Skewing..." +msgstr "Deformare..." + +#: FlatCAMObj.py:662 FlatCAMObj.py:2490 FlatCAMObj.py:3688 +#: flatcamGUI/PreferencesUI.py:1001 flatcamGUI/PreferencesUI.py:2093 +msgid "Basic" +msgstr "Baza" + +#: FlatCAMObj.py:684 FlatCAMObj.py:2502 FlatCAMObj.py:3708 +#: flatcamGUI/PreferencesUI.py:1002 +msgid "Advanced" +msgstr "Avansat" + +#: FlatCAMObj.py:900 +msgid "Buffering solid geometry" +msgstr "Buferarea geometriei solide" + +#: FlatCAMObj.py:903 camlib.py:978 flatcamGUI/PreferencesUI.py:1540 +#: flatcamTools/ToolCopperThieving.py:545 flatcamTools/ToolCopperThieving.py:554 +#: flatcamTools/ToolNonCopperClear.py:1613 +#: flatcamTools/ToolNonCopperClear.py:1711 +#: flatcamTools/ToolNonCopperClear.py:1723 +#: flatcamTools/ToolNonCopperClear.py:1961 +#: flatcamTools/ToolNonCopperClear.py:2057 +#: flatcamTools/ToolNonCopperClear.py:2069 +msgid "Buffering" +msgstr "Buferare" + +#: FlatCAMObj.py:909 +msgid "Done" +msgstr "Executat" + +#: FlatCAMObj.py:950 FlatCAMObj.py:966 FlatCAMObj.py:983 +msgid "Isolating..." +msgstr "Se izoleaza..." + +#: FlatCAMObj.py:1187 FlatCAMObj.py:1315 +#: flatcamTools/ToolNonCopperClear.py:1642 +#: flatcamTools/ToolNonCopperClear.py:1985 +msgid "Isolation geometry could not be generated." +msgstr "Geometria de izolare nu a fost posibil să fie generată." + +#: FlatCAMObj.py:1261 FlatCAMObj.py:1338 msgid "Isolation geometry created" msgstr "Geometria de izolare creată" -#: FlatCAMObj.py:1271 FlatCAMObj.py:1346 +#: FlatCAMObj.py:1270 FlatCAMObj.py:1345 msgid "Subtracting Geo" msgstr "Scădere Geo" -#: FlatCAMObj.py:1564 +#: FlatCAMObj.py:1563 msgid "Plotting Apertures" msgstr "Aperturile sunt in curs de afișare" -#: FlatCAMObj.py:2318 flatcamEditors/FlatCAMExcEditor.py:2323 +#: FlatCAMObj.py:2317 flatcamEditors/FlatCAMExcEditor.py:2352 msgid "Total Drills" msgstr "Nr. Tot. Op. Găurire" -#: FlatCAMObj.py:2350 flatcamEditors/FlatCAMExcEditor.py:2355 +#: FlatCAMObj.py:2349 flatcamEditors/FlatCAMExcEditor.py:2384 msgid "Total Slots" msgstr "Nr. Tot. Sloturi" -#: FlatCAMObj.py:2557 FlatCAMObj.py:3856 FlatCAMObj.py:4154 FlatCAMObj.py:4345 -#: FlatCAMObj.py:4356 FlatCAMObj.py:4474 FlatCAMObj.py:4696 FlatCAMObj.py:4819 -#: FlatCAMObj.py:4982 FlatCAMObj.py:5501 -#: flatcamEditors/FlatCAMExcEditor.py:2430 +#: FlatCAMObj.py:2556 FlatCAMObj.py:3764 FlatCAMObj.py:4128 FlatCAMObj.py:4430 +#: FlatCAMObj.py:4775 FlatCAMObj.py:5429 +#: flatcamEditors/FlatCAMExcEditor.py:2459 #: flatcamEditors/FlatCAMGeoEditor.py:1083 #: flatcamEditors/FlatCAMGeoEditor.py:1117 #: flatcamEditors/FlatCAMGeoEditor.py:1138 @@ -1677,68 +2270,66 @@ msgstr "Nr. Tot. Sloturi" #: flatcamEditors/FlatCAMGeoEditor.py:1196 #: flatcamEditors/FlatCAMGeoEditor.py:1224 #: flatcamEditors/FlatCAMGeoEditor.py:1245 -#: flatcamEditors/FlatCAMGrbEditor.py:5415 -#: flatcamEditors/FlatCAMGrbEditor.py:5458 -#: flatcamEditors/FlatCAMGrbEditor.py:5485 -#: flatcamEditors/FlatCAMGrbEditor.py:5512 -#: flatcamEditors/FlatCAMGrbEditor.py:5553 -#: flatcamEditors/FlatCAMGrbEditor.py:5591 -#: flatcamEditors/FlatCAMGrbEditor.py:5617 -#: flatcamTools/ToolNonCopperClear.py:956 -#: flatcamTools/ToolNonCopperClear.py:1032 -#: flatcamTools/ToolNonCopperClear.py:1438 flatcamTools/ToolPaint.py:810 -#: flatcamTools/ToolPaint.py:1003 flatcamTools/ToolPaint.py:1289 -#: flatcamTools/ToolPaint.py:1566 flatcamTools/ToolPaint.py:2043 -#: flatcamTools/ToolSolderPaste.py:789 flatcamTools/ToolSolderPaste.py:864 +#: flatcamEditors/FlatCAMGrbEditor.py:5434 +#: flatcamEditors/FlatCAMGrbEditor.py:5477 +#: flatcamEditors/FlatCAMGrbEditor.py:5504 +#: flatcamEditors/FlatCAMGrbEditor.py:5531 +#: flatcamEditors/FlatCAMGrbEditor.py:5572 +#: flatcamEditors/FlatCAMGrbEditor.py:5610 +#: flatcamEditors/FlatCAMGrbEditor.py:5636 +#: flatcamTools/ToolNonCopperClear.py:1036 +#: flatcamTools/ToolNonCopperClear.py:1449 flatcamTools/ToolPaint.py:810 +#: flatcamTools/ToolPaint.py:1003 flatcamTools/ToolPaint.py:2035 +#: flatcamTools/ToolSolderPaste.py:841 flatcamTools/ToolSolderPaste.py:916 msgid "Wrong value format entered, use a number." msgstr "Valoare in format incorect, foloseşte un număr." -#: FlatCAMObj.py:2811 FlatCAMObj.py:2906 FlatCAMObj.py:3027 +#: FlatCAMObj.py:2810 FlatCAMObj.py:2905 FlatCAMObj.py:3026 msgid "Please select one or more tools from the list and try again." msgstr "Selectează una sau mai multe unelte din lista și încearcă din nou." -#: FlatCAMObj.py:2818 +#: FlatCAMObj.py:2817 msgid "Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" "Anulat. Freza pt frezarea găurilor este mai mare decat diametrul găurii." -#: FlatCAMObj.py:2819 flatcamEditors/FlatCAMGeoEditor.py:406 -#: flatcamGUI/FlatCAMGUI.py:919 +#: FlatCAMObj.py:2818 flatcamEditors/FlatCAMGeoEditor.py:406 +#: flatcamGUI/FlatCAMGUI.py:425 flatcamGUI/FlatCAMGUI.py:913 msgid "Tool" msgstr "Unealta" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 msgid "Tool_nr" msgstr "Nr. Unealtă" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 -#: flatcamEditors/FlatCAMExcEditor.py:1504 -#: flatcamEditors/FlatCAMExcEditor.py:2938 flatcamGUI/ObjectUI.py:706 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 +#: flatcamEditors/FlatCAMExcEditor.py:1507 +#: flatcamEditors/FlatCAMExcEditor.py:2967 flatcamGUI/ObjectUI.py:712 #: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123 -#: flatcamTools/ToolPcbWizard.py:75 flatcamTools/ToolSolderPaste.py:80 +#: flatcamTools/ToolPcbWizard.py:75 flatcamTools/ToolSolderPaste.py:84 msgid "Diameter" msgstr "Diametru" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 msgid "Drills_Nr" msgstr "Nr. gaura" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 msgid "Slots_Nr" msgstr "Nr. slot" -#: FlatCAMObj.py:2915 +#: FlatCAMObj.py:2914 msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "Anulat. Freza este mai mare decat diametrul slotului de frezat." -#: FlatCAMObj.py:3087 FlatCAMObj.py:5195 +#: FlatCAMObj.py:3086 msgid "" "Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth" "\"]" msgstr "" "Valoare gresita pt self.defaults[\"z_pdepth\"] sau self.options[\"z_pdepth\"]" -#: FlatCAMObj.py:3098 FlatCAMObj.py:5206 +#: FlatCAMObj.py:3097 msgid "" "Wrong value format for self.defaults[\"feedrate_probe\"] or self." "options[\"feedrate_probe\"]" @@ -1746,11 +2337,11 @@ msgstr "" "Valoare gresita pt self.defaults[\"feedrate_probe\"] sau self." "options[\"feedrate_probe\"]" -#: FlatCAMObj.py:3128 FlatCAMObj.py:5081 FlatCAMObj.py:5087 FlatCAMObj.py:5241 +#: FlatCAMObj.py:3127 FlatCAMObj.py:5028 FlatCAMObj.py:5034 FlatCAMObj.py:5169 msgid "Generating CNC Code" msgstr "CNC Code in curs de generare" -#: FlatCAMObj.py:3154 camlib.py:2399 camlib.py:3383 +#: FlatCAMObj.py:3153 camlib.py:2402 camlib.py:3383 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y) \n" @@ -1760,69 +2351,67 @@ msgstr "" "in formatul (x, y) \n" "dar are o singură valoare in loc de doua. " -#: FlatCAMObj.py:3469 FlatCAMObj.py:4396 FlatCAMObj.py:4397 FlatCAMObj.py:4406 -msgid "Iso" -msgstr "Izo" +#: FlatCAMObj.py:3680 +#, fuzzy +#| msgid "Add Tool" +msgid "Add from Tool DB" +msgstr "Adaugă Unealta" -#: FlatCAMObj.py:3469 -msgid "Finish" -msgstr "Finisare" - -#: FlatCAMObj.py:3780 flatcamGUI/FlatCAMGUI.py:605 flatcamGUI/FlatCAMGUI.py:710 -#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:1823 -#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2132 -#: flatcamGUI/FlatCAMGUI.py:2250 flatcamGUI/ObjectUI.py:1210 +#: FlatCAMObj.py:3682 flatcamGUI/FlatCAMGUI.py:597 flatcamGUI/FlatCAMGUI.py:702 +#: flatcamGUI/FlatCAMGUI.py:833 flatcamGUI/FlatCAMGUI.py:1833 +#: flatcamGUI/FlatCAMGUI.py:1931 flatcamGUI/FlatCAMGUI.py:2133 +#: flatcamGUI/FlatCAMGUI.py:2253 flatcamGUI/ObjectUI.py:1224 #: flatcamTools/ToolPanelize.py:517 flatcamTools/ToolPanelize.py:544 #: flatcamTools/ToolPanelize.py:643 flatcamTools/ToolPanelize.py:677 #: flatcamTools/ToolPanelize.py:742 msgid "Copy" msgstr "Copiază" -#: FlatCAMObj.py:3994 +#: FlatCAMObj.py:3902 msgid "Please enter the desired tool diameter in Float format." msgstr "Introdu diametrul dorit pt unealtă in format Real." -#: FlatCAMObj.py:4065 +#: FlatCAMObj.py:3972 msgid "Tool added in Tool Table." msgstr "Unealtă adăugată in Tabela de Unelte." -#: FlatCAMObj.py:4069 +#: FlatCAMObj.py:3976 msgid "Default Tool added. Wrong value format entered." msgstr "Unealta implicita adăugată dar valoarea are un format gresit." -#: FlatCAMObj.py:4102 FlatCAMObj.py:4111 +#: FlatCAMObj.py:4076 FlatCAMObj.py:4085 msgid "Failed. Select a tool to copy." msgstr "Eșuat. Selectează o unealtă pt copiere." -#: FlatCAMObj.py:4139 +#: FlatCAMObj.py:4113 msgid "Tool was copied in Tool Table." msgstr "Unealta a fost copiata in Tabela de Unelte." -#: FlatCAMObj.py:4169 +#: FlatCAMObj.py:4143 msgid "Tool was edited in Tool Table." msgstr "Unealta a fost editata in Tabela de Unelte." -#: FlatCAMObj.py:4198 FlatCAMObj.py:4207 +#: FlatCAMObj.py:4172 FlatCAMObj.py:4181 msgid "Failed. Select a tool to delete." msgstr "Eșuat. Selectează o unealtă pentru ștergere." -#: FlatCAMObj.py:4230 +#: FlatCAMObj.py:4204 msgid "Tool was deleted in Tool Table." msgstr "Unealta a fost stearsa din Tabela de Unelte." -#: FlatCAMObj.py:4676 +#: FlatCAMObj.py:4632 msgid "This Geometry can't be processed because it is" msgstr "Acest obiect Geometrie nu poate fi procesat deoarece" -#: FlatCAMObj.py:4678 +#: FlatCAMObj.py:4634 msgid "geometry" msgstr "geometria" -#: FlatCAMObj.py:4721 +#: FlatCAMObj.py:4677 msgid "Failed. No tool selected in the tool table ..." msgstr "Eșuat. Nici-o unealtă nu este selectată in Tabela de Unelte ..." -#: FlatCAMObj.py:4824 FlatCAMObj.py:4988 +#: FlatCAMObj.py:4780 FlatCAMObj.py:4935 msgid "" "Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." @@ -1831,44 +2420,44 @@ msgstr "" "este oferita.\n" "Adaugă un ofset pt unealtă sau schimbă Tipul Ofset." -#: FlatCAMObj.py:4889 FlatCAMObj.py:5048 +#: FlatCAMObj.py:4845 FlatCAMObj.py:4995 msgid "G-Code parsing in progress..." msgstr "Analiza codului G în curs ..." -#: FlatCAMObj.py:4891 FlatCAMObj.py:5050 +#: FlatCAMObj.py:4847 FlatCAMObj.py:4997 msgid "G-Code parsing finished..." msgstr "Analizarea codului G s-a terminat ..." -#: FlatCAMObj.py:4899 +#: FlatCAMObj.py:4855 msgid "Finished G-Code processing" msgstr "Prelucrarea G-Code terminată" -#: FlatCAMObj.py:4901 FlatCAMObj.py:5062 +#: FlatCAMObj.py:4857 FlatCAMObj.py:5009 msgid "G-Code processing failed with error" msgstr "Procesarea G-Code a eșuat cu eroarea" -#: FlatCAMObj.py:4949 flatcamTools/ToolSolderPaste.py:1212 +#: FlatCAMObj.py:4905 flatcamTools/ToolSolderPaste.py:1264 msgid "Cancelled. Empty file, it has no geometry" msgstr "Anulat. Fişier gol, nu are geometrie" -#: FlatCAMObj.py:5060 FlatCAMObj.py:5234 +#: FlatCAMObj.py:5007 FlatCAMObj.py:5162 msgid "Finished G-Code processing..." msgstr "Prelucrarea G-Code terminată ..." -#: FlatCAMObj.py:5084 FlatCAMObj.py:5090 FlatCAMObj.py:5244 +#: FlatCAMObj.py:5031 FlatCAMObj.py:5037 FlatCAMObj.py:5172 msgid "CNCjob created" msgstr "CNCjob creat" -#: FlatCAMObj.py:5276 FlatCAMObj.py:5286 flatcamParsers/ParseGerber.py:1666 +#: FlatCAMObj.py:5204 FlatCAMObj.py:5214 flatcamParsers/ParseGerber.py:1666 #: flatcamParsers/ParseGerber.py:1676 msgid "Scale factor has to be a number: integer or float." msgstr "Factorul de scalare trebuie să fie un număr: natural sau real." -#: FlatCAMObj.py:5360 +#: FlatCAMObj.py:5288 msgid "Geometry Scale done." msgstr "Scalare Geometrie executată." -#: FlatCAMObj.py:5377 flatcamParsers/ParseGerber.py:1791 +#: FlatCAMObj.py:5305 flatcamParsers/ParseGerber.py:1791 msgid "" "An (x,y) pair of values are needed. Probable you entered only one value in " "the Offset field." @@ -1876,11 +2465,11 @@ msgstr "" "O pereche de valori (x,y) este necesară. Probabil că ai introdus numai o " "singură valoare in câmpul Offset." -#: FlatCAMObj.py:5431 +#: FlatCAMObj.py:5359 msgid "Geometry Offset done." msgstr "Ofset Geometrie executat." -#: FlatCAMObj.py:5460 +#: FlatCAMObj.py:5388 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y)\n" @@ -1890,80 +2479,84 @@ msgstr "" "in formatul (x, y) \n" "dar are o singură valoare in loc de două." -#: FlatCAMObj.py:5951 FlatCAMObj.py:6574 FlatCAMObj.py:6758 +#: FlatCAMObj.py:5980 FlatCAMObj.py:6630 FlatCAMObj.py:6814 msgid "Basic" msgstr "Baza" -#: FlatCAMObj.py:5957 FlatCAMObj.py:6578 FlatCAMObj.py:6762 +#: FlatCAMObj.py:5986 FlatCAMObj.py:6634 FlatCAMObj.py:6818 msgid "Advanced" msgstr "Avansat" -#: FlatCAMObj.py:6000 +#: FlatCAMObj.py:6029 msgid "Plotting..." msgstr "Se afișeaza..." -#: FlatCAMObj.py:6024 FlatCAMObj.py:6029 flatcamTools/ToolSolderPaste.py:1418 +#: FlatCAMObj.py:6053 FlatCAMObj.py:6058 +#: flatcamTools/ToolCalibrateExcellon.py:624 +#: flatcamTools/ToolCalibrateExcellon.py:629 +#: flatcamTools/ToolSolderPaste.py:1470 msgid "Export Machine Code ..." msgstr "Exporta CNC Cod Masina ..." -#: FlatCAMObj.py:6035 flatcamTools/ToolSolderPaste.py:1422 +#: FlatCAMObj.py:6064 flatcamTools/ToolCalibrateExcellon.py:634 +#: flatcamTools/ToolSolderPaste.py:1474 msgid "Export Machine Code cancelled ..." msgstr "Exportul Codului Mașina a fost anulat ..." -#: FlatCAMObj.py:6053 +#: FlatCAMObj.py:6082 msgid "Machine Code file saved to" msgstr "Fişierul cu cod CNC este salvat in" -#: FlatCAMObj.py:6108 +#: FlatCAMObj.py:6137 msgid "Loaded Machine Code into Code Editor" msgstr "S-a încărcat Codul Masina în Editorul Cod" -#: FlatCAMObj.py:6223 +#: FlatCAMObj.py:6272 msgid "This CNCJob object can't be processed because it is a" msgstr "Acest obiect CNCJob nu poate fi procesat deoarece este un" -#: FlatCAMObj.py:6225 +#: FlatCAMObj.py:6274 msgid "CNCJob object" msgstr "Obiect CNCJob" -#: FlatCAMObj.py:6277 +#: FlatCAMObj.py:6326 msgid "G-code does not have a units code: either G20 or G21" msgstr "G-code nu contine codul pt unitati: G20 sau G21" -#: FlatCAMObj.py:6289 +#: FlatCAMObj.py:6340 msgid "Cancelled. The Toolchange Custom code is enabled but it's empty." msgstr "" "Anulat. Codul G-Code din Macro-ul Schimbare unealtă este activat dar nu " "contine nimic." -#: FlatCAMObj.py:6295 +#: FlatCAMObj.py:6346 msgid "Toolchange G-code was replaced by a custom code." msgstr "G-Code-ul pt schimbare unealtă a fost inlocuit cu un cod pesonalizat." -#: FlatCAMObj.py:6308 flatcamEditors/FlatCAMTextEditor.py:213 -#: flatcamTools/ToolSolderPaste.py:1449 +#: FlatCAMObj.py:6364 flatcamEditors/FlatCAMTextEditor.py:213 +#: flatcamTools/ToolSolderPaste.py:1501 msgid "No such file or directory" msgstr "Nu exista un aşa fişier sau director" -#: FlatCAMObj.py:6322 flatcamEditors/FlatCAMTextEditor.py:225 +#: FlatCAMObj.py:6378 flatcamEditors/FlatCAMTextEditor.py:225 msgid "Saved to" msgstr "Salvat in" -#: FlatCAMObj.py:6332 FlatCAMObj.py:6342 +#: FlatCAMObj.py:6388 FlatCAMObj.py:6398 msgid "" "The used postprocessor file has to have in it's name: 'toolchange_custom'" msgstr "" "Postprocesorul folosit trebuie să aibă in numele sau: 'toolchange_custom'" -#: FlatCAMObj.py:6346 +#: FlatCAMObj.py:6402 msgid "There is no postprocessor file." msgstr "Nu exista nici-un fişier postprocesor." -#: FlatCAMObj.py:6623 +#: FlatCAMObj.py:6679 msgid "Script Editor" msgstr "Editor Script" -#: FlatCAMObj.py:6862 +#: FlatCAMObj.py:6918 msgid "Document Editor" msgstr "Editor Documente" @@ -1983,60 +2576,60 @@ msgstr "Esti sigur că dorești să schimbi din limba curentă in" msgid "Apply Language ..." msgstr "Aplică Traducere ..." -#: ObjectCollection.py:450 +#: ObjectCollection.py:453 #, python-brace-format msgid "Object renamed from {old} to {new}" msgstr "Obiectul este redenumit din {old} in {new}" -#: ObjectCollection.py:830 +#: ObjectCollection.py:835 msgid "Cause of error" msgstr "Motivul erorii" -#: camlib.py:593 +#: camlib.py:589 msgid "self.solid_geometry is neither BaseGeometry or list." msgstr "self.solid_geometry nu este tip BaseGeometry sau tip listă." -#: camlib.py:972 +#: camlib.py:968 msgid "Pass" msgstr "Treceri" -#: camlib.py:992 +#: camlib.py:988 msgid "Get Exteriors" msgstr "Obtine Exterior" -#: camlib.py:995 +#: camlib.py:991 msgid "Get Interiors" msgstr "Obtine Interioare" -#: camlib.py:1961 +#: camlib.py:1958 msgid "Object was mirrored" msgstr "Obiectul a fost oglindit" -#: camlib.py:1964 +#: camlib.py:1961 msgid "Failed to mirror. No object selected" msgstr "Oglindire eșuată. Nici-un obiect nu este selectat" -#: camlib.py:2033 +#: camlib.py:2030 msgid "Object was rotated" msgstr "Obiectul a fost rotit" -#: camlib.py:2036 +#: camlib.py:2033 msgid "Failed to rotate. No object selected" msgstr "Rotaţie eșuată. Nici-un obiect nu este selectat" -#: camlib.py:2104 +#: camlib.py:2101 msgid "Object was skewed" msgstr "Obiectul a fost deformat" -#: camlib.py:2107 +#: camlib.py:2104 msgid "Failed to skew. No object selected" msgstr "Deformare eșuată. Nici-un obiect nu este selectat" -#: camlib.py:2304 +#: camlib.py:2307 msgid "There is no such parameter" msgstr "Nu exista un asemenea parametru" -#: camlib.py:2376 +#: camlib.py:2381 msgid "" "The Cut Z parameter has positive value. It is the depth value to drill into " "material.\n" @@ -2049,37 +2642,37 @@ 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:2384 camlib.py:3059 camlib.py:3409 +#: camlib.py:2389 camlib.py:3059 camlib.py:3410 msgid "The Cut Z parameter is zero. There will be no cut, skipping file" msgstr "" "Parametrul >Z tăiere< este nul. Nu va fi nici-o tăiere prin urmare nu " "procesam fişierul" -#: camlib.py:2436 +#: camlib.py:2439 msgid "Creating a list of points to drill..." msgstr "Crearea unei liste de puncte pentru găurire ..." -#: camlib.py:2519 +#: camlib.py:2521 msgid "Starting G-Code" msgstr "Începând G-Code" -#: camlib.py:2617 camlib.py:2764 camlib.py:2869 camlib.py:3175 camlib.py:3523 +#: camlib.py:2619 camlib.py:2765 camlib.py:2869 camlib.py:3175 camlib.py:3524 msgid "Starting G-Code for tool with diameter" msgstr "Pornirea codului G pentru scula cu diametrul" -#: camlib.py:2674 camlib.py:2821 camlib.py:2927 +#: camlib.py:2675 camlib.py:2821 camlib.py:2926 msgid "G91 coordinates not implemented" msgstr "Coordonatele G91 nu au fost implementate" -#: camlib.py:2680 camlib.py:2827 camlib.py:2933 +#: camlib.py:2681 camlib.py:2827 camlib.py:2932 msgid "The loaded Excellon file has no drills" msgstr "Fişierul Excellon incărcat nu are găuri" -#: camlib.py:2955 +#: camlib.py:2954 msgid "Finished G-Code generation..." msgstr "Generarea G-Code finalizata ..." -#: camlib.py:3032 +#: camlib.py:3031 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y) \n" @@ -2089,7 +2682,7 @@ msgstr "" "in formatul (x, y) \n" "dar are o singură valoare in loc de doua." -#: camlib.py:3045 camlib.py:3395 +#: camlib.py:3044 camlib.py:3396 msgid "" "Cut_Z parameter is None or zero. Most likely a bad combinations of other " "parameters." @@ -2097,7 +2690,7 @@ msgstr "" "Parametrul >Z tăiere< este None sau zero. Cel mai probabil o combinaţie " "nefericita de parametri." -#: camlib.py:3051 camlib.py:3401 +#: camlib.py:3051 camlib.py:3402 msgid "" "The Cut Z parameter has positive value. It is the depth value to cut into " "material.\n" @@ -2110,11 +2703,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:3069 camlib.py:3415 +#: camlib.py:3065 camlib.py:3416 msgid "Travel Z parameter is None or zero." msgstr "Parametrul >Z deplasare< este None sau zero." -#: camlib.py:3074 camlib.py:3420 +#: camlib.py:3070 camlib.py:3421 msgid "" "The Travel Z parameter has negative value. It is the height value to travel " "between cuts.\n" @@ -2127,21 +2720,21 @@ 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:3082 camlib.py:3428 +#: camlib.py:3078 camlib.py:3429 msgid "The Z Travel parameter is zero. This is dangerous, skipping file" msgstr "" "Parametrul >Z deplasare< este zero. Aceasta este periculos, prin urmare nu " "se procesează fişierul" -#: camlib.py:3097 camlib.py:3447 +#: camlib.py:3097 camlib.py:3448 msgid "Indexing geometry before generating G-Code..." msgstr "Geometria se indexeaza înainte de a genera G-Code..." -#: camlib.py:3158 camlib.py:3509 +#: camlib.py:3158 camlib.py:3510 msgid "Starting G-Code..." msgstr "Pornirea G-Code ..." -#: camlib.py:3245 camlib.py:3593 +#: camlib.py:3245 camlib.py:3594 msgid "Finished G-Code generation" msgstr "Generarea G-Code terminată" @@ -2169,35 +2762,35 @@ msgstr "" "current_geometry \n" "Mareste valoarea absoluta și încearcă din nou." -#: camlib.py:3595 +#: camlib.py:3594 msgid " paths traced." msgstr " căi trasate." -#: camlib.py:3624 +#: camlib.py:3622 msgid "There is no tool data in the SolderPaste geometry." msgstr "Nu există date cu privire la unealtă in Geometria SolderPaste." -#: camlib.py:3711 +#: camlib.py:3709 msgid "Finished SolderPste G-Code generation" msgstr "Generarea G-Code SolderPaste s-a terminat" -#: camlib.py:3713 +#: camlib.py:3711 msgid "paths traced." msgstr "căi trasate." -#: camlib.py:3967 +#: camlib.py:3965 msgid "Parsing GCode file. Number of lines" msgstr "Analizând fișierul GCode. Numărul de linii" -#: camlib.py:4057 +#: camlib.py:4055 msgid "Creating Geometry from the parsed GCode file. " msgstr "Crează un obiect tip Geometrie din fisierul GCode analizat. " -#: camlib.py:4189 camlib.py:4473 camlib.py:4576 camlib.py:4623 +#: camlib.py:4187 camlib.py:4471 camlib.py:4574 camlib.py:4621 msgid "G91 coordinates not implemented ..." msgstr "Coordonatele G91 nu au fost implementate ..." -#: camlib.py:4320 +#: camlib.py:4318 msgid "Unifying Geometry from parsed Geometry segments" msgstr "Se unifica Geometria din segmentele de Geometrie parsate" @@ -2312,8 +2905,8 @@ msgstr "" "dimetrul la care se face redimensionarea." #: flatcamEditors/FlatCAMExcEditor.py:983 -#: flatcamEditors/FlatCAMExcEditor.py:1052 flatcamGUI/FlatCAMGUI.py:2790 -#: flatcamGUI/FlatCAMGUI.py:3001 flatcamGUI/FlatCAMGUI.py:3218 +#: flatcamEditors/FlatCAMExcEditor.py:1052 flatcamGUI/FlatCAMGUI.py:2829 +#: flatcamGUI/FlatCAMGUI.py:3042 flatcamGUI/FlatCAMGUI.py:3259 msgid "Cancelled." msgstr "Anulat." @@ -2338,22 +2931,22 @@ msgstr "Executat. Operatiile de găurire au fost mutate." msgid "Done. Drill(s) copied." msgstr "Executat. Operatiile de găurire au fost copiate." -#: flatcamEditors/FlatCAMExcEditor.py:1477 flatcamGUI/PreferencesUI.py:2610 +#: flatcamEditors/FlatCAMExcEditor.py:1480 flatcamGUI/PreferencesUI.py:2651 msgid "Excellon Editor" msgstr "Editor Excellon" -#: flatcamEditors/FlatCAMExcEditor.py:1484 -#: flatcamEditors/FlatCAMGrbEditor.py:2381 +#: flatcamEditors/FlatCAMExcEditor.py:1487 +#: flatcamEditors/FlatCAMGrbEditor.py:2383 msgid "Name:" msgstr "Nume:" -#: flatcamEditors/FlatCAMExcEditor.py:1490 flatcamGUI/ObjectUI.py:686 -#: flatcamGUI/ObjectUI.py:1064 flatcamTools/ToolNonCopperClear.py:109 -#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:1493 flatcamGUI/ObjectUI.py:692 +#: flatcamGUI/ObjectUI.py:1084 flatcamTools/ToolNonCopperClear.py:109 +#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73 msgid "Tools Table" msgstr "Tabela Unelte" -#: flatcamEditors/FlatCAMExcEditor.py:1492 flatcamGUI/ObjectUI.py:688 +#: flatcamEditors/FlatCAMExcEditor.py:1495 flatcamGUI/ObjectUI.py:694 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2361,11 +2954,11 @@ msgstr "" "Burghie (unelte) in acest obiect Excellon\n" "când se face găurire." -#: flatcamEditors/FlatCAMExcEditor.py:1512 +#: flatcamEditors/FlatCAMExcEditor.py:1515 msgid "Add/Delete Tool" msgstr "Adaugă/Șterge Unealta" -#: flatcamEditors/FlatCAMExcEditor.py:1514 +#: flatcamEditors/FlatCAMExcEditor.py:1517 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." @@ -2373,21 +2966,16 @@ msgstr "" "Adaugă/Șterge o unealtă la lista de unelte\n" "pentru acest obiect Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:1522 flatcamGUI/ObjectUI.py:1185 -#: flatcamTools/ToolNonCopperClear.py:225 flatcamTools/ToolPaint.py:176 -msgid "Tool Dia" -msgstr "Dia Unealtă" - -#: flatcamEditors/FlatCAMExcEditor.py:1524 flatcamGUI/ObjectUI.py:1188 -#: flatcamGUI/PreferencesUI.py:2640 +#: flatcamEditors/FlatCAMExcEditor.py:1529 flatcamGUI/ObjectUI.py:1197 +#: flatcamGUI/PreferencesUI.py:2681 msgid "Diameter for the new tool" msgstr "Diametru pentru noua unealtă (burghiu, freza)" -#: flatcamEditors/FlatCAMExcEditor.py:1532 +#: flatcamEditors/FlatCAMExcEditor.py:1539 msgid "Add Tool" msgstr "Adaugă Unealta" -#: flatcamEditors/FlatCAMExcEditor.py:1534 +#: flatcamEditors/FlatCAMExcEditor.py:1541 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." @@ -2395,11 +2983,11 @@ msgstr "" "Adaugă o unealtă noua la lista de unelte\n" "cu diametrul specificat deasupra." -#: flatcamEditors/FlatCAMExcEditor.py:1546 +#: flatcamEditors/FlatCAMExcEditor.py:1553 msgid "Delete Tool" msgstr "Șterge Unealta" -#: flatcamEditors/FlatCAMExcEditor.py:1548 +#: flatcamEditors/FlatCAMExcEditor.py:1555 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." @@ -2407,42 +2995,42 @@ msgstr "" "Șterge o unealtă in lista de unelte\n" "prin selectarea unei linii in tabela de unelte." -#: flatcamEditors/FlatCAMExcEditor.py:1566 flatcamGUI/FlatCAMGUI.py:1704 +#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/FlatCAMGUI.py:1714 msgid "Resize Drill(s)" msgstr "Redimensionare operațiuni de găurire" -#: flatcamEditors/FlatCAMExcEditor.py:1568 +#: flatcamEditors/FlatCAMExcEditor.py:1575 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:1575 +#: flatcamEditors/FlatCAMExcEditor.py:1582 msgid "Resize Dia" msgstr "Redimens. Dia" -#: flatcamEditors/FlatCAMExcEditor.py:1577 +#: flatcamEditors/FlatCAMExcEditor.py:1584 msgid "Diameter to resize to." msgstr "Diametrul la care se face redimensionarea." -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1595 msgid "Resize" msgstr "Redimensionează" -#: flatcamEditors/FlatCAMExcEditor.py:1587 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "Resize drill(s)" msgstr "Redimensionează op. de găurire." -#: flatcamEditors/FlatCAMExcEditor.py:1612 flatcamGUI/FlatCAMGUI.py:1703 -#: flatcamGUI/FlatCAMGUI.py:1913 +#: flatcamEditors/FlatCAMExcEditor.py:1622 flatcamGUI/FlatCAMGUI.py:1713 +#: flatcamGUI/FlatCAMGUI.py:1923 msgid "Add Drill Array" msgstr "Adaugă o arie de op. găurire" -#: flatcamEditors/FlatCAMExcEditor.py:1614 +#: flatcamEditors/FlatCAMExcEditor.py:1624 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:1620 +#: flatcamEditors/FlatCAMExcEditor.py:1630 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" @@ -2450,42 +3038,42 @@ msgstr "" "Selectează tipul de arii de operațiuni de găurire.\n" "Poate fi Liniar X(Y) sau Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1623 -#: flatcamEditors/FlatCAMExcEditor.py:1825 -#: flatcamEditors/FlatCAMGrbEditor.py:2682 +#: flatcamEditors/FlatCAMExcEditor.py:1633 +#: flatcamEditors/FlatCAMExcEditor.py:1847 +#: flatcamEditors/FlatCAMGrbEditor.py:2693 msgid "Linear" msgstr "Liniar" -#: flatcamEditors/FlatCAMExcEditor.py:1624 -#: flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2683 flatcamGUI/PreferencesUI.py:3719 -#: flatcamTools/ToolNonCopperClear.py:216 +#: flatcamEditors/FlatCAMExcEditor.py:1634 +#: flatcamEditors/FlatCAMExcEditor.py:1848 +#: flatcamEditors/FlatCAMGrbEditor.py:2694 flatcamGUI/PreferencesUI.py:3807 +#: flatcamTools/ToolNonCopperClear.py:221 msgid "Circular" msgstr "Circular" -#: flatcamEditors/FlatCAMExcEditor.py:1632 flatcamGUI/PreferencesUI.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1642 flatcamGUI/PreferencesUI.py:2692 msgid "Nr of drills" msgstr "Nr. op. găurire" -#: flatcamEditors/FlatCAMExcEditor.py:1633 flatcamGUI/PreferencesUI.py:2653 +#: flatcamEditors/FlatCAMExcEditor.py:1643 flatcamGUI/PreferencesUI.py:2694 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:1650 -#: flatcamEditors/FlatCAMExcEditor.py:1697 -#: flatcamEditors/FlatCAMExcEditor.py:1761 -#: flatcamEditors/FlatCAMExcEditor.py:1852 -#: flatcamEditors/FlatCAMExcEditor.py:1899 +#: flatcamEditors/FlatCAMExcEditor.py:1661 +#: flatcamEditors/FlatCAMExcEditor.py:1711 +#: flatcamEditors/FlatCAMExcEditor.py:1783 +#: flatcamEditors/FlatCAMExcEditor.py:1876 +#: flatcamEditors/FlatCAMExcEditor.py:1927 #: flatcamEditors/FlatCAMGrbEditor.py:1524 -#: flatcamEditors/FlatCAMGrbEditor.py:2709 -#: flatcamEditors/FlatCAMGrbEditor.py:2754 flatcamGUI/PreferencesUI.py:2761 +#: flatcamEditors/FlatCAMGrbEditor.py:2722 +#: flatcamEditors/FlatCAMGrbEditor.py:2771 flatcamGUI/PreferencesUI.py:2802 msgid "Direction" msgstr "Direcţie" -#: flatcamEditors/FlatCAMExcEditor.py:1652 -#: flatcamEditors/FlatCAMExcEditor.py:1854 -#: flatcamEditors/FlatCAMGrbEditor.py:2711 flatcamGUI/PreferencesUI.py:1752 -#: flatcamGUI/PreferencesUI.py:2669 flatcamGUI/PreferencesUI.py:2817 +#: flatcamEditors/FlatCAMExcEditor.py:1663 +#: flatcamEditors/FlatCAMExcEditor.py:1878 +#: flatcamEditors/FlatCAMGrbEditor.py:2724 flatcamGUI/PreferencesUI.py:1776 +#: flatcamGUI/PreferencesUI.py:2710 flatcamGUI/PreferencesUI.py:2858 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2497,67 +3085,78 @@ msgstr "" "- 'Y' - pe axa verticala sau \n" "- 'Unghi' - un unghi particular pentru inclinatia ariei" -#: flatcamEditors/FlatCAMExcEditor.py:1659 -#: flatcamEditors/FlatCAMExcEditor.py:1770 -#: flatcamEditors/FlatCAMExcEditor.py:1861 -#: flatcamEditors/FlatCAMGrbEditor.py:2718 flatcamGUI/PreferencesUI.py:1758 -#: flatcamGUI/PreferencesUI.py:2675 flatcamGUI/PreferencesUI.py:2770 -#: flatcamGUI/PreferencesUI.py:2823 flatcamGUI/PreferencesUI.py:4479 -#: flatcamTools/ToolFilm.py:233 +#: flatcamEditors/FlatCAMExcEditor.py:1670 +#: flatcamEditors/FlatCAMExcEditor.py:1792 +#: flatcamEditors/FlatCAMExcEditor.py:1885 +#: flatcamEditors/FlatCAMGrbEditor.py:2731 flatcamGUI/PreferencesUI.py:1782 +#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:2811 +#: flatcamGUI/PreferencesUI.py:2864 flatcamGUI/PreferencesUI.py:4586 +#: flatcamTools/ToolCalibrateExcellon.py:158 +#: flatcamTools/ToolCalibrateExcellon.py:187 +#: flatcamTools/ToolCalibrateExcellon.py:211 +#: flatcamTools/ToolCalibrateExcellon.py:235 flatcamTools/ToolFilm.py:233 msgid "X" msgstr "X" -#: flatcamEditors/FlatCAMExcEditor.py:1660 -#: flatcamEditors/FlatCAMExcEditor.py:1771 -#: flatcamEditors/FlatCAMExcEditor.py:1862 -#: flatcamEditors/FlatCAMGrbEditor.py:2719 flatcamGUI/PreferencesUI.py:1759 -#: flatcamGUI/PreferencesUI.py:2676 flatcamGUI/PreferencesUI.py:2771 -#: flatcamGUI/PreferencesUI.py:2824 flatcamGUI/PreferencesUI.py:4480 -#: flatcamTools/ToolFilm.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:1671 +#: flatcamEditors/FlatCAMExcEditor.py:1793 +#: flatcamEditors/FlatCAMExcEditor.py:1886 +#: flatcamEditors/FlatCAMGrbEditor.py:2732 flatcamGUI/PreferencesUI.py:1783 +#: flatcamGUI/PreferencesUI.py:2717 flatcamGUI/PreferencesUI.py:2812 +#: flatcamGUI/PreferencesUI.py:2865 flatcamGUI/PreferencesUI.py:4587 +#: flatcamTools/ToolCalibrateExcellon.py:166 +#: flatcamTools/ToolCalibrateExcellon.py:195 +#: flatcamTools/ToolCalibrateExcellon.py:219 +#: flatcamTools/ToolCalibrateExcellon.py:243 flatcamTools/ToolFilm.py:234 msgid "Y" msgstr "Y" -#: flatcamEditors/FlatCAMExcEditor.py:1661 -#: flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1709 -#: flatcamEditors/FlatCAMExcEditor.py:1772 -#: flatcamEditors/FlatCAMExcEditor.py:1776 -#: flatcamEditors/FlatCAMExcEditor.py:1863 -#: flatcamEditors/FlatCAMExcEditor.py:1877 -#: flatcamEditors/FlatCAMExcEditor.py:1911 -#: flatcamEditors/FlatCAMGrbEditor.py:2720 +#: flatcamEditors/FlatCAMExcEditor.py:1672 +#: flatcamEditors/FlatCAMExcEditor.py:1689 +#: flatcamEditors/FlatCAMExcEditor.py:1723 +#: flatcamEditors/FlatCAMExcEditor.py:1794 +#: flatcamEditors/FlatCAMExcEditor.py:1798 +#: flatcamEditors/FlatCAMExcEditor.py:1887 +#: flatcamEditors/FlatCAMExcEditor.py:1905 +#: flatcamEditors/FlatCAMExcEditor.py:1939 #: flatcamEditors/FlatCAMGrbEditor.py:2733 -#: flatcamEditors/FlatCAMGrbEditor.py:2769 flatcamGUI/PreferencesUI.py:1760 -#: flatcamGUI/PreferencesUI.py:1778 flatcamGUI/PreferencesUI.py:2677 -#: flatcamGUI/PreferencesUI.py:2696 flatcamGUI/PreferencesUI.py:2772 -#: flatcamGUI/PreferencesUI.py:2777 flatcamGUI/PreferencesUI.py:2825 -#: flatcamGUI/PreferencesUI.py:2846 flatcamGUI/PreferencesUI.py:4771 +#: flatcamEditors/FlatCAMGrbEditor.py:2750 +#: flatcamEditors/FlatCAMGrbEditor.py:2786 flatcamGUI/PreferencesUI.py:1784 +#: flatcamGUI/PreferencesUI.py:1802 flatcamGUI/PreferencesUI.py:2718 +#: flatcamGUI/PreferencesUI.py:2737 flatcamGUI/PreferencesUI.py:2813 +#: flatcamGUI/PreferencesUI.py:2818 flatcamGUI/PreferencesUI.py:2866 +#: flatcamGUI/PreferencesUI.py:2887 flatcamGUI/PreferencesUI.py:4880 #: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistanceMin.py:67 #: flatcamTools/ToolTransform.py:62 msgid "Angle" msgstr "Unghi" -#: flatcamEditors/FlatCAMExcEditor.py:1665 -#: flatcamEditors/FlatCAMExcEditor.py:1867 -#: flatcamEditors/FlatCAMGrbEditor.py:2724 flatcamGUI/PreferencesUI.py:1766 -#: flatcamGUI/PreferencesUI.py:2683 flatcamGUI/PreferencesUI.py:2831 +#: flatcamEditors/FlatCAMExcEditor.py:1676 +#: flatcamEditors/FlatCAMExcEditor.py:1891 +#: flatcamEditors/FlatCAMGrbEditor.py:2737 flatcamGUI/PreferencesUI.py:1790 +#: flatcamGUI/PreferencesUI.py:2724 flatcamGUI/PreferencesUI.py:2872 msgid "Pitch" msgstr "Pas" -#: flatcamEditors/FlatCAMExcEditor.py:1667 -#: flatcamEditors/FlatCAMExcEditor.py:1869 -#: flatcamEditors/FlatCAMGrbEditor.py:2726 flatcamGUI/PreferencesUI.py:1768 -#: flatcamGUI/PreferencesUI.py:2685 flatcamGUI/PreferencesUI.py:2833 +#: flatcamEditors/FlatCAMExcEditor.py:1678 +#: flatcamEditors/FlatCAMExcEditor.py:1893 +#: flatcamEditors/FlatCAMGrbEditor.py:2739 flatcamGUI/PreferencesUI.py:1792 +#: flatcamGUI/PreferencesUI.py:2726 flatcamGUI/PreferencesUI.py:2874 msgid "Pitch = Distance between elements of the array." msgstr "Pas = Distanta între elementele ariei." -#: flatcamEditors/FlatCAMExcEditor.py:1677 -#: flatcamEditors/FlatCAMExcEditor.py:1879 -#: flatcamEditors/FlatCAMGrbEditor.py:2735 +#: flatcamEditors/FlatCAMExcEditor.py:1691 +#: flatcamEditors/FlatCAMExcEditor.py:1907 +#, fuzzy +#| msgid "" +#| "Angle at which the linear array is placed.\n" +#| "The precision is of max 2 decimals.\n" +#| "Min value is: -359.99 degrees.\n" +#| "Max value is: 360.00 degrees." msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" -"Min value is: -359.99 degrees.\n" +"Min value is: -360 degrees.\n" "Max value is: 360.00 degrees." msgstr "" "Unghiul global la care aria lineara este plasata.\n" @@ -2565,9 +3164,9 @@ msgstr "" "Val minima este: -359.99 grade.\n" "Val maxima este: 360.00 grade." -#: flatcamEditors/FlatCAMExcEditor.py:1698 -#: flatcamEditors/FlatCAMExcEditor.py:1900 -#: flatcamEditors/FlatCAMGrbEditor.py:2756 +#: flatcamEditors/FlatCAMExcEditor.py:1712 +#: flatcamEditors/FlatCAMExcEditor.py:1928 +#: flatcamEditors/FlatCAMGrbEditor.py:2773 msgid "" "Direction for circular array.Can be CW = clockwise or CCW = counter " "clockwise." @@ -2575,38 +3174,38 @@ msgstr "" "Directia pentru aria circulară. Poate fi CW = in sensul acelor de ceasornic " "sau CCW = invers acelor de ceasornic." -#: flatcamEditors/FlatCAMExcEditor.py:1705 -#: flatcamEditors/FlatCAMExcEditor.py:1907 -#: flatcamEditors/FlatCAMGrbEditor.py:2764 flatcamGUI/PreferencesUI.py:1800 -#: flatcamGUI/PreferencesUI.py:2425 flatcamGUI/PreferencesUI.py:2719 -#: flatcamGUI/PreferencesUI.py:2869 flatcamGUI/PreferencesUI.py:3259 +#: flatcamEditors/FlatCAMExcEditor.py:1719 +#: flatcamEditors/FlatCAMExcEditor.py:1935 +#: flatcamEditors/FlatCAMGrbEditor.py:2781 flatcamGUI/PreferencesUI.py:1824 +#: flatcamGUI/PreferencesUI.py:2466 flatcamGUI/PreferencesUI.py:2760 +#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:3320 msgid "CW" msgstr "Orar" -#: flatcamEditors/FlatCAMExcEditor.py:1706 -#: flatcamEditors/FlatCAMExcEditor.py:1908 -#: flatcamEditors/FlatCAMGrbEditor.py:2765 flatcamGUI/PreferencesUI.py:1801 -#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:2720 -#: flatcamGUI/PreferencesUI.py:2870 flatcamGUI/PreferencesUI.py:3260 +#: flatcamEditors/FlatCAMExcEditor.py:1720 +#: flatcamEditors/FlatCAMExcEditor.py:1936 +#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:1825 +#: flatcamGUI/PreferencesUI.py:2467 flatcamGUI/PreferencesUI.py:2761 +#: flatcamGUI/PreferencesUI.py:2911 flatcamGUI/PreferencesUI.py:3321 msgid "CCW" msgstr "Antiorar" -#: flatcamEditors/FlatCAMExcEditor.py:1710 -#: flatcamEditors/FlatCAMExcEditor.py:1912 -#: flatcamEditors/FlatCAMGrbEditor.py:2771 flatcamGUI/PreferencesUI.py:1780 -#: flatcamGUI/PreferencesUI.py:1809 flatcamGUI/PreferencesUI.py:2698 -#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2848 -#: flatcamGUI/PreferencesUI.py:2878 +#: flatcamEditors/FlatCAMExcEditor.py:1724 +#: flatcamEditors/FlatCAMExcEditor.py:1940 +#: flatcamEditors/FlatCAMGrbEditor.py:2788 flatcamGUI/PreferencesUI.py:1804 +#: flatcamGUI/PreferencesUI.py:1833 flatcamGUI/PreferencesUI.py:2739 +#: flatcamGUI/PreferencesUI.py:2769 flatcamGUI/PreferencesUI.py:2889 +#: flatcamGUI/PreferencesUI.py:2919 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:1740 +#: flatcamEditors/FlatCAMExcEditor.py:1758 msgid "Slot Parameters" msgstr "Parametrii pt slot" -#: flatcamEditors/FlatCAMExcEditor.py:1742 +#: flatcamEditors/FlatCAMExcEditor.py:1760 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." @@ -2614,16 +3213,16 @@ msgstr "" "Parametri pentru adăugarea unui slot (gaură cu formă ovală)\n" "fie single sau ca parte a unei arii." -#: flatcamEditors/FlatCAMExcEditor.py:1751 flatcamGUI/PreferencesUI.py:2745 +#: flatcamEditors/FlatCAMExcEditor.py:1769 flatcamGUI/PreferencesUI.py:2786 #: flatcamTools/ToolProperties.py:355 msgid "Length" msgstr "Lungime" -#: flatcamEditors/FlatCAMExcEditor.py:1753 flatcamGUI/PreferencesUI.py:2747 +#: flatcamEditors/FlatCAMExcEditor.py:1771 flatcamGUI/PreferencesUI.py:2788 msgid "Length = The length of the slot." msgstr "Lungime = Lungimea slotului." -#: flatcamEditors/FlatCAMExcEditor.py:1763 flatcamGUI/PreferencesUI.py:2763 +#: flatcamEditors/FlatCAMExcEditor.py:1785 flatcamGUI/PreferencesUI.py:2804 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2635,11 +3234,17 @@ msgstr "" "- „Y” - axa verticală sau\n" "- „Unghi” - un unghi personalizat pentru înclinarea slotului" -#: flatcamEditors/FlatCAMExcEditor.py:1778 flatcamGUI/PreferencesUI.py:2779 +#: flatcamEditors/FlatCAMExcEditor.py:1800 +#, fuzzy +#| msgid "" +#| "Angle at which the slot is placed.\n" +#| "The precision is of max 2 decimals.\n" +#| "Min value is: -359.99 degrees.\n" +#| "Max value is: 360.00 degrees." msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" -"Min value is: -359.99 degrees.\n" +"Min value is: -360 degrees.\n" "Max value is: 360.00 degrees." msgstr "" "Unghiul la care este plasat slotul.\n" @@ -2647,15 +3252,15 @@ msgstr "" "Valoarea minimă este: -359,99 grade.\n" "Valoarea maximă este: 360,00 grade." -#: flatcamEditors/FlatCAMExcEditor.py:1811 +#: flatcamEditors/FlatCAMExcEditor.py:1833 msgid "Slot Array Parameters" msgstr "Parametri Arie sloturi" -#: flatcamEditors/FlatCAMExcEditor.py:1813 +#: flatcamEditors/FlatCAMExcEditor.py:1835 msgid "Parameters for the array of slots (linear or circular array)" msgstr "Parametri pentru Aria de sloturi (arie circulară sau liniară)" -#: flatcamEditors/FlatCAMExcEditor.py:1822 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" @@ -2663,15 +3268,15 @@ msgstr "" "Selectați tipul de slot pentru creare.\n" "Poate fi liniar X (Y) sau circular" -#: flatcamEditors/FlatCAMExcEditor.py:1834 flatcamGUI/PreferencesUI.py:2802 +#: flatcamEditors/FlatCAMExcEditor.py:1856 flatcamGUI/PreferencesUI.py:2843 msgid "Nr of slots" msgstr "Nr de sloturi" -#: flatcamEditors/FlatCAMExcEditor.py:1835 flatcamGUI/PreferencesUI.py:2804 +#: flatcamEditors/FlatCAMExcEditor.py:1857 flatcamGUI/PreferencesUI.py:2845 msgid "Specify how many slots to be in the array." msgstr "Specificați câte sloturi trebuie să fie în arie." -#: flatcamEditors/FlatCAMExcEditor.py:2442 +#: flatcamEditors/FlatCAMExcEditor.py:2471 msgid "" "Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " @@ -2680,52 +3285,52 @@ msgstr "" "Salvează și reeditează obiectul Excellon dacă ai nevoie să adaugi această " "unealtă. " -#: flatcamEditors/FlatCAMExcEditor.py:2451 flatcamGUI/FlatCAMGUI.py:3387 +#: flatcamEditors/FlatCAMExcEditor.py:2480 flatcamGUI/FlatCAMGUI.py:3428 msgid "Added new tool with dia" msgstr "O nouă unealtă este adăugată cu diametrul" -#: flatcamEditors/FlatCAMExcEditor.py:2485 +#: flatcamEditors/FlatCAMExcEditor.py:2514 msgid "Select a tool in Tool Table" msgstr "Selectează o unealtă in Tabela de Unelte" -#: flatcamEditors/FlatCAMExcEditor.py:2518 +#: flatcamEditors/FlatCAMExcEditor.py:2547 msgid "Deleted tool with diameter" msgstr "Unealtă ștearsă cu diametrul" -#: flatcamEditors/FlatCAMExcEditor.py:2668 +#: flatcamEditors/FlatCAMExcEditor.py:2697 msgid "Done. Tool edit completed." msgstr "Terminat. Editarea uneltei a fost finalizată." -#: flatcamEditors/FlatCAMExcEditor.py:3213 +#: flatcamEditors/FlatCAMExcEditor.py:3242 msgid "There are no Tools definitions in the file. Aborting Excellon creation." msgstr "" "Nu exista definitii de unelte in fişier. Se anulează crearea de obiect " "Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3217 +#: flatcamEditors/FlatCAMExcEditor.py:3246 msgid "An internal error has ocurred. See Shell.\n" msgstr "" "A apărut o eroare internă. Verifică in TCL Shell pt mai multe detalii.\n" -#: flatcamEditors/FlatCAMExcEditor.py:3222 +#: flatcamEditors/FlatCAMExcEditor.py:3251 msgid "Creating Excellon." msgstr "In curs de creere Excellon." -#: flatcamEditors/FlatCAMExcEditor.py:3236 +#: flatcamEditors/FlatCAMExcEditor.py:3265 msgid "Excellon editing finished." msgstr "Editarea Excellon a fost terminată." -#: flatcamEditors/FlatCAMExcEditor.py:3254 +#: flatcamEditors/FlatCAMExcEditor.py:3283 msgid "Cancelled. There is no Tool/Drill selected" msgstr "Anulat. Nu este selectată nici-o unealtă sau op. de găurire" -#: flatcamEditors/FlatCAMExcEditor.py:3862 +#: flatcamEditors/FlatCAMExcEditor.py:3891 msgid "Done. Drill(s) deleted." msgstr "Executat. Operatiile de găurire șterse." -#: flatcamEditors/FlatCAMExcEditor.py:3935 -#: flatcamEditors/FlatCAMExcEditor.py:3945 -#: flatcamEditors/FlatCAMGrbEditor.py:4700 +#: flatcamEditors/FlatCAMExcEditor.py:3964 +#: flatcamEditors/FlatCAMExcEditor.py:3974 +#: flatcamEditors/FlatCAMGrbEditor.py:4719 msgid "Click on the circular array Center position" msgstr "Click pe punctul de Centru al ariei circulare" @@ -2752,17 +3357,18 @@ msgstr "" "care formează coltul" #: flatcamEditors/FlatCAMGeoEditor.py:94 -#: flatcamEditors/FlatCAMGrbEditor.py:2540 +#: flatcamEditors/FlatCAMGrbEditor.py:2549 msgid "Round" msgstr "Rotund" #: flatcamEditors/FlatCAMGeoEditor.py:95 -#: flatcamEditors/FlatCAMGrbEditor.py:2541 +#: flatcamEditors/FlatCAMGrbEditor.py:2550 flatcamGUI/PreferencesUI.py:5653 +#: flatcamTools/ToolQRCode.py:198 msgid "Square" msgstr "Patrat" #: flatcamEditors/FlatCAMGeoEditor.py:96 -#: flatcamEditors/FlatCAMGrbEditor.py:2542 +#: flatcamEditors/FlatCAMGrbEditor.py:2551 msgid "Beveled" msgstr "Beveled" @@ -2779,8 +3385,8 @@ msgid "Full Buffer" msgstr "Bufer complet" #: flatcamEditors/FlatCAMGeoEditor.py:132 -#: flatcamEditors/FlatCAMGeoEditor.py:2768 flatcamGUI/FlatCAMGUI.py:1613 -#: flatcamGUI/PreferencesUI.py:1820 +#: flatcamEditors/FlatCAMGeoEditor.py:2768 flatcamGUI/FlatCAMGUI.py:1623 +#: flatcamGUI/PreferencesUI.py:1844 msgid "Buffer Tool" msgstr "Unealta Bufer" @@ -2790,7 +3396,7 @@ msgstr "Unealta Bufer" #: flatcamEditors/FlatCAMGeoEditor.py:2788 #: flatcamEditors/FlatCAMGeoEditor.py:2818 #: flatcamEditors/FlatCAMGeoEditor.py:2848 -#: flatcamEditors/FlatCAMGrbEditor.py:4753 +#: flatcamEditors/FlatCAMGrbEditor.py:4772 msgid "Buffer distance value is missing or wrong format. Add it and retry." msgstr "" "Valoarea distantei bufer lipseste sau este intr-un format gresit. Adaugă din " @@ -2800,7 +3406,7 @@ msgstr "" msgid "Font" msgstr "Font" -#: flatcamEditors/FlatCAMGeoEditor.py:322 flatcamGUI/FlatCAMGUI.py:1874 +#: flatcamEditors/FlatCAMGeoEditor.py:322 flatcamGUI/FlatCAMGUI.py:1884 msgid "Text" msgstr "Text" @@ -2808,14 +3414,14 @@ msgstr "Text" msgid "Text Tool" msgstr "Unealta Text" -#: flatcamEditors/FlatCAMGeoEditor.py:437 flatcamGUI/ObjectUI.py:335 -#: flatcamGUI/PreferencesUI.py:1301 flatcamGUI/PreferencesUI.py:2933 -#: flatcamGUI/PreferencesUI.py:3978 flatcamGUI/PreferencesUI.py:4156 +#: flatcamEditors/FlatCAMGeoEditor.py:437 flatcamGUI/ObjectUI.py:341 +#: flatcamGUI/PreferencesUI.py:1325 flatcamGUI/PreferencesUI.py:2974 +#: flatcamGUI/PreferencesUI.py:4085 flatcamGUI/PreferencesUI.py:4263 #: flatcamTools/ToolCutOut.py:112 msgid "Tool dia" msgstr "Dia unealtă" -#: flatcamEditors/FlatCAMGeoEditor.py:439 flatcamGUI/PreferencesUI.py:4158 +#: flatcamEditors/FlatCAMGeoEditor.py:439 flatcamGUI/PreferencesUI.py:4265 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2823,13 +3429,13 @@ msgstr "" "Diametrul uneltei care este utilizata in operaţie. \n" "Este și lăţimea de tăiere pentru uneltele cilindrice." -#: flatcamEditors/FlatCAMGeoEditor.py:448 flatcamGUI/PreferencesUI.py:3815 -#: flatcamGUI/PreferencesUI.py:4188 flatcamTools/ToolNonCopperClear.py:308 +#: flatcamEditors/FlatCAMGeoEditor.py:448 flatcamGUI/PreferencesUI.py:3915 +#: flatcamGUI/PreferencesUI.py:4295 flatcamTools/ToolNonCopperClear.py:319 #: flatcamTools/ToolPaint.py:219 msgid "Overlap Rate" msgstr "Rată suprapunere" -#: flatcamEditors/FlatCAMGeoEditor.py:450 flatcamGUI/PreferencesUI.py:4190 +#: flatcamEditors/FlatCAMGeoEditor.py:450 flatcamGUI/PreferencesUI.py:4297 #: flatcamTools/ToolPaint.py:221 #, python-format msgid "" @@ -2856,13 +3462,14 @@ 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:466 flatcamGUI/PreferencesUI.py:3836 -#: flatcamGUI/PreferencesUI.py:4006 flatcamGUI/PreferencesUI.py:4210 -#: flatcamTools/ToolNonCopperClear.py:328 flatcamTools/ToolPaint.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:466 flatcamGUI/PreferencesUI.py:3936 +#: flatcamGUI/PreferencesUI.py:4113 flatcamGUI/PreferencesUI.py:4317 +#: flatcamGUI/PreferencesUI.py:5770 flatcamTools/ToolCopperThieving.py:109 +#: flatcamTools/ToolNonCopperClear.py:339 flatcamTools/ToolPaint.py:240 msgid "Margin" msgstr "Margine" -#: flatcamEditors/FlatCAMGeoEditor.py:468 flatcamGUI/PreferencesUI.py:4212 +#: flatcamEditors/FlatCAMGeoEditor.py:468 flatcamGUI/PreferencesUI.py:4319 #: flatcamTools/ToolPaint.py:242 msgid "" "Distance by which to avoid\n" @@ -2873,8 +3480,8 @@ msgstr "" "poligonului care trebuie\n" "să fie >pictat<." -#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:3849 -#: flatcamGUI/PreferencesUI.py:4225 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:3949 +#: flatcamGUI/PreferencesUI.py:4332 flatcamTools/ToolNonCopperClear.py:350 #: flatcamTools/ToolPaint.py:253 msgid "Method" msgstr "Metodă" @@ -2887,20 +3494,20 @@ msgstr "" "Algoritm pentru a picta poligonul
Standard: Pas fix spre interior." "
Samanta: Spre exterior pornind de la un punct-samanta." -#: flatcamEditors/FlatCAMGeoEditor.py:485 flatcamGUI/PreferencesUI.py:3858 -#: flatcamGUI/PreferencesUI.py:4234 flatcamTools/ToolNonCopperClear.py:348 +#: flatcamEditors/FlatCAMGeoEditor.py:485 flatcamGUI/PreferencesUI.py:3958 +#: flatcamGUI/PreferencesUI.py:4341 flatcamTools/ToolNonCopperClear.py:359 #: flatcamTools/ToolPaint.py:262 msgid "Standard" msgstr "Standard" -#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:3859 -#: flatcamGUI/PreferencesUI.py:4235 flatcamTools/ToolNonCopperClear.py:349 +#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:3959 +#: flatcamGUI/PreferencesUI.py:4342 flatcamTools/ToolNonCopperClear.py:360 #: flatcamTools/ToolPaint.py:263 msgid "Seed-based" msgstr "Punct-samanta" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/PreferencesUI.py:3860 -#: flatcamGUI/PreferencesUI.py:4236 flatcamTools/ToolNonCopperClear.py:350 +#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/PreferencesUI.py:3960 +#: flatcamGUI/PreferencesUI.py:4343 flatcamTools/ToolNonCopperClear.py:361 #: flatcamTools/ToolPaint.py:264 msgid "Straight lines" msgstr "Linii drepte" @@ -2909,8 +3516,8 @@ msgstr "Linii drepte" msgid "Connect:" msgstr "Conectează:" -#: flatcamEditors/FlatCAMGeoEditor.py:494 flatcamGUI/PreferencesUI.py:3867 -#: flatcamGUI/PreferencesUI.py:4243 flatcamTools/ToolNonCopperClear.py:357 +#: flatcamEditors/FlatCAMGeoEditor.py:494 flatcamGUI/PreferencesUI.py:3969 +#: flatcamGUI/PreferencesUI.py:4350 flatcamTools/ToolNonCopperClear.py:368 #: flatcamTools/ToolPaint.py:271 msgid "" "Draw lines between resulting\n" @@ -2924,8 +3531,8 @@ msgstr "" msgid "Contour:" msgstr "Contur:" -#: flatcamEditors/FlatCAMGeoEditor.py:503 flatcamGUI/PreferencesUI.py:3877 -#: flatcamGUI/PreferencesUI.py:4253 flatcamTools/ToolNonCopperClear.py:366 +#: flatcamEditors/FlatCAMGeoEditor.py:503 flatcamGUI/PreferencesUI.py:3980 +#: flatcamGUI/PreferencesUI.py:4360 flatcamTools/ToolNonCopperClear.py:377 #: flatcamTools/ToolPaint.py:280 msgid "" "Cut around the perimeter of the polygon\n" @@ -2934,12 +3541,12 @@ msgstr "" "Taie de-a lungul perimetrului poligonului\n" "pentru a elimina bavurile." -#: flatcamEditors/FlatCAMGeoEditor.py:514 flatcamGUI/FlatCAMGUI.py:1876 +#: flatcamEditors/FlatCAMGeoEditor.py:514 flatcamGUI/FlatCAMGUI.py:1886 msgid "Paint" msgstr "Pictează" -#: flatcamEditors/FlatCAMGeoEditor.py:532 flatcamGUI/FlatCAMGUI.py:744 -#: flatcamGUI/FlatCAMGUI.py:2160 flatcamGUI/ObjectUI.py:1563 +#: flatcamEditors/FlatCAMGeoEditor.py:532 flatcamGUI/FlatCAMGUI.py:736 +#: flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/ObjectUI.py:1592 #: flatcamTools/ToolPaint.py:41 flatcamTools/ToolPaint.py:509 msgid "Paint Tool" msgstr "Unealta Paint" @@ -2969,69 +3576,70 @@ msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:612 #: flatcamEditors/FlatCAMGeoEditor.py:2794 #: flatcamEditors/FlatCAMGeoEditor.py:2824 -#: flatcamEditors/FlatCAMGeoEditor.py:2854 flatcamGUI/PreferencesUI.py:2929 +#: flatcamEditors/FlatCAMGeoEditor.py:2854 flatcamGUI/PreferencesUI.py:2970 #: flatcamTools/ToolProperties.py:118 flatcamTools/ToolProperties.py:144 msgid "Tools" msgstr "Unelte" #: flatcamEditors/FlatCAMGeoEditor.py:623 #: flatcamEditors/FlatCAMGeoEditor.py:997 -#: flatcamEditors/FlatCAMGrbEditor.py:4944 -#: flatcamEditors/FlatCAMGrbEditor.py:5329 flatcamGUI/FlatCAMGUI.py:757 -#: flatcamGUI/FlatCAMGUI.py:2173 flatcamTools/ToolTransform.py:371 +#: flatcamEditors/FlatCAMGrbEditor.py:4963 +#: flatcamEditors/FlatCAMGrbEditor.py:5348 flatcamGUI/FlatCAMGUI.py:749 +#: flatcamGUI/FlatCAMGUI.py:2174 flatcamTools/ToolTransform.py:371 msgid "Transform Tool" msgstr "Unealta Transformare" #: flatcamEditors/FlatCAMGeoEditor.py:624 #: flatcamEditors/FlatCAMGeoEditor.py:686 -#: flatcamEditors/FlatCAMGrbEditor.py:4945 -#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamGUI/PreferencesUI.py:4763 +#: flatcamEditors/FlatCAMGrbEditor.py:4964 +#: flatcamEditors/FlatCAMGrbEditor.py:5026 flatcamGUI/PreferencesUI.py:4872 #: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:79 msgid "Rotate" msgstr "Rotaţie" #: flatcamEditors/FlatCAMGeoEditor.py:625 -#: flatcamEditors/FlatCAMGrbEditor.py:4946 flatcamTools/ToolTransform.py:26 +#: flatcamEditors/FlatCAMGrbEditor.py:4965 flatcamTools/ToolTransform.py:26 msgid "Skew/Shear" msgstr "Deformare" #: flatcamEditors/FlatCAMGeoEditor.py:626 -#: flatcamEditors/FlatCAMGrbEditor.py:2587 -#: flatcamEditors/FlatCAMGrbEditor.py:4947 flatcamGUI/FlatCAMGUI.py:832 -#: flatcamGUI/FlatCAMGUI.py:1825 flatcamGUI/FlatCAMGUI.py:1903 -#: flatcamGUI/FlatCAMGUI.py:2244 flatcamGUI/ObjectUI.py:85 -#: flatcamGUI/ObjectUI.py:106 flatcamGUI/PreferencesUI.py:4813 -#: flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:826 +#: flatcamGUI/FlatCAMGUI.py:1835 flatcamGUI/FlatCAMGUI.py:1913 +#: flatcamGUI/FlatCAMGUI.py:2247 flatcamGUI/ObjectUI.py:91 +#: flatcamGUI/ObjectUI.py:112 flatcamGUI/PreferencesUI.py:4922 +#: flatcamTools/ToolCalibrateExcellon.py:305 +#: flatcamTools/ToolCalibrateExcellon.py:332 flatcamTools/ToolTransform.py:27 msgid "Scale" msgstr "Scalare" #: flatcamEditors/FlatCAMGeoEditor.py:627 -#: flatcamEditors/FlatCAMGrbEditor.py:4948 flatcamTools/ToolTransform.py:28 +#: flatcamEditors/FlatCAMGrbEditor.py:4967 flatcamTools/ToolTransform.py:28 msgid "Mirror (Flip)" msgstr "Oglindire" #: flatcamEditors/FlatCAMGeoEditor.py:628 -#: flatcamEditors/FlatCAMGrbEditor.py:4949 flatcamGUI/ObjectUI.py:117 -#: flatcamGUI/ObjectUI.py:132 flatcamGUI/ObjectUI.py:1097 -#: flatcamGUI/ObjectUI.py:1709 flatcamGUI/PreferencesUI.py:3900 -#: flatcamGUI/PreferencesUI.py:4860 flatcamTools/ToolNonCopperClear.py:388 +#: flatcamEditors/FlatCAMGrbEditor.py:4968 flatcamGUI/ObjectUI.py:123 +#: flatcamGUI/ObjectUI.py:138 flatcamGUI/ObjectUI.py:1117 +#: flatcamGUI/ObjectUI.py:1738 flatcamGUI/PreferencesUI.py:4005 +#: flatcamGUI/PreferencesUI.py:4969 flatcamTools/ToolNonCopperClear.py:399 #: flatcamTools/ToolTransform.py:29 msgid "Offset" msgstr "Ofset" #: flatcamEditors/FlatCAMGeoEditor.py:640 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamGUI/FlatCAMGUI.py:704 -#: flatcamGUI/FlatCAMGUI.py:2126 +#: flatcamEditors/FlatCAMGrbEditor.py:4980 flatcamGUI/FlatCAMGUI.py:696 +#: flatcamGUI/FlatCAMGUI.py:2127 msgid "Editor" msgstr "Editor" #: flatcamEditors/FlatCAMGeoEditor.py:672 -#: flatcamEditors/FlatCAMGrbEditor.py:4993 +#: flatcamEditors/FlatCAMGrbEditor.py:5012 msgid "Angle:" msgstr "Unghi:" #: flatcamEditors/FlatCAMGeoEditor.py:674 -#: flatcamEditors/FlatCAMGrbEditor.py:4995 flatcamGUI/PreferencesUI.py:4773 +#: flatcamEditors/FlatCAMGrbEditor.py:5014 flatcamGUI/PreferencesUI.py:4882 #: flatcamTools/ToolTransform.py:64 msgid "" "Angle for Rotation action, in degrees.\n" @@ -3044,7 +3652,7 @@ msgstr "" "Numerele negative inseamna o mișcare in sens invers ace ceasornic." #: flatcamEditors/FlatCAMGeoEditor.py:688 -#: flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGrbEditor.py:5028 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -3056,15 +3664,17 @@ msgstr "" "toate formele selectate." #: flatcamEditors/FlatCAMGeoEditor.py:711 -#: flatcamEditors/FlatCAMGrbEditor.py:5032 +#: flatcamEditors/FlatCAMGrbEditor.py:5051 +#: flatcamTools/ToolCalibrateExcellon.py:341 msgid "Angle X:" msgstr "Unghi X:" #: flatcamEditors/FlatCAMGeoEditor.py:713 #: flatcamEditors/FlatCAMGeoEditor.py:731 -#: flatcamEditors/FlatCAMGrbEditor.py:5034 -#: flatcamEditors/FlatCAMGrbEditor.py:5052 flatcamGUI/PreferencesUI.py:4792 -#: flatcamGUI/PreferencesUI.py:4806 +#: flatcamEditors/FlatCAMGrbEditor.py:5053 +#: flatcamEditors/FlatCAMGrbEditor.py:5071 flatcamGUI/PreferencesUI.py:4901 +#: flatcamGUI/PreferencesUI.py:4915 flatcamTools/ToolCalibrateExcellon.py:343 +#: flatcamTools/ToolCalibrateExcellon.py:356 msgid "" "Angle for Skew action, in degrees.\n" "Float number between -360 and 359." @@ -3073,14 +3683,14 @@ msgstr "" "Ia valori Reale între -360 and 359 grade." #: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:5043 flatcamTools/ToolTransform.py:108 +#: flatcamEditors/FlatCAMGrbEditor.py:5062 flatcamTools/ToolTransform.py:108 msgid "Skew X" msgstr "Deformare X" #: flatcamEditors/FlatCAMGeoEditor.py:724 #: flatcamEditors/FlatCAMGeoEditor.py:742 -#: flatcamEditors/FlatCAMGrbEditor.py:5045 -#: flatcamEditors/FlatCAMGrbEditor.py:5063 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 +#: flatcamEditors/FlatCAMGrbEditor.py:5082 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -3092,34 +3702,37 @@ msgstr "" "toate formele selectate." #: flatcamEditors/FlatCAMGeoEditor.py:729 -#: flatcamEditors/FlatCAMGrbEditor.py:5050 +#: flatcamEditors/FlatCAMGrbEditor.py:5069 +#: flatcamTools/ToolCalibrateExcellon.py:354 msgid "Angle Y:" msgstr "Unghi Y:" #: flatcamEditors/FlatCAMGeoEditor.py:740 -#: flatcamEditors/FlatCAMGrbEditor.py:5061 flatcamTools/ToolTransform.py:130 +#: flatcamEditors/FlatCAMGrbEditor.py:5080 flatcamTools/ToolTransform.py:130 msgid "Skew Y" msgstr "Deformare Y" #: flatcamEditors/FlatCAMGeoEditor.py:768 -#: flatcamEditors/FlatCAMGrbEditor.py:5089 +#: flatcamEditors/FlatCAMGrbEditor.py:5108 +#: flatcamTools/ToolCalibrateExcellon.py:308 msgid "Factor X:" msgstr "Factor X:" #: flatcamEditors/FlatCAMGeoEditor.py:770 -#: flatcamEditors/FlatCAMGrbEditor.py:5091 +#: flatcamEditors/FlatCAMGrbEditor.py:5110 +#: flatcamTools/ToolCalibrateExcellon.py:310 msgid "Factor for Scale action over X axis." msgstr "Factor pentru scalarea pe axa X." #: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamTools/ToolTransform.py:157 +#: flatcamEditors/FlatCAMGrbEditor.py:5118 flatcamTools/ToolTransform.py:157 msgid "Scale X" msgstr "Scalează X" #: flatcamEditors/FlatCAMGeoEditor.py:780 #: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:5101 -#: flatcamEditors/FlatCAMGrbEditor.py:5118 +#: flatcamEditors/FlatCAMGrbEditor.py:5120 +#: flatcamEditors/FlatCAMGrbEditor.py:5137 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -3130,28 +3743,30 @@ msgstr "" "starea checkbox-ului >Referința scalare<." #: flatcamEditors/FlatCAMGeoEditor.py:785 -#: flatcamEditors/FlatCAMGrbEditor.py:5106 +#: flatcamEditors/FlatCAMGrbEditor.py:5125 +#: flatcamTools/ToolCalibrateExcellon.py:320 msgid "Factor Y:" msgstr "Factor Y:" #: flatcamEditors/FlatCAMGeoEditor.py:787 -#: flatcamEditors/FlatCAMGrbEditor.py:5108 +#: flatcamEditors/FlatCAMGrbEditor.py:5127 +#: flatcamTools/ToolCalibrateExcellon.py:322 msgid "Factor for Scale action over Y axis." msgstr "Factor pentru scalarea pe axa Y." #: flatcamEditors/FlatCAMGeoEditor.py:795 -#: flatcamEditors/FlatCAMGrbEditor.py:5116 flatcamTools/ToolTransform.py:178 +#: flatcamEditors/FlatCAMGrbEditor.py:5135 flatcamTools/ToolTransform.py:178 msgid "Scale Y" msgstr "Scalează Y" #: flatcamEditors/FlatCAMGeoEditor.py:804 -#: flatcamEditors/FlatCAMGrbEditor.py:5125 flatcamGUI/PreferencesUI.py:4842 +#: flatcamEditors/FlatCAMGrbEditor.py:5144 flatcamGUI/PreferencesUI.py:4951 #: flatcamTools/ToolTransform.py:191 msgid "Link" msgstr "Legatura" #: flatcamEditors/FlatCAMGeoEditor.py:806 -#: flatcamEditors/FlatCAMGrbEditor.py:5127 +#: flatcamEditors/FlatCAMGrbEditor.py:5146 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -3160,13 +3775,13 @@ msgstr "" "folsoind factorul: Factor X pentru ambele axe." #: flatcamEditors/FlatCAMGeoEditor.py:812 -#: flatcamEditors/FlatCAMGrbEditor.py:5133 flatcamGUI/PreferencesUI.py:4850 +#: flatcamEditors/FlatCAMGrbEditor.py:5152 flatcamGUI/PreferencesUI.py:4959 #: flatcamTools/ToolTransform.py:199 msgid "Scale Reference" msgstr "Referința scalare" #: flatcamEditors/FlatCAMGeoEditor.py:814 -#: flatcamEditors/FlatCAMGrbEditor.py:5135 +#: flatcamEditors/FlatCAMGrbEditor.py:5154 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -3180,24 +3795,24 @@ msgstr "" "bifat și este originea când este bifat." #: flatcamEditors/FlatCAMGeoEditor.py:842 -#: flatcamEditors/FlatCAMGrbEditor.py:5164 +#: flatcamEditors/FlatCAMGrbEditor.py:5183 msgid "Value X:" msgstr "Valoare X:" #: flatcamEditors/FlatCAMGeoEditor.py:844 -#: flatcamEditors/FlatCAMGrbEditor.py:5166 +#: flatcamEditors/FlatCAMGrbEditor.py:5185 msgid "Value for Offset action on X axis." msgstr "Valoare pentru deplasarea pe axa X." #: flatcamEditors/FlatCAMGeoEditor.py:852 -#: flatcamEditors/FlatCAMGrbEditor.py:5174 flatcamTools/ToolTransform.py:226 +#: flatcamEditors/FlatCAMGrbEditor.py:5193 flatcamTools/ToolTransform.py:226 msgid "Offset X" msgstr "Ofset pe X" #: flatcamEditors/FlatCAMGeoEditor.py:854 #: flatcamEditors/FlatCAMGeoEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:5176 -#: flatcamEditors/FlatCAMGrbEditor.py:5194 +#: flatcamEditors/FlatCAMGrbEditor.py:5195 +#: flatcamEditors/FlatCAMGrbEditor.py:5213 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -3209,29 +3824,29 @@ msgstr "" "toate formele selectate.\n" #: flatcamEditors/FlatCAMGeoEditor.py:860 -#: flatcamEditors/FlatCAMGrbEditor.py:5182 +#: flatcamEditors/FlatCAMGrbEditor.py:5201 msgid "Value Y:" msgstr "Valoare Y:" #: flatcamEditors/FlatCAMGeoEditor.py:862 -#: flatcamEditors/FlatCAMGrbEditor.py:5184 +#: flatcamEditors/FlatCAMGrbEditor.py:5203 msgid "Value for Offset action on Y axis." msgstr "Valoare pentru deplasarea pe axa Y." #: flatcamEditors/FlatCAMGeoEditor.py:870 -#: flatcamEditors/FlatCAMGrbEditor.py:5192 flatcamTools/ToolTransform.py:247 +#: flatcamEditors/FlatCAMGrbEditor.py:5211 flatcamTools/ToolTransform.py:247 msgid "Offset Y" msgstr "Ofset pe Y" #: flatcamEditors/FlatCAMGeoEditor.py:901 -#: flatcamEditors/FlatCAMGrbEditor.py:5223 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGrbEditor.py:5242 flatcamTools/ToolTransform.py:265 msgid "Flip on X" msgstr "Oglindește pe X" #: flatcamEditors/FlatCAMGeoEditor.py:903 #: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5225 -#: flatcamEditors/FlatCAMGrbEditor.py:5233 +#: flatcamEditors/FlatCAMGrbEditor.py:5244 +#: flatcamEditors/FlatCAMGrbEditor.py:5252 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -3240,17 +3855,17 @@ msgstr "" "Nu crează noi forme." #: flatcamEditors/FlatCAMGeoEditor.py:909 -#: flatcamEditors/FlatCAMGrbEditor.py:5231 flatcamTools/ToolTransform.py:271 +#: flatcamEditors/FlatCAMGrbEditor.py:5250 flatcamTools/ToolTransform.py:271 msgid "Flip on Y" msgstr "Oglindește pe Y" #: flatcamEditors/FlatCAMGeoEditor.py:918 -#: flatcamEditors/FlatCAMGrbEditor.py:5240 +#: flatcamEditors/FlatCAMGrbEditor.py:5259 msgid "Ref Pt" msgstr "Pt ref" #: flatcamEditors/FlatCAMGeoEditor.py:920 -#: flatcamEditors/FlatCAMGrbEditor.py:5242 +#: flatcamEditors/FlatCAMGrbEditor.py:5261 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -3274,12 +3889,12 @@ msgstr "" "La final click pe >Oglindește pe X(Y)<." #: flatcamEditors/FlatCAMGeoEditor.py:932 -#: flatcamEditors/FlatCAMGrbEditor.py:5254 +#: flatcamEditors/FlatCAMGrbEditor.py:5273 msgid "Point:" msgstr "Punct:" #: flatcamEditors/FlatCAMGeoEditor.py:934 -#: flatcamEditors/FlatCAMGrbEditor.py:5256 flatcamTools/ToolTransform.py:300 +#: flatcamEditors/FlatCAMGrbEditor.py:5275 flatcamTools/ToolTransform.py:300 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -3290,7 +3905,7 @@ msgstr "" "și valoarea 'y' in (x, y) va fi folosita când se face oglindire pe Y." #: flatcamEditors/FlatCAMGeoEditor.py:946 -#: flatcamEditors/FlatCAMGrbEditor.py:5268 flatcamTools/ToolTransform.py:311 +#: flatcamEditors/FlatCAMGrbEditor.py:5287 flatcamTools/ToolTransform.py:311 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -3302,24 +3917,24 @@ msgstr "" "La final, apasa butonul >Adaugă< pt a le insera." #: flatcamEditors/FlatCAMGeoEditor.py:1062 -#: flatcamEditors/FlatCAMGrbEditor.py:5394 +#: flatcamEditors/FlatCAMGrbEditor.py:5413 msgid "Transformation cancelled. No shape selected." msgstr "Transformare anulată. Nici-o formă nu este selectată." #: flatcamEditors/FlatCAMGeoEditor.py:1263 -#: flatcamEditors/FlatCAMGrbEditor.py:5640 +#: flatcamEditors/FlatCAMGrbEditor.py:5659 msgid "No shape selected. Please Select a shape to rotate!" msgstr "" "Nici-o forma nu este selectată. Selectează o forma pentru a putea face " "Rotaţie!" #: flatcamEditors/FlatCAMGeoEditor.py:1266 -#: flatcamEditors/FlatCAMGrbEditor.py:5643 flatcamTools/ToolTransform.py:545 +#: flatcamEditors/FlatCAMGrbEditor.py:5662 flatcamTools/ToolTransform.py:545 msgid "Appying Rotate" msgstr "Execuţie Rotaţie" #: flatcamEditors/FlatCAMGeoEditor.py:1295 -#: flatcamEditors/FlatCAMGrbEditor.py:5677 +#: flatcamEditors/FlatCAMGrbEditor.py:5696 msgid "Done. Rotate completed." msgstr "Executat. Rotaţie finalizată." @@ -3328,24 +3943,24 @@ msgid "Rotation action was not executed" msgstr "Actiunea de rotatie nu a fost efectuată" #: flatcamEditors/FlatCAMGeoEditor.py:1313 -#: flatcamEditors/FlatCAMGrbEditor.py:5698 +#: flatcamEditors/FlatCAMGrbEditor.py:5717 msgid "No shape selected. Please Select a shape to flip!" msgstr "" "Nici-o formă nu este selectată. Selectează o formă pentru a putea face " "Oglindire!" #: flatcamEditors/FlatCAMGeoEditor.py:1316 -#: flatcamEditors/FlatCAMGrbEditor.py:5701 flatcamTools/ToolTransform.py:598 +#: flatcamEditors/FlatCAMGrbEditor.py:5720 flatcamTools/ToolTransform.py:598 msgid "Applying Flip" msgstr "Execuţie Oglindire" #: flatcamEditors/FlatCAMGeoEditor.py:1347 -#: flatcamEditors/FlatCAMGrbEditor.py:5741 flatcamTools/ToolTransform.py:641 +#: flatcamEditors/FlatCAMGrbEditor.py:5760 flatcamTools/ToolTransform.py:641 msgid "Flip on the Y axis done" msgstr "Oglindire pe axa Y executată" #: flatcamEditors/FlatCAMGeoEditor.py:1351 -#: flatcamEditors/FlatCAMGrbEditor.py:5750 flatcamTools/ToolTransform.py:651 +#: flatcamEditors/FlatCAMGrbEditor.py:5769 flatcamTools/ToolTransform.py:651 msgid "Flip on the X axis done" msgstr "Oglindire pe axa X executată" @@ -3354,24 +3969,24 @@ msgid "Flip action was not executed" msgstr "Actiunea de oglindire nu a fost efectuată" #: flatcamEditors/FlatCAMGeoEditor.py:1372 -#: flatcamEditors/FlatCAMGrbEditor.py:5772 +#: flatcamEditors/FlatCAMGrbEditor.py:5791 msgid "No shape selected. Please Select a shape to shear/skew!" msgstr "" "Nici-o formă nu este selectată. Selectează o formă pentru a putea face " "Deformare!" #: flatcamEditors/FlatCAMGeoEditor.py:1375 -#: flatcamEditors/FlatCAMGrbEditor.py:5775 flatcamTools/ToolTransform.py:676 +#: flatcamEditors/FlatCAMGrbEditor.py:5794 flatcamTools/ToolTransform.py:676 msgid "Applying Skew" msgstr "Execuţie Deformare" #: flatcamEditors/FlatCAMGeoEditor.py:1401 -#: flatcamEditors/FlatCAMGrbEditor.py:5812 +#: flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "Skew on the X axis done" msgstr "Oglindire pe axa X executată" #: flatcamEditors/FlatCAMGeoEditor.py:1404 -#: flatcamEditors/FlatCAMGrbEditor.py:5815 +#: flatcamEditors/FlatCAMGrbEditor.py:5834 msgid "Skew on the Y axis done" msgstr "Oglindire pe axa Y executată" @@ -3380,24 +3995,24 @@ msgid "Skew action was not executed" msgstr "Actiunea de deformare nu a fost efectuată" #: flatcamEditors/FlatCAMGeoEditor.py:1421 -#: flatcamEditors/FlatCAMGrbEditor.py:5840 +#: flatcamEditors/FlatCAMGrbEditor.py:5859 msgid "No shape selected. Please Select a shape to scale!" msgstr "" "Nici-o formă nu este selectată. Selectează o formă pentru a putea face " "Scalare!" #: flatcamEditors/FlatCAMGeoEditor.py:1424 -#: flatcamEditors/FlatCAMGrbEditor.py:5843 flatcamTools/ToolTransform.py:728 +#: flatcamEditors/FlatCAMGrbEditor.py:5862 flatcamTools/ToolTransform.py:728 msgid "Applying Scale" msgstr "Execuţie Scalare" #: flatcamEditors/FlatCAMGeoEditor.py:1459 -#: flatcamEditors/FlatCAMGrbEditor.py:5883 +#: flatcamEditors/FlatCAMGrbEditor.py:5902 msgid "Scale on the X axis done" msgstr "Scalarea pe axa X executată" #: flatcamEditors/FlatCAMGeoEditor.py:1462 -#: flatcamEditors/FlatCAMGrbEditor.py:5886 +#: flatcamEditors/FlatCAMGrbEditor.py:5905 msgid "Scale on the Y axis done" msgstr "Scalarea pe axa Y executată" @@ -3406,23 +4021,23 @@ msgid "Scale action was not executed" msgstr "Scalarea nu a fost efectuată" #: flatcamEditors/FlatCAMGeoEditor.py:1476 -#: flatcamEditors/FlatCAMGrbEditor.py:5904 +#: flatcamEditors/FlatCAMGrbEditor.py:5923 msgid "No shape selected. Please Select a shape to offset!" msgstr "" "Nici-o formă nu este selectată. Selectează o formă pentru a putea face Ofset!" #: flatcamEditors/FlatCAMGeoEditor.py:1479 -#: flatcamEditors/FlatCAMGrbEditor.py:5907 flatcamTools/ToolTransform.py:783 +#: flatcamEditors/FlatCAMGrbEditor.py:5926 flatcamTools/ToolTransform.py:783 msgid "Applying Offset" msgstr "Execuţie Ofset" #: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5931 +#: flatcamEditors/FlatCAMGrbEditor.py:5950 msgid "Offset on the X axis done" msgstr "Ofset pe axa X efectuat" #: flatcamEditors/FlatCAMGeoEditor.py:1495 -#: flatcamEditors/FlatCAMGrbEditor.py:5934 +#: flatcamEditors/FlatCAMGrbEditor.py:5953 msgid "Offset on the Y axis done" msgstr "Ofset pe axa Y efectuat" @@ -3431,58 +4046,58 @@ msgid "Offset action was not executed" msgstr "Actiuena de Ofset nu a fost efectuată" #: flatcamEditors/FlatCAMGeoEditor.py:1504 -#: flatcamEditors/FlatCAMGrbEditor.py:5943 +#: flatcamEditors/FlatCAMGrbEditor.py:5962 msgid "Rotate ..." msgstr "Rotaţie ..." #: flatcamEditors/FlatCAMGeoEditor.py:1505 #: flatcamEditors/FlatCAMGeoEditor.py:1560 #: flatcamEditors/FlatCAMGeoEditor.py:1577 -#: flatcamEditors/FlatCAMGrbEditor.py:5944 -#: flatcamEditors/FlatCAMGrbEditor.py:5999 -#: flatcamEditors/FlatCAMGrbEditor.py:6016 +#: flatcamEditors/FlatCAMGrbEditor.py:5963 +#: flatcamEditors/FlatCAMGrbEditor.py:6018 +#: flatcamEditors/FlatCAMGrbEditor.py:6035 msgid "Enter an Angle Value (degrees)" msgstr "Introdu o valoare in grade pt Unghi" #: flatcamEditors/FlatCAMGeoEditor.py:1514 -#: flatcamEditors/FlatCAMGrbEditor.py:5953 +#: flatcamEditors/FlatCAMGrbEditor.py:5972 msgid "Geometry shape rotate done" msgstr "Rotatia formei geometrice executată" #: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5957 +#: flatcamEditors/FlatCAMGrbEditor.py:5976 msgid "Geometry shape rotate cancelled" msgstr "Rotatia formei geometrice anulată" #: flatcamEditors/FlatCAMGeoEditor.py:1523 -#: flatcamEditors/FlatCAMGrbEditor.py:5962 +#: flatcamEditors/FlatCAMGrbEditor.py:5981 msgid "Offset on X axis ..." msgstr "Ofset pe axa X ..." #: flatcamEditors/FlatCAMGeoEditor.py:1524 #: flatcamEditors/FlatCAMGeoEditor.py:1543 -#: flatcamEditors/FlatCAMGrbEditor.py:5963 #: flatcamEditors/FlatCAMGrbEditor.py:5982 +#: flatcamEditors/FlatCAMGrbEditor.py:6001 msgid "Enter a distance Value" msgstr "Introdu of valoare pt Distantă" #: flatcamEditors/FlatCAMGeoEditor.py:1533 -#: flatcamEditors/FlatCAMGrbEditor.py:5972 +#: flatcamEditors/FlatCAMGrbEditor.py:5991 msgid "Geometry shape offset on X axis done" msgstr "Ofset pe axa X executat" #: flatcamEditors/FlatCAMGeoEditor.py:1537 -#: flatcamEditors/FlatCAMGrbEditor.py:5976 +#: flatcamEditors/FlatCAMGrbEditor.py:5995 msgid "Geometry shape offset X cancelled" msgstr "Ofset pe axa X anulat" #: flatcamEditors/FlatCAMGeoEditor.py:1542 -#: flatcamEditors/FlatCAMGrbEditor.py:5981 +#: flatcamEditors/FlatCAMGrbEditor.py:6000 msgid "Offset on Y axis ..." msgstr "Ofset pe axa Y ..." #: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5991 +#: flatcamEditors/FlatCAMGrbEditor.py:6010 msgid "Geometry shape offset on Y axis done" msgstr "Ofset pe axa Y executat" @@ -3491,12 +4106,12 @@ msgid "Geometry shape offset on Y axis canceled" msgstr "Ofset pe axa Y anulat" #: flatcamEditors/FlatCAMGeoEditor.py:1559 -#: flatcamEditors/FlatCAMGrbEditor.py:5998 +#: flatcamEditors/FlatCAMGrbEditor.py:6017 msgid "Skew on X axis ..." msgstr "Deformare pe axa X ..." #: flatcamEditors/FlatCAMGeoEditor.py:1569 -#: flatcamEditors/FlatCAMGrbEditor.py:6008 +#: flatcamEditors/FlatCAMGrbEditor.py:6027 msgid "Geometry shape skew on X axis done" msgstr "Deformarea pe axa X executată" @@ -3505,12 +4120,12 @@ msgid "Geometry shape skew on X axis canceled" msgstr "Deformarea pe axa X anulată" #: flatcamEditors/FlatCAMGeoEditor.py:1576 -#: flatcamEditors/FlatCAMGrbEditor.py:6015 +#: flatcamEditors/FlatCAMGrbEditor.py:6034 msgid "Skew on Y axis ..." msgstr "Deformare pe axa Y ..." #: flatcamEditors/FlatCAMGeoEditor.py:1586 -#: flatcamEditors/FlatCAMGrbEditor.py:6025 +#: flatcamEditors/FlatCAMGrbEditor.py:6044 msgid "Geometry shape skew on Y axis done" msgstr "Deformarea pe axa Y executată" @@ -3683,7 +4298,7 @@ msgstr "" "selectată." #: flatcamEditors/FlatCAMGeoEditor.py:2801 -#: flatcamEditors/FlatCAMGrbEditor.py:4798 +#: flatcamEditors/FlatCAMGrbEditor.py:4817 msgid "Done. Buffer Tool completed." msgstr "Executat. Unealta Bufer terminată." @@ -3738,10 +4353,10 @@ msgstr "cu diametrul" msgid "Copy cancelled. No shape selected." msgstr "Copiere anulată. Nici-o forma geometrică nu este selectată." -#: flatcamEditors/FlatCAMGeoEditor.py:4041 flatcamGUI/FlatCAMGUI.py:3096 -#: flatcamGUI/FlatCAMGUI.py:3143 flatcamGUI/FlatCAMGUI.py:3162 -#: flatcamGUI/FlatCAMGUI.py:3297 flatcamGUI/FlatCAMGUI.py:3310 -#: flatcamGUI/FlatCAMGUI.py:3344 flatcamGUI/FlatCAMGUI.py:3406 +#: flatcamEditors/FlatCAMGeoEditor.py:4041 flatcamGUI/FlatCAMGUI.py:3137 +#: flatcamGUI/FlatCAMGUI.py:3184 flatcamGUI/FlatCAMGUI.py:3203 +#: flatcamGUI/FlatCAMGUI.py:3338 flatcamGUI/FlatCAMGUI.py:3351 +#: flatcamGUI/FlatCAMGUI.py:3385 flatcamGUI/FlatCAMGUI.py:3447 msgid "Click on target point." msgstr "Click pe punctul tinta." @@ -3813,7 +4428,7 @@ msgstr "" "Nu se poate face Paint. Valoarea de suprapunere trebuie să fie mai puțin de " "1.00 (100%%)." -#: flatcamEditors/FlatCAMGeoEditor.py:4685 +#: flatcamEditors/FlatCAMGeoEditor.py:4684 msgid "" "Could not do Paint. Try a different combination of parameters. Or a " "different method of Paint" @@ -3821,7 +4436,7 @@ msgstr "" "Nu se poate face Paint. Incearcă o combinaţie diferita de parametri. Or o " "metoda diferita de Paint" -#: flatcamEditors/FlatCAMGeoEditor.py:4699 +#: flatcamEditors/FlatCAMGeoEditor.py:4698 msgid "Paint done." msgstr "Pictare executata." @@ -3972,51 +4587,51 @@ msgstr "Executat. Mutarea Aperturilor terminată." msgid "Done. Apertures copied." msgstr "Executat. Aperturile au fost copiate." -#: flatcamEditors/FlatCAMGrbEditor.py:2374 flatcamGUI/FlatCAMGUI.py:1889 -#: flatcamGUI/PreferencesUI.py:1659 +#: flatcamEditors/FlatCAMGrbEditor.py:2376 flatcamGUI/FlatCAMGUI.py:1899 +#: flatcamGUI/PreferencesUI.py:1683 msgid "Gerber Editor" msgstr "Editor Gerber" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 flatcamGUI/ObjectUI.py:203 +#: flatcamEditors/FlatCAMGrbEditor.py:2396 flatcamGUI/ObjectUI.py:209 #: flatcamTools/ToolProperties.py:142 msgid "Apertures" msgstr "Aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 flatcamGUI/ObjectUI.py:205 +#: flatcamEditors/FlatCAMGrbEditor.py:2398 flatcamGUI/ObjectUI.py:211 msgid "Apertures Table for the Gerber Object." msgstr "Tabela de aperturi pt obiectul Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -#: flatcamEditors/FlatCAMGrbEditor.py:3732 flatcamGUI/ObjectUI.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:3751 flatcamGUI/ObjectUI.py:244 msgid "Code" msgstr "Cod" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -#: flatcamEditors/FlatCAMGrbEditor.py:3732 flatcamGUI/ObjectUI.py:238 -#: flatcamGUI/ObjectUI.py:1097 flatcamGUI/ObjectUI.py:1709 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:3751 flatcamGUI/ObjectUI.py:244 +#: flatcamGUI/ObjectUI.py:1117 flatcamGUI/ObjectUI.py:1738 msgid "Type" msgstr "Tip" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -#: flatcamEditors/FlatCAMGrbEditor.py:3732 flatcamGUI/ObjectUI.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:3751 flatcamGUI/ObjectUI.py:244 msgid "Size" msgstr "Dimensiune" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 -#: flatcamEditors/FlatCAMGrbEditor.py:3732 flatcamGUI/ObjectUI.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 +#: flatcamEditors/FlatCAMGrbEditor.py:3751 flatcamGUI/ObjectUI.py:244 msgid "Dim" msgstr "Dim" -#: flatcamEditors/FlatCAMGrbEditor.py:2411 flatcamGUI/ObjectUI.py:242 +#: flatcamEditors/FlatCAMGrbEditor.py:2413 flatcamGUI/ObjectUI.py:248 msgid "Index" msgstr "Index" -#: flatcamEditors/FlatCAMGrbEditor.py:2413 -#: flatcamEditors/FlatCAMGrbEditor.py:2440 flatcamGUI/ObjectUI.py:244 +#: flatcamEditors/FlatCAMGrbEditor.py:2415 +#: flatcamEditors/FlatCAMGrbEditor.py:2442 flatcamGUI/ObjectUI.py:250 msgid "Aperture Code" msgstr "Cod" -#: flatcamEditors/FlatCAMGrbEditor.py:2415 flatcamGUI/ObjectUI.py:246 +#: flatcamEditors/FlatCAMGrbEditor.py:2417 flatcamGUI/ObjectUI.py:252 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "" "Tipul aperturilor:\n" @@ -4025,11 +4640,11 @@ msgstr "" "- macro-uri\n" "etc" -#: flatcamEditors/FlatCAMGrbEditor.py:2417 flatcamGUI/ObjectUI.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:2419 flatcamGUI/ObjectUI.py:254 msgid "Aperture Size:" msgstr "Dim. aper.:" -#: flatcamEditors/FlatCAMGrbEditor.py:2419 flatcamGUI/ObjectUI.py:250 +#: flatcamEditors/FlatCAMGrbEditor.py:2421 flatcamGUI/ObjectUI.py:256 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" @@ -4039,15 +4654,15 @@ msgstr "" "- (latime, inaltime) pt tipurile R, O.\n" "- (diametru, nVertices) pt tipul P" -#: flatcamEditors/FlatCAMGrbEditor.py:2441 flatcamGUI/PreferencesUI.py:1689 +#: flatcamEditors/FlatCAMGrbEditor.py:2443 flatcamGUI/PreferencesUI.py:1713 msgid "Code for the new aperture" msgstr "Diametru pentru noua apertură" -#: flatcamEditors/FlatCAMGrbEditor.py:2448 +#: flatcamEditors/FlatCAMGrbEditor.py:2452 msgid "Aperture Size" msgstr "Dim. aper" -#: flatcamEditors/FlatCAMGrbEditor.py:2450 +#: flatcamEditors/FlatCAMGrbEditor.py:2454 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -4060,11 +4675,11 @@ msgstr "" "valoarea este calculată automat prin:\n" "sqrt(lătime**2 + inăltime**2)" -#: flatcamEditors/FlatCAMGrbEditor.py:2462 +#: flatcamEditors/FlatCAMGrbEditor.py:2468 msgid "Aperture Type" msgstr "Tip aper" -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGrbEditor.py:2470 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -4076,11 +4691,11 @@ msgstr "" "R = rectangular\n" "O = oval" -#: flatcamEditors/FlatCAMGrbEditor.py:2475 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Aperture Dim" msgstr "Dim. aper" -#: flatcamEditors/FlatCAMGrbEditor.py:2477 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" @@ -4090,39 +4705,39 @@ msgstr "" "Activă doar pentru aperturile rectangulare (tip 'R').\n" "Formatul este (lătime, inăltime)" -#: flatcamEditors/FlatCAMGrbEditor.py:2486 +#: flatcamEditors/FlatCAMGrbEditor.py:2492 msgid "Add/Delete Aperture" msgstr "Adaugă/Șterge apertură" -#: flatcamEditors/FlatCAMGrbEditor.py:2488 +#: flatcamEditors/FlatCAMGrbEditor.py:2494 msgid "Add/Delete an aperture in the aperture table" msgstr "Adaugă/Șterge o apertură din lista de aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2497 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Add a new aperture to the aperture list." msgstr "Adaugă o nouă apertură in lista de aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:2502 +#: flatcamEditors/FlatCAMGrbEditor.py:2508 msgid "Delete a aperture in the aperture list" msgstr "Șterge o apertură din lista de aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2519 +#: flatcamEditors/FlatCAMGrbEditor.py:2525 msgid "Buffer Aperture" msgstr "Bufer pt apertură" -#: flatcamEditors/FlatCAMGrbEditor.py:2521 +#: flatcamEditors/FlatCAMGrbEditor.py:2527 msgid "Buffer a aperture in the aperture list" msgstr "Fă bufer pt o apertură din lista de aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2531 flatcamGUI/PreferencesUI.py:1824 +#: flatcamEditors/FlatCAMGrbEditor.py:2540 flatcamGUI/PreferencesUI.py:1848 msgid "Buffer distance" msgstr "Distanta pt bufer" -#: flatcamEditors/FlatCAMGrbEditor.py:2532 +#: flatcamEditors/FlatCAMGrbEditor.py:2541 msgid "Buffer corner" msgstr "Coltul pt bufer" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 +#: flatcamEditors/FlatCAMGrbEditor.py:2543 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -4136,25 +4751,25 @@ msgstr "" " - 'Beveled:' coltul este inlocuit cu o linie care uneste capetele liniilor " "care formează coltul" -#: flatcamEditors/FlatCAMGrbEditor.py:2549 flatcamGUI/FlatCAMGUI.py:831 -#: flatcamGUI/FlatCAMGUI.py:1823 flatcamGUI/FlatCAMGUI.py:1875 -#: flatcamGUI/FlatCAMGUI.py:1902 flatcamGUI/FlatCAMGUI.py:2243 +#: flatcamEditors/FlatCAMGrbEditor.py:2558 flatcamGUI/FlatCAMGUI.py:825 +#: flatcamGUI/FlatCAMGUI.py:1833 flatcamGUI/FlatCAMGUI.py:1885 +#: flatcamGUI/FlatCAMGUI.py:1912 flatcamGUI/FlatCAMGUI.py:2246 msgid "Buffer" msgstr "Bufer" -#: flatcamEditors/FlatCAMGrbEditor.py:2564 +#: flatcamEditors/FlatCAMGrbEditor.py:2573 msgid "Scale Aperture" msgstr "Scalează aper" -#: flatcamEditors/FlatCAMGrbEditor.py:2566 +#: flatcamEditors/FlatCAMGrbEditor.py:2575 msgid "Scale a aperture in the aperture list" msgstr "Scalează o apertură in lista de aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:2574 flatcamGUI/PreferencesUI.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2583 flatcamGUI/PreferencesUI.py:1864 msgid "Scale factor" msgstr "Factor Scalare" -#: flatcamEditors/FlatCAMGrbEditor.py:2576 +#: flatcamEditors/FlatCAMGrbEditor.py:2585 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" @@ -4162,19 +4777,19 @@ msgstr "" "Factorul cu care se va face scalarea aperturii selectate.\n" "Poate lua valori intre: 0.000 si 999.9999" -#: flatcamEditors/FlatCAMGrbEditor.py:2602 +#: flatcamEditors/FlatCAMGrbEditor.py:2613 msgid "Mark polygons" msgstr "Marchează poligoanele" -#: flatcamEditors/FlatCAMGrbEditor.py:2604 +#: flatcamEditors/FlatCAMGrbEditor.py:2615 msgid "Mark the polygon areas." msgstr "Marchează ariile poligonale." -#: flatcamEditors/FlatCAMGrbEditor.py:2612 +#: flatcamEditors/FlatCAMGrbEditor.py:2623 msgid "Area UPPER threshold" msgstr "Pragul de sus pt. arie" -#: flatcamEditors/FlatCAMGrbEditor.py:2614 +#: flatcamEditors/FlatCAMGrbEditor.py:2625 msgid "" "The threshold value, all areas less than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -4182,11 +4797,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:2621 +#: flatcamEditors/FlatCAMGrbEditor.py:2632 msgid "Area LOWER threshold" msgstr "Pragul de jos pt. arie" -#: flatcamEditors/FlatCAMGrbEditor.py:2623 +#: flatcamEditors/FlatCAMGrbEditor.py:2634 msgid "" "The threshold value, all areas more than this are marked.\n" "Can have a value between 0.0000 and 9999.9999" @@ -4194,36 +4809,36 @@ 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:2637 +#: flatcamEditors/FlatCAMGrbEditor.py:2648 msgid "Mark" msgstr "Marchează" -#: flatcamEditors/FlatCAMGrbEditor.py:2639 +#: flatcamEditors/FlatCAMGrbEditor.py:2650 msgid "Mark the polygons that fit within limits." msgstr "Marcați poligoanele care se încadrează în limite." -#: flatcamEditors/FlatCAMGrbEditor.py:2645 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 msgid "Delete all the marked polygons." msgstr "Ștergeți toate poligoanele marcate." -#: flatcamEditors/FlatCAMGrbEditor.py:2649 flatcamGUI/PreferencesUI.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:2660 flatcamGUI/PreferencesUI.py:694 msgid "Clear" msgstr "Șterge" -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMGrbEditor.py:2662 msgid "Clear all the markings." msgstr "Ștergeți toate marcajele." -#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:821 -#: flatcamGUI/FlatCAMGUI.py:1823 flatcamGUI/FlatCAMGUI.py:2233 +#: flatcamEditors/FlatCAMGrbEditor.py:2682 flatcamGUI/FlatCAMGUI.py:815 +#: flatcamGUI/FlatCAMGUI.py:1833 flatcamGUI/FlatCAMGUI.py:2236 msgid "Add Pad Array" msgstr "Adaugă o arie de paduri" -#: flatcamEditors/FlatCAMGrbEditor.py:2673 +#: flatcamEditors/FlatCAMGrbEditor.py:2684 msgid "Add an array of pads (linear or circular array)" msgstr "Adaugă o arie de paduri (arie lineara sau circulara)." -#: flatcamEditors/FlatCAMGrbEditor.py:2679 +#: flatcamEditors/FlatCAMGrbEditor.py:2690 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" @@ -4231,22 +4846,34 @@ msgstr "" "Selectează tipul de arii de paduri.\n" "Poate fi Liniar X(Y) sau Circular" -#: flatcamEditors/FlatCAMGrbEditor.py:2690 flatcamGUI/PreferencesUI.py:1726 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 flatcamGUI/PreferencesUI.py:1750 msgid "Nr of pads" msgstr "Nr. paduri" -#: flatcamEditors/FlatCAMGrbEditor.py:2692 flatcamGUI/PreferencesUI.py:1728 +#: flatcamEditors/FlatCAMGrbEditor.py:2703 flatcamGUI/PreferencesUI.py:1752 msgid "Specify how many pads to be in the array." msgstr "Specifica cate paduri să fie incluse in arie." -#: flatcamEditors/FlatCAMGrbEditor.py:3214 -#: flatcamEditors/FlatCAMGrbEditor.py:3218 +#: flatcamEditors/FlatCAMGrbEditor.py:2752 +msgid "" +"Angle at which the linear array is placed.\n" +"The precision is of max 2 decimals.\n" +"Min value is: -359.99 degrees.\n" +"Max value is: 360.00 degrees." +msgstr "" +"Unghiul global la care aria lineara este plasata.\n" +"Precizia este de max 2 zecimale.\n" +"Val minima este: -359.99 grade.\n" +"Val maxima este: 360.00 grade." + +#: flatcamEditors/FlatCAMGrbEditor.py:3232 +#: flatcamEditors/FlatCAMGrbEditor.py:3236 msgid "Aperture code value is missing or wrong format. Add it and retry." msgstr "" "Valoarea codului aperturii lipseste sau este in format greșit. Adaugă din " "nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:3254 +#: flatcamEditors/FlatCAMGrbEditor.py:3272 msgid "" "Aperture dimensions value is missing or wrong format. Add it in format " "(width, height) and retry." @@ -4254,123 +4881,123 @@ msgstr "" "Dimensiunile aperturii lipsesc sau sunt intr-un format greșit. Adaugă din " "nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:3267 +#: flatcamEditors/FlatCAMGrbEditor.py:3285 msgid "Aperture size value is missing or wrong format. Add it and retry." msgstr "" "Valoarea mărimii aperturii lipseste sau este in format greșit. Adaugă din " "nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:3278 +#: flatcamEditors/FlatCAMGrbEditor.py:3296 msgid "Aperture already in the aperture table." msgstr "Apertura este deja in lista de aperturi." -#: flatcamEditors/FlatCAMGrbEditor.py:3286 +#: flatcamEditors/FlatCAMGrbEditor.py:3304 msgid "Added new aperture with code" msgstr "O nouă apertură este adăugată cu codul" -#: flatcamEditors/FlatCAMGrbEditor.py:3315 +#: flatcamEditors/FlatCAMGrbEditor.py:3333 msgid " Select an aperture in Aperture Table" msgstr " Selectează o unealtă in Tabela de Aperturi" -#: flatcamEditors/FlatCAMGrbEditor.py:3322 +#: flatcamEditors/FlatCAMGrbEditor.py:3341 msgid "Select an aperture in Aperture Table -->" msgstr "Selectează o unealtă in Tabela de Aperturi -->" -#: flatcamEditors/FlatCAMGrbEditor.py:3346 +#: flatcamEditors/FlatCAMGrbEditor.py:3364 msgid "Deleted aperture with code" msgstr "A fost stearsă unealta cu codul" -#: flatcamEditors/FlatCAMGrbEditor.py:3858 +#: flatcamEditors/FlatCAMGrbEditor.py:3877 msgid "Adding geometry for aperture" msgstr "Se adaugă geometria pentru apertura" -#: flatcamEditors/FlatCAMGrbEditor.py:4041 +#: flatcamEditors/FlatCAMGrbEditor.py:4060 msgid "" "There are no Aperture definitions in the file. Aborting Gerber creation." msgstr "" "Nu există definitii de aperturi in fişier. Se anulează crearea de obiect " "Gerber." -#: flatcamEditors/FlatCAMGrbEditor.py:4051 +#: flatcamEditors/FlatCAMGrbEditor.py:4070 msgid "Creating Gerber." msgstr "Gerber in curs de creare." -#: flatcamEditors/FlatCAMGrbEditor.py:4060 +#: flatcamEditors/FlatCAMGrbEditor.py:4079 msgid "Done. Gerber editing finished." msgstr "Editarea Gerber a fost terminată." -#: flatcamEditors/FlatCAMGrbEditor.py:4077 +#: flatcamEditors/FlatCAMGrbEditor.py:4096 msgid "Cancelled. No aperture is selected" msgstr "Anulat. Nici-o apertură nu este selectată" -#: flatcamEditors/FlatCAMGrbEditor.py:4629 +#: flatcamEditors/FlatCAMGrbEditor.py:4648 msgid "Failed. No aperture geometry is selected." msgstr "Anulat. Nici-o geometrie de apertură nu este selectată." -#: flatcamEditors/FlatCAMGrbEditor.py:4638 -#: flatcamEditors/FlatCAMGrbEditor.py:4910 +#: flatcamEditors/FlatCAMGrbEditor.py:4657 +#: flatcamEditors/FlatCAMGrbEditor.py:4929 msgid "Done. Apertures geometry deleted." msgstr "Executat. Geometriile aperturilor au fost șterse." -#: flatcamEditors/FlatCAMGrbEditor.py:4781 +#: flatcamEditors/FlatCAMGrbEditor.py:4800 msgid "No aperture to buffer. Select at least one aperture and try again." msgstr "" "Nici-o apertură sel. pt a face bufer. Selectează cel puțin o apertură și " "încearcă din nou." -#: flatcamEditors/FlatCAMGrbEditor.py:4794 +#: flatcamEditors/FlatCAMGrbEditor.py:4813 msgid "Failed." msgstr "Esuat." -#: flatcamEditors/FlatCAMGrbEditor.py:4813 +#: flatcamEditors/FlatCAMGrbEditor.py:4832 msgid "Scale factor value is missing or wrong format. Add it and retry." msgstr "" "Valoarea factorului de scalare lipseste sau este in format gresit. Adaugă " "din nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:4845 +#: flatcamEditors/FlatCAMGrbEditor.py:4864 msgid "No aperture to scale. Select at least one aperture and try again." msgstr "" "Nici-o apertură sel. pt scalare. Selectează cel puțin o apertură și încearcă " "din nou." -#: flatcamEditors/FlatCAMGrbEditor.py:4861 +#: flatcamEditors/FlatCAMGrbEditor.py:4880 msgid "Done. Scale Tool completed." msgstr "Executat. Unealta Scalare a terminat." -#: flatcamEditors/FlatCAMGrbEditor.py:4899 +#: flatcamEditors/FlatCAMGrbEditor.py:4918 msgid "Polygons marked." msgstr "Poligoanele sunt marcate." -#: flatcamEditors/FlatCAMGrbEditor.py:4902 +#: flatcamEditors/FlatCAMGrbEditor.py:4921 msgid "No polygons were marked. None fit within the limits." msgstr "Nu au fost marcate poligoane. Niciunul nu se încadrează în limite." -#: flatcamEditors/FlatCAMGrbEditor.py:5681 +#: flatcamEditors/FlatCAMGrbEditor.py:5700 msgid "Rotation action was not executed." msgstr "Actiuena de rotatie nu a fost efectuatăt." -#: flatcamEditors/FlatCAMGrbEditor.py:5820 +#: flatcamEditors/FlatCAMGrbEditor.py:5839 msgid "Skew action was not executed." msgstr "Actiunea de deformare nu a fost efectuată." -#: flatcamEditors/FlatCAMGrbEditor.py:5890 +#: flatcamEditors/FlatCAMGrbEditor.py:5909 msgid "Scale action was not executed." msgstr "Actiuena de scalare nu a fost efectuată." -#: flatcamEditors/FlatCAMGrbEditor.py:5939 +#: flatcamEditors/FlatCAMGrbEditor.py:5958 msgid "Offset action was not executed." msgstr "Actiuena de offset nu a fost efectuată." -#: flatcamEditors/FlatCAMGrbEditor.py:5995 +#: flatcamEditors/FlatCAMGrbEditor.py:6014 msgid "Geometry shape offset Y cancelled" msgstr "Deplasarea formei geometrice pe axa Y anulată" -#: flatcamEditors/FlatCAMGrbEditor.py:6012 +#: flatcamEditors/FlatCAMGrbEditor.py:6031 msgid "Geometry shape skew X cancelled" msgstr "Deformarea formei geometrice pe axa X anulată" -#: flatcamEditors/FlatCAMGrbEditor.py:6029 +#: flatcamEditors/FlatCAMGrbEditor.py:6048 msgid "Geometry shape skew Y cancelled" msgstr "Deformarea formei geometrice pe axa Y executată" @@ -4419,8 +5046,8 @@ msgid "String to replace the one in the Find box throughout the text." msgstr "" "String care sa inlocuiasca pe acele din campul 'Cautare' in cadrul textului." -#: flatcamEditors/FlatCAMTextEditor.py:75 flatcamGUI/ObjectUI.py:1602 -#: flatcamGUI/PreferencesUI.py:3390 flatcamGUI/PreferencesUI.py:4273 +#: flatcamEditors/FlatCAMTextEditor.py:75 flatcamGUI/ObjectUI.py:1631 +#: flatcamGUI/PreferencesUI.py:3451 flatcamGUI/PreferencesUI.py:4380 msgid "All" msgstr "Toate" @@ -4473,8 +5100,10 @@ msgstr "Deschide fişierul" #: flatcamEditors/FlatCAMTextEditor.py:196 #: flatcamEditors/FlatCAMTextEditor.py:201 -msgid "Export G-Code ..." -msgstr "Exporta G-Code ..." +#, fuzzy +#| msgid "Export GCode ..." +msgid "Export Code ..." +msgstr "Exporta GCode ..." #: flatcamEditors/FlatCAMTextEditor.py:204 msgid "Export Code cancelled." @@ -4485,7 +5114,7 @@ msgid "Code Editor content copied to clipboard ..." msgstr "Conținut Editor de cod copiat în clipboard ..." #: flatcamGUI/FlatCAMGUI.py:50 flatcamGUI/FlatCAMGUI.py:52 -#: flatcamGUI/FlatCAMGUI.py:1846 +#: flatcamGUI/FlatCAMGUI.py:1856 msgid "Toggle Panel" msgstr "Comută Panel" @@ -4537,7 +5166,7 @@ msgstr "Document\tD" msgid "Will create a new, empty Document Object." msgstr "Va crea un obiect nou de tip Document, fără continut." -#: flatcamGUI/FlatCAMGUI.py:96 flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:96 flatcamGUI/FlatCAMGUI.py:3778 #: flatcamTools/ToolPcbWizard.py:61 flatcamTools/ToolPcbWizard.py:68 msgid "Open" msgstr "Încarcă" @@ -4546,15 +5175,15 @@ msgstr "Încarcă" msgid "Open &Project ..." msgstr "Încarcă &Project ..." -#: flatcamGUI/FlatCAMGUI.py:106 flatcamGUI/FlatCAMGUI.py:3680 +#: flatcamGUI/FlatCAMGUI.py:106 flatcamGUI/FlatCAMGUI.py:3787 msgid "Open &Gerber ...\tCTRL+G" msgstr "Încarcă &Gerber ...\tCTRL+G" -#: flatcamGUI/FlatCAMGUI.py:111 flatcamGUI/FlatCAMGUI.py:3685 +#: flatcamGUI/FlatCAMGUI.py:111 flatcamGUI/FlatCAMGUI.py:3792 msgid "Open &Excellon ...\tCTRL+E" msgstr "Încarcă &Excellon ...\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:115 flatcamGUI/FlatCAMGUI.py:3689 +#: flatcamGUI/FlatCAMGUI.py:115 flatcamGUI/FlatCAMGUI.py:3796 msgid "Open G-&Code ..." msgstr "Încarcă G-&Code ..." @@ -4574,22 +5203,22 @@ msgstr "Fişierele Recente" msgid "Scripting" msgstr "Scripting" -#: flatcamGUI/FlatCAMGUI.py:135 flatcamGUI/FlatCAMGUI.py:734 -#: flatcamGUI/FlatCAMGUI.py:2152 +#: flatcamGUI/FlatCAMGUI.py:135 flatcamGUI/FlatCAMGUI.py:726 +#: flatcamGUI/FlatCAMGUI.py:2153 msgid "New Script ..." msgstr "Script nou ..." -#: flatcamGUI/FlatCAMGUI.py:136 flatcamGUI/FlatCAMGUI.py:735 -#: flatcamGUI/FlatCAMGUI.py:2153 +#: flatcamGUI/FlatCAMGUI.py:136 flatcamGUI/FlatCAMGUI.py:727 +#: flatcamGUI/FlatCAMGUI.py:2154 msgid "Open Script ..." msgstr "Încarcă &Script..." -#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:736 -#: flatcamGUI/FlatCAMGUI.py:2154 flatcamGUI/FlatCAMGUI.py:3660 +#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:728 +#: flatcamGUI/FlatCAMGUI.py:2155 flatcamGUI/FlatCAMGUI.py:3767 msgid "Run Script ..." msgstr "Rulează Script..." -#: flatcamGUI/FlatCAMGUI.py:140 flatcamGUI/FlatCAMGUI.py:3662 +#: flatcamGUI/FlatCAMGUI.py:140 flatcamGUI/FlatCAMGUI.py:3769 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4685,7 +5314,7 @@ msgstr "Importați Preferințele din fișier ..." msgid "Export Preferences to file ..." msgstr "Exportați Preferințele într-un fișier ..." -#: flatcamGUI/FlatCAMGUI.py:235 flatcamGUI/FlatCAMGUI.py:607 +#: flatcamGUI/FlatCAMGUI.py:235 flatcamGUI/FlatCAMGUI.py:599 msgid "Save" msgstr "Salvează" @@ -4705,8 +5334,8 @@ msgstr "Salvează o C&opie Proiect..." msgid "E&xit" msgstr "Iesire" -#: flatcamGUI/FlatCAMGUI.py:263 flatcamGUI/FlatCAMGUI.py:604 -#: flatcamGUI/FlatCAMGUI.py:1923 +#: flatcamGUI/FlatCAMGUI.py:263 flatcamGUI/FlatCAMGUI.py:596 +#: flatcamGUI/FlatCAMGUI.py:1933 msgid "Edit" msgstr "Editează" @@ -4819,647 +5448,661 @@ msgstr "&Selectează Tot\tCTRL+A" msgid "&Preferences\tSHIFT+P" msgstr "&Preferințe\tSHIFT+P" -#: flatcamGUI/FlatCAMGUI.py:341 flatcamTools/ToolProperties.py:140 +#: flatcamGUI/FlatCAMGUI.py:344 flatcamTools/ToolProperties.py:140 msgid "Options" msgstr "Opțiuni" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:346 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "&Roteste Selectia\tSHIFT+(R)" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:351 msgid "&Skew on X axis\tSHIFT+X" msgstr "&Deformează pe axa X\tSHIFT+X" -#: flatcamGUI/FlatCAMGUI.py:363 +#: flatcamGUI/FlatCAMGUI.py:353 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "Deformează pe axa Y\tSHIFT+Y" -#: flatcamGUI/FlatCAMGUI.py:368 +#: flatcamGUI/FlatCAMGUI.py:358 msgid "Flip on &X axis\tX" msgstr "Oglindește pe axa &X\tX" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:360 msgid "Flip on &Y axis\tY" msgstr "Oglindește pe axa &Y\tY" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "View source\tALT+S" msgstr "Vezi sursa\tALT+S" -#: flatcamGUI/FlatCAMGUI.py:382 -msgid "&View" -msgstr "&Vizualizare" +#: flatcamGUI/FlatCAMGUI.py:367 +#, fuzzy +#| msgid "Tool Data" +msgid "Tools DataBase\tCTRL+D" +msgstr "Date unealtă" -#: flatcamGUI/FlatCAMGUI.py:383 +#: flatcamGUI/FlatCAMGUI.py:374 flatcamGUI/FlatCAMGUI.py:1869 +msgid "View" +msgstr "Vizualizare" + +#: flatcamGUI/FlatCAMGUI.py:375 msgid "Enable all plots\tALT+1" msgstr "Activează toate afişările\tALT+1" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:377 msgid "Disable all plots\tALT+2" msgstr "Dezactivează toate afişările\tALT+2" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "Disable non-selected\tALT+3" msgstr "Dezactivează non-selectate\tALT+3" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:382 msgid "&Zoom Fit\tV" msgstr "&Mărește și potrivește\tV" -#: flatcamGUI/FlatCAMGUI.py:391 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Zoom In\t=" msgstr "&Măreste\t=" -#: flatcamGUI/FlatCAMGUI.py:392 +#: flatcamGUI/FlatCAMGUI.py:384 msgid "&Zoom Out\t-" msgstr "&Micșorează\t-" -#: flatcamGUI/FlatCAMGUI.py:396 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "Redraw All\tF5" msgstr "Reafisare Toate\tF5" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:392 msgid "Toggle Code Editor\tSHIFT+E" msgstr "Comută Editorul de cod\tSHIFT+E" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:395 msgid "&Toggle FullScreen\tALT+F10" msgstr "Comută FullScreen\tALT+F10" -#: flatcamGUI/FlatCAMGUI.py:405 +#: flatcamGUI/FlatCAMGUI.py:397 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "Comută Aria de Afișare\tCTRL+F10" -#: flatcamGUI/FlatCAMGUI.py:407 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Toggle Project/Sel/Tool\t`" msgstr "Comută Proiect/Sel/Unealta\t`" -#: flatcamGUI/FlatCAMGUI.py:411 +#: flatcamGUI/FlatCAMGUI.py:403 msgid "&Toggle Grid Snap\tG" msgstr "Comută Grid\tG" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "&Toggle Grid Lines\tALT+G" msgstr "Comută Linii Grid\tALT+G" -#: flatcamGUI/FlatCAMGUI.py:414 +#: flatcamGUI/FlatCAMGUI.py:406 msgid "&Toggle Axis\tSHIFT+G" msgstr "Comută Axe\tSHIFT+G" -#: flatcamGUI/FlatCAMGUI.py:417 +#: flatcamGUI/FlatCAMGUI.py:409 msgid "Toggle Workspace\tSHIFT+W" msgstr "Comută Suprafata de lucru\tSHIFT+W" -#: flatcamGUI/FlatCAMGUI.py:422 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Objects" msgstr "Obiecte" -#: flatcamGUI/FlatCAMGUI.py:433 -msgid "&Tool" -msgstr "Unelte" - -#: flatcamGUI/FlatCAMGUI.py:435 +#: flatcamGUI/FlatCAMGUI.py:427 msgid "&Command Line\tS" msgstr "&Linie de comanda\tS" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:432 msgid "Help" msgstr "Ajutor" -#: flatcamGUI/FlatCAMGUI.py:441 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Online Help\tF1" msgstr "Resurse online\tF1" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:3975 -msgid "Bookmarks" -msgstr "Bookmarks" - -#: flatcamGUI/FlatCAMGUI.py:449 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Report a bug" msgstr "Raportati o eroare program" -#: flatcamGUI/FlatCAMGUI.py:452 +#: flatcamGUI/FlatCAMGUI.py:444 msgid "Excellon Specification" msgstr "Specificatii Excellon" -#: flatcamGUI/FlatCAMGUI.py:454 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Gerber Specification" msgstr "Specificatii Gerber" -#: flatcamGUI/FlatCAMGUI.py:459 +#: flatcamGUI/FlatCAMGUI.py:451 msgid "Shortcuts List\tF3" msgstr "Lista shortcut-uri\tF3" -#: flatcamGUI/FlatCAMGUI.py:460 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "YouTube Channel\tF4" msgstr "YouTube \tF4" -#: flatcamGUI/FlatCAMGUI.py:471 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Circle\tO" msgstr "Adaugă Cerc\tO" -#: flatcamGUI/FlatCAMGUI.py:473 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Arc\tA" msgstr "Adaugă Arc\tA" -#: flatcamGUI/FlatCAMGUI.py:476 +#: flatcamGUI/FlatCAMGUI.py:468 msgid "Add Rectangle\tR" msgstr "Adaugă Patrulater\tR" -#: flatcamGUI/FlatCAMGUI.py:479 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Polygon\tN" msgstr "Adaugă Poligon\tN" -#: flatcamGUI/FlatCAMGUI.py:481 +#: flatcamGUI/FlatCAMGUI.py:473 msgid "Add Path\tP" msgstr "Adaugă Cale\tP" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Add Text\tT" msgstr "Adaugă Text\tT" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:478 msgid "Polygon Union\tU" msgstr "Uniune Poligoane\tU" -#: flatcamGUI/FlatCAMGUI.py:488 +#: flatcamGUI/FlatCAMGUI.py:480 msgid "Polygon Intersection\tE" msgstr "Intersecţie Poligoane\tE" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:482 msgid "Polygon Subtraction\tS" msgstr "Substracţie Poligoane\tS" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:486 msgid "Cut Path\tX" msgstr "Tăiere Cale\tX" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:488 msgid "Copy Geom\tC" msgstr "Copiază Geo\tC" -#: flatcamGUI/FlatCAMGUI.py:498 +#: flatcamGUI/FlatCAMGUI.py:490 msgid "Delete Shape\tDEL" msgstr "Șterge forma Geo.\tDEL" -#: flatcamGUI/FlatCAMGUI.py:501 flatcamGUI/FlatCAMGUI.py:583 +#: flatcamGUI/FlatCAMGUI.py:493 flatcamGUI/FlatCAMGUI.py:575 msgid "Move\tM" msgstr "Muta\tM" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Buffer Tool\tB" msgstr "Unealta Bufer\tB" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:498 msgid "Paint Tool\tI" msgstr "Unealta Paint\tI" -#: flatcamGUI/FlatCAMGUI.py:509 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Transform Tool\tALT+R" msgstr "Unealta Transformare\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:513 +#: flatcamGUI/FlatCAMGUI.py:505 msgid "Toggle Corner Snap\tK" msgstr "Comută lipire colt\tK" -#: flatcamGUI/FlatCAMGUI.py:519 +#: flatcamGUI/FlatCAMGUI.py:511 msgid ">Excellon Editor<" msgstr ">Editor Excellon<" -#: flatcamGUI/FlatCAMGUI.py:523 +#: flatcamGUI/FlatCAMGUI.py:515 msgid "Add Drill Array\tA" msgstr "Adaugă Arie Găuriri\tA" -#: flatcamGUI/FlatCAMGUI.py:525 +#: flatcamGUI/FlatCAMGUI.py:517 msgid "Add Drill\tD" msgstr "Adaugă Găurire\tD" -#: flatcamGUI/FlatCAMGUI.py:529 +#: flatcamGUI/FlatCAMGUI.py:521 msgid "Add Slot Array\tQ" msgstr "Adăugați Arie de Sloturi\tQ" -#: flatcamGUI/FlatCAMGUI.py:531 +#: flatcamGUI/FlatCAMGUI.py:523 msgid "Add Slot\tW" msgstr "Adăugați Slot\tW" -#: flatcamGUI/FlatCAMGUI.py:535 +#: flatcamGUI/FlatCAMGUI.py:527 msgid "Resize Drill(S)\tR" msgstr "Redimens. Găuriri\tR" -#: flatcamGUI/FlatCAMGUI.py:537 flatcamGUI/FlatCAMGUI.py:578 +#: flatcamGUI/FlatCAMGUI.py:529 flatcamGUI/FlatCAMGUI.py:570 msgid "Copy\tC" msgstr "Copiază\tC" -#: flatcamGUI/FlatCAMGUI.py:539 flatcamGUI/FlatCAMGUI.py:580 +#: flatcamGUI/FlatCAMGUI.py:531 flatcamGUI/FlatCAMGUI.py:572 msgid "Delete\tDEL" msgstr "Șterge\tDEL" -#: flatcamGUI/FlatCAMGUI.py:544 +#: flatcamGUI/FlatCAMGUI.py:536 msgid "Move Drill(s)\tM" msgstr "Muta Găuriri\tM" -#: flatcamGUI/FlatCAMGUI.py:549 +#: flatcamGUI/FlatCAMGUI.py:541 msgid ">Gerber Editor<" msgstr ">Editor Gerber<" -#: flatcamGUI/FlatCAMGUI.py:553 +#: flatcamGUI/FlatCAMGUI.py:545 msgid "Add Pad\tP" msgstr "Adaugă Pad\tP" -#: flatcamGUI/FlatCAMGUI.py:555 +#: flatcamGUI/FlatCAMGUI.py:547 msgid "Add Pad Array\tA" msgstr "Adaugă Arie paduri\tA" -#: flatcamGUI/FlatCAMGUI.py:557 +#: flatcamGUI/FlatCAMGUI.py:549 msgid "Add Track\tT" msgstr "Adaugă Traseu\tA" -#: flatcamGUI/FlatCAMGUI.py:559 +#: flatcamGUI/FlatCAMGUI.py:551 msgid "Add Region\tN" msgstr "Adaugă Regiune\tN" -#: flatcamGUI/FlatCAMGUI.py:563 +#: flatcamGUI/FlatCAMGUI.py:555 msgid "Poligonize\tALT+N" msgstr "Poligonizare\tALT+N" -#: flatcamGUI/FlatCAMGUI.py:565 +#: flatcamGUI/FlatCAMGUI.py:557 msgid "Add SemiDisc\tE" msgstr "Adaugă SemiDisc\tE" -#: flatcamGUI/FlatCAMGUI.py:566 +#: flatcamGUI/FlatCAMGUI.py:558 msgid "Add Disc\tD" msgstr "Adaugă Disc\tD" -#: flatcamGUI/FlatCAMGUI.py:568 +#: flatcamGUI/FlatCAMGUI.py:560 msgid "Buffer\tB" msgstr "Bufer\tB" -#: flatcamGUI/FlatCAMGUI.py:569 +#: flatcamGUI/FlatCAMGUI.py:561 msgid "Scale\tS" msgstr "Scalare\tS" -#: flatcamGUI/FlatCAMGUI.py:571 +#: flatcamGUI/FlatCAMGUI.py:563 msgid "Mark Area\tALT+A" msgstr "Marchează aria\tALT+A" -#: flatcamGUI/FlatCAMGUI.py:573 +#: flatcamGUI/FlatCAMGUI.py:565 msgid "Eraser\tCTRL+E" msgstr "Radieră\tCTRL+E" -#: flatcamGUI/FlatCAMGUI.py:575 +#: flatcamGUI/FlatCAMGUI.py:567 msgid "Transform\tALT+R" msgstr "Unealta Transformare\tALT+R" -#: flatcamGUI/FlatCAMGUI.py:598 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Enable Plot" msgstr "Activează Afișare" -#: flatcamGUI/FlatCAMGUI.py:599 +#: flatcamGUI/FlatCAMGUI.py:591 msgid "Disable Plot" msgstr "Dezactivează Afișare" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:593 msgid "Generate CNC" msgstr "Generează CNC" -#: flatcamGUI/FlatCAMGUI.py:602 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "View Source" msgstr "Vizualiz. Sursa" -#: flatcamGUI/FlatCAMGUI.py:610 flatcamGUI/FlatCAMGUI.py:1929 +#: flatcamGUI/FlatCAMGUI.py:602 flatcamGUI/FlatCAMGUI.py:1939 #: flatcamTools/ToolProperties.py:29 msgid "Properties" msgstr "Proprietati" -#: flatcamGUI/FlatCAMGUI.py:639 +#: flatcamGUI/FlatCAMGUI.py:631 msgid "File Toolbar" msgstr "Toolbar Fişiere" -#: flatcamGUI/FlatCAMGUI.py:643 +#: flatcamGUI/FlatCAMGUI.py:635 msgid "Edit Toolbar" msgstr "Toolbar Editare" -#: flatcamGUI/FlatCAMGUI.py:647 +#: flatcamGUI/FlatCAMGUI.py:639 msgid "View Toolbar" msgstr "Toolbar Vizualizare" -#: flatcamGUI/FlatCAMGUI.py:651 +#: flatcamGUI/FlatCAMGUI.py:643 msgid "Shell Toolbar" msgstr "Toolbar Linie de comanda" -#: flatcamGUI/FlatCAMGUI.py:655 +#: flatcamGUI/FlatCAMGUI.py:647 msgid "Tools Toolbar" msgstr "Toolbar Unelte" -#: flatcamGUI/FlatCAMGUI.py:659 +#: flatcamGUI/FlatCAMGUI.py:651 msgid "Excellon Editor Toolbar" msgstr "Toolbar Editor Excellon" -#: flatcamGUI/FlatCAMGUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:657 msgid "Geometry Editor Toolbar" msgstr "Toolbar Editor Geometrii" -#: flatcamGUI/FlatCAMGUI.py:669 +#: flatcamGUI/FlatCAMGUI.py:661 msgid "Gerber Editor Toolbar" msgstr "Toolbar Editor Gerber" -#: flatcamGUI/FlatCAMGUI.py:673 +#: flatcamGUI/FlatCAMGUI.py:665 msgid "Grid Toolbar" msgstr "Toolbar Grid-uri" -#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2118 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2119 msgid "Open project" msgstr "Încarcă Proiect" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:2119 +#: flatcamGUI/FlatCAMGUI.py:687 flatcamGUI/FlatCAMGUI.py:2120 msgid "Save project" msgstr "Salvează Proiect" -#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2122 +#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:2123 msgid "New Blank Geometry" msgstr "Geometrie Noua (goală)" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:2123 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2124 msgid "New Blank Gerber" msgstr "Gerber Nou (gol)" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2124 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2125 msgid "New Blank Excellon" msgstr "Excellon nou (gol)" -#: flatcamGUI/FlatCAMGUI.py:706 flatcamGUI/FlatCAMGUI.py:2128 +#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:2129 msgid "Save Object and close the Editor" msgstr "Salvează Obiectul și inchide Editorul" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2133 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2134 msgid "&Delete" msgstr "&Șterge" -#: flatcamGUI/FlatCAMGUI.py:713 flatcamGUI/FlatCAMGUI.py:1432 -#: flatcamGUI/FlatCAMGUI.py:1620 flatcamGUI/FlatCAMGUI.py:2135 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:1431 +#: flatcamGUI/FlatCAMGUI.py:1630 flatcamGUI/FlatCAMGUI.py:2136 #: flatcamTools/ToolDistance.py:30 flatcamTools/ToolDistance.py:160 msgid "Distance Tool" msgstr "Unealta Distanță" -#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2137 +#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2138 msgid "Distance Min Tool" msgstr "Unealta Distanță min" -#: flatcamGUI/FlatCAMGUI.py:716 flatcamGUI/FlatCAMGUI.py:1428 -#: flatcamGUI/FlatCAMGUI.py:2138 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:1424 +#: flatcamGUI/FlatCAMGUI.py:2139 flatcamTools/ToolCalibrateExcellon.py:174 +#: flatcamTools/ToolCalibrateExcellon.py:175 msgid "Set Origin" msgstr "Setează Originea" -#: flatcamGUI/FlatCAMGUI.py:717 flatcamGUI/FlatCAMGUI.py:2139 +#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2140 msgid "Jump to Location" msgstr "Sari la Locaţie" -#: flatcamGUI/FlatCAMGUI.py:722 flatcamGUI/FlatCAMGUI.py:2142 +#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2143 msgid "&Replot" msgstr "&Reafișare" -#: flatcamGUI/FlatCAMGUI.py:723 flatcamGUI/FlatCAMGUI.py:2143 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2144 msgid "&Clear plot" msgstr "&Șterge Afișare" -#: flatcamGUI/FlatCAMGUI.py:724 flatcamGUI/FlatCAMGUI.py:1431 -#: flatcamGUI/FlatCAMGUI.py:2144 +#: flatcamGUI/FlatCAMGUI.py:716 flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:2145 msgid "Zoom In" msgstr "Marire" -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1431 -#: flatcamGUI/FlatCAMGUI.py:2145 +#: flatcamGUI/FlatCAMGUI.py:717 flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:2146 msgid "Zoom Out" msgstr "Micsorare" -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1430 -#: flatcamGUI/FlatCAMGUI.py:1860 flatcamGUI/FlatCAMGUI.py:2146 +#: flatcamGUI/FlatCAMGUI.py:718 flatcamGUI/FlatCAMGUI.py:1426 +#: flatcamGUI/FlatCAMGUI.py:1870 flatcamGUI/FlatCAMGUI.py:2147 msgid "Zoom Fit" msgstr "Marire și ajustare" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:2151 +#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:2152 msgid "&Command Line" msgstr "&Linie de comanda" -#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:2157 +#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:2158 msgid "2Sided Tool" msgstr "Unealta 2-fețe" -#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/ObjectUI.py:551 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/ObjectUI.py:557 #: flatcamTools/ToolCutOut.py:373 msgid "Cutout Tool" msgstr "Unealta Decupare" -#: flatcamGUI/FlatCAMGUI.py:743 flatcamGUI/FlatCAMGUI.py:2159 -#: flatcamGUI/ObjectUI.py:535 flatcamTools/ToolNonCopperClear.py:605 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:2160 +#: flatcamGUI/ObjectUI.py:541 flatcamTools/ToolNonCopperClear.py:617 msgid "NCC Tool" msgstr "Unealta NCC" -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:2163 +#: flatcamGUI/FlatCAMGUI.py:739 flatcamGUI/FlatCAMGUI.py:2164 msgid "Panel Tool" msgstr "Unealta Panel" -#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:2164 +#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:2165 #: flatcamTools/ToolFilm.py:421 msgid "Film Tool" msgstr "Unealta Film" -#: flatcamGUI/FlatCAMGUI.py:749 flatcamGUI/FlatCAMGUI.py:2166 -#: flatcamTools/ToolSolderPaste.py:457 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:2167 +#: flatcamTools/ToolSolderPaste.py:509 msgid "SolderPaste Tool" msgstr "Unealta Dispenser SP" -#: flatcamGUI/FlatCAMGUI.py:750 flatcamGUI/FlatCAMGUI.py:2167 +#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2168 #: flatcamTools/ToolSub.py:35 msgid "Subtract Tool" msgstr "Unealta Scădere" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamTools/ToolRulesCheck.py:587 +#: flatcamGUI/FlatCAMGUI.py:743 flatcamTools/ToolRulesCheck.py:587 msgid "Rules Tool" msgstr "Unalta Verif. Reguli" -#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1438 -#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:278 +#: flatcamGUI/FlatCAMGUI.py:744 flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:289 msgid "Optimal Tool" msgstr "Unealta Optim" -#: flatcamGUI/FlatCAMGUI.py:756 flatcamGUI/FlatCAMGUI.py:1436 -#: flatcamGUI/FlatCAMGUI.py:2172 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1440 +#: flatcamGUI/FlatCAMGUI.py:2173 msgid "Calculators Tool" msgstr "Unealta Calculatoare" -#: flatcamGUI/FlatCAMGUI.py:762 flatcamGUI/FlatCAMGUI.py:781 -#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:2176 -#: flatcamGUI/FlatCAMGUI.py:2231 +#: flatcamGUI/FlatCAMGUI.py:750 flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:2175 flatcamTools/ToolQRCode.py:43 +#: flatcamTools/ToolQRCode.py:350 +#, fuzzy +#| msgid "Rules Tool" +msgid "QRCode Tool" +msgstr "Unalta Verif. Reguli" + +#: flatcamGUI/FlatCAMGUI.py:751 flatcamGUI/FlatCAMGUI.py:2176 +#: flatcamTools/ToolCopperThieving.py:38 flatcamTools/ToolCopperThieving.py:243 +#, fuzzy +#| msgid "Non-Copper Clearing Tool" +msgid "Copper Fill Tool" +msgstr "Curățăre Non-Cupru" + +#: flatcamGUI/FlatCAMGUI.py:756 flatcamGUI/FlatCAMGUI.py:775 +#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2179 +#: flatcamGUI/FlatCAMGUI.py:2234 msgid "Select" msgstr "Selectează" -#: flatcamGUI/FlatCAMGUI.py:763 flatcamGUI/FlatCAMGUI.py:2177 +#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2180 msgid "Add Drill Hole" msgstr "Adaugă o Găurire" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2179 +#: flatcamGUI/FlatCAMGUI.py:759 flatcamGUI/FlatCAMGUI.py:2182 msgid "Add Drill Hole Array" msgstr "Adaugă o arie de Găuriri" -#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:1705 -#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2181 +#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:1715 +#: flatcamGUI/FlatCAMGUI.py:1925 flatcamGUI/FlatCAMGUI.py:2184 msgid "Add Slot" msgstr "Adaugă Slot" -#: flatcamGUI/FlatCAMGUI.py:768 flatcamGUI/FlatCAMGUI.py:1704 -#: flatcamGUI/FlatCAMGUI.py:1916 flatcamGUI/FlatCAMGUI.py:2183 +#: flatcamGUI/FlatCAMGUI.py:762 flatcamGUI/FlatCAMGUI.py:1714 +#: flatcamGUI/FlatCAMGUI.py:1926 flatcamGUI/FlatCAMGUI.py:2186 msgid "Add Slot Array" msgstr "Adaugă o Arie sloturi" -#: flatcamGUI/FlatCAMGUI.py:769 flatcamGUI/FlatCAMGUI.py:1918 -#: flatcamGUI/FlatCAMGUI.py:2180 +#: flatcamGUI/FlatCAMGUI.py:763 flatcamGUI/FlatCAMGUI.py:1928 +#: flatcamGUI/FlatCAMGUI.py:2183 msgid "Resize Drill" msgstr "Redimens. Găurire" -#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2186 +#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:2189 msgid "Copy Drill" msgstr "Copiază Găurire" -#: flatcamGUI/FlatCAMGUI.py:773 flatcamGUI/FlatCAMGUI.py:2188 +#: flatcamGUI/FlatCAMGUI.py:767 flatcamGUI/FlatCAMGUI.py:2191 msgid "Delete Drill" msgstr "Șterge Găurire" -#: flatcamGUI/FlatCAMGUI.py:776 flatcamGUI/FlatCAMGUI.py:2191 +#: flatcamGUI/FlatCAMGUI.py:770 flatcamGUI/FlatCAMGUI.py:2194 msgid "Move Drill" msgstr "Muta Găurire" -#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2195 +#: flatcamGUI/FlatCAMGUI.py:776 flatcamGUI/FlatCAMGUI.py:2198 msgid "Add Circle" msgstr "Adaugă Cerc" -#: flatcamGUI/FlatCAMGUI.py:783 flatcamGUI/FlatCAMGUI.py:2196 +#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2199 msgid "Add Arc" msgstr "Adaugă Arc" -#: flatcamGUI/FlatCAMGUI.py:785 flatcamGUI/FlatCAMGUI.py:2198 +#: flatcamGUI/FlatCAMGUI.py:779 flatcamGUI/FlatCAMGUI.py:2201 msgid "Add Rectangle" msgstr "Adaugă Patrulater" -#: flatcamGUI/FlatCAMGUI.py:788 flatcamGUI/FlatCAMGUI.py:2201 +#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2204 msgid "Add Path" msgstr "Adaugă Cale" -#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2203 +#: flatcamGUI/FlatCAMGUI.py:783 flatcamGUI/FlatCAMGUI.py:2206 msgid "Add Polygon" msgstr "Adaugă Poligon" -#: flatcamGUI/FlatCAMGUI.py:791 flatcamGUI/FlatCAMGUI.py:2205 +#: flatcamGUI/FlatCAMGUI.py:785 flatcamGUI/FlatCAMGUI.py:2208 msgid "Add Text" msgstr "Adaugă Text" -#: flatcamGUI/FlatCAMGUI.py:792 flatcamGUI/FlatCAMGUI.py:2206 +#: flatcamGUI/FlatCAMGUI.py:786 flatcamGUI/FlatCAMGUI.py:2209 msgid "Add Buffer" msgstr "Adaugă Bufer" -#: flatcamGUI/FlatCAMGUI.py:793 flatcamGUI/FlatCAMGUI.py:2207 +#: flatcamGUI/FlatCAMGUI.py:787 flatcamGUI/FlatCAMGUI.py:2210 msgid "Paint Shape" msgstr "Paint o forma" -#: flatcamGUI/FlatCAMGUI.py:794 flatcamGUI/FlatCAMGUI.py:836 -#: flatcamGUI/FlatCAMGUI.py:1877 flatcamGUI/FlatCAMGUI.py:1905 -#: flatcamGUI/FlatCAMGUI.py:2208 flatcamGUI/FlatCAMGUI.py:2247 +#: flatcamGUI/FlatCAMGUI.py:788 flatcamGUI/FlatCAMGUI.py:830 +#: flatcamGUI/FlatCAMGUI.py:1887 flatcamGUI/FlatCAMGUI.py:1915 +#: flatcamGUI/FlatCAMGUI.py:2211 flatcamGUI/FlatCAMGUI.py:2250 msgid "Eraser" msgstr "Stergere Selectivă" -#: flatcamGUI/FlatCAMGUI.py:797 flatcamGUI/FlatCAMGUI.py:2211 +#: flatcamGUI/FlatCAMGUI.py:791 flatcamGUI/FlatCAMGUI.py:2214 msgid "Polygon Union" msgstr "Uniune Poligoane" -#: flatcamGUI/FlatCAMGUI.py:798 flatcamGUI/FlatCAMGUI.py:2212 +#: flatcamGUI/FlatCAMGUI.py:792 flatcamGUI/FlatCAMGUI.py:2215 msgid "Polygon Explode" msgstr "Explodare Poligoane" -#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2215 +#: flatcamGUI/FlatCAMGUI.py:795 flatcamGUI/FlatCAMGUI.py:2218 msgid "Polygon Intersection" msgstr "Intersecţie Poligoane" -#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:2217 +#: flatcamGUI/FlatCAMGUI.py:797 flatcamGUI/FlatCAMGUI.py:2220 msgid "Polygon Subtraction" msgstr "Substracţie Poligoane" -#: flatcamGUI/FlatCAMGUI.py:806 flatcamGUI/FlatCAMGUI.py:2220 +#: flatcamGUI/FlatCAMGUI.py:800 flatcamGUI/FlatCAMGUI.py:2223 msgid "Cut Path" msgstr "Taie Cale" -#: flatcamGUI/FlatCAMGUI.py:807 +#: flatcamGUI/FlatCAMGUI.py:801 msgid "Copy Shape(s)" msgstr "Copiază forme geo." -#: flatcamGUI/FlatCAMGUI.py:810 +#: flatcamGUI/FlatCAMGUI.py:804 msgid "Delete Shape '-'" msgstr "Șterge forme geo" -#: flatcamGUI/FlatCAMGUI.py:812 flatcamGUI/FlatCAMGUI.py:843 -#: flatcamGUI/FlatCAMGUI.py:1884 flatcamGUI/FlatCAMGUI.py:1909 -#: flatcamGUI/FlatCAMGUI.py:2225 flatcamGUI/FlatCAMGUI.py:2254 +#: flatcamGUI/FlatCAMGUI.py:806 flatcamGUI/FlatCAMGUI.py:837 +#: flatcamGUI/FlatCAMGUI.py:1894 flatcamGUI/FlatCAMGUI.py:1919 +#: flatcamGUI/FlatCAMGUI.py:2228 flatcamGUI/FlatCAMGUI.py:2257 msgid "Transformations" msgstr "Transformări" -#: flatcamGUI/FlatCAMGUI.py:814 +#: flatcamGUI/FlatCAMGUI.py:808 msgid "Move Objects " msgstr "Mută Obiecte " -#: flatcamGUI/FlatCAMGUI.py:820 flatcamGUI/FlatCAMGUI.py:1824 -#: flatcamGUI/FlatCAMGUI.py:2232 +#: flatcamGUI/FlatCAMGUI.py:814 flatcamGUI/FlatCAMGUI.py:1834 +#: flatcamGUI/FlatCAMGUI.py:2235 msgid "Add Pad" msgstr "Adaugă Pad" -#: flatcamGUI/FlatCAMGUI.py:822 flatcamGUI/FlatCAMGUI.py:1825 -#: flatcamGUI/FlatCAMGUI.py:2234 +#: flatcamGUI/FlatCAMGUI.py:816 flatcamGUI/FlatCAMGUI.py:1835 +#: flatcamGUI/FlatCAMGUI.py:2237 msgid "Add Track" msgstr "Adaugă Traseu" -#: flatcamGUI/FlatCAMGUI.py:823 flatcamGUI/FlatCAMGUI.py:1824 -#: flatcamGUI/FlatCAMGUI.py:2235 +#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1834 +#: flatcamGUI/FlatCAMGUI.py:2238 msgid "Add Region" msgstr "Adaugă Regiune" -#: flatcamGUI/FlatCAMGUI.py:825 flatcamGUI/FlatCAMGUI.py:1897 -#: flatcamGUI/FlatCAMGUI.py:2237 +#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1907 +#: flatcamGUI/FlatCAMGUI.py:2240 msgid "Poligonize" msgstr "Poligonizare" -#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:1898 -#: flatcamGUI/FlatCAMGUI.py:2239 +#: flatcamGUI/FlatCAMGUI.py:821 flatcamGUI/FlatCAMGUI.py:1908 +#: flatcamGUI/FlatCAMGUI.py:2242 msgid "SemiDisc" msgstr "SemiDisc" -#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:1899 -#: flatcamGUI/FlatCAMGUI.py:2240 +#: flatcamGUI/FlatCAMGUI.py:822 flatcamGUI/FlatCAMGUI.py:1909 +#: flatcamGUI/FlatCAMGUI.py:2243 msgid "Disc" msgstr "Disc" -#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:1904 -#: flatcamGUI/FlatCAMGUI.py:2246 +#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:1914 +#: flatcamGUI/FlatCAMGUI.py:2249 msgid "Mark Area" msgstr "Marc. aria" -#: flatcamGUI/FlatCAMGUI.py:845 flatcamGUI/FlatCAMGUI.py:1824 -#: flatcamGUI/FlatCAMGUI.py:1887 flatcamGUI/FlatCAMGUI.py:1928 -#: flatcamGUI/FlatCAMGUI.py:2256 flatcamTools/ToolMove.py:28 +#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:1834 +#: flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:1938 +#: flatcamGUI/FlatCAMGUI.py:2259 flatcamTools/ToolMove.py:28 msgid "Move" msgstr "Mutare" -#: flatcamGUI/FlatCAMGUI.py:852 flatcamGUI/FlatCAMGUI.py:2262 +#: flatcamGUI/FlatCAMGUI.py:846 flatcamGUI/FlatCAMGUI.py:2265 msgid "Snap to grid" msgstr "Lipire la grid" -#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2265 +#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2268 msgid "Grid X snapping distance" msgstr "Distanta de lipire la grid pe axa X" -#: flatcamGUI/FlatCAMGUI.py:860 flatcamGUI/FlatCAMGUI.py:2270 +#: flatcamGUI/FlatCAMGUI.py:854 flatcamGUI/FlatCAMGUI.py:2273 msgid "Grid Y snapping distance" msgstr "Distanta de lipire la grid pe axa Y" -#: flatcamGUI/FlatCAMGUI.py:866 flatcamGUI/FlatCAMGUI.py:2276 +#: flatcamGUI/FlatCAMGUI.py:860 flatcamGUI/FlatCAMGUI.py:2279 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." @@ -5467,73 +6110,68 @@ msgstr "" "Când este activ, valoarea de pe Grid_X\n" "este copiata și in Grid_Y." -#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2282 +#: flatcamGUI/FlatCAMGUI.py:866 flatcamGUI/FlatCAMGUI.py:2285 msgid "Snap to corner" msgstr "Lipire la colt" -#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:2286 -#: flatcamGUI/PreferencesUI.py:320 +#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2289 +#: flatcamGUI/PreferencesUI.py:331 msgid "Max. magnet distance" msgstr "Distanta magnetica maxima" -#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:1854 +#: flatcamGUI/FlatCAMGUI.py:892 flatcamGUI/FlatCAMGUI.py:1864 msgid "Project" msgstr "Proiect" -#: flatcamGUI/FlatCAMGUI.py:910 +#: flatcamGUI/FlatCAMGUI.py:904 msgid "Selected" msgstr "Selectat" -#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:945 +#: flatcamGUI/FlatCAMGUI.py:931 flatcamGUI/FlatCAMGUI.py:939 msgid "Plot Area" msgstr "Arie Afișare" -#: flatcamGUI/FlatCAMGUI.py:971 +#: flatcamGUI/FlatCAMGUI.py:966 msgid "General" msgstr "General" -#: flatcamGUI/FlatCAMGUI.py:980 -msgid "APP. DEFAULTS" -msgstr "Default for App" - -#: flatcamGUI/FlatCAMGUI.py:981 -msgid "PROJ. OPTIONS " -msgstr "Opțiuni Proiect " - -#: flatcamGUI/FlatCAMGUI.py:993 flatcamTools/ToolDblSided.py:55 -#: flatcamTools/ToolOptimal.py:71 +#: flatcamGUI/FlatCAMGUI.py:981 flatcamTools/ToolCopperThieving.py:72 +#: flatcamTools/ToolDblSided.py:55 flatcamTools/ToolOptimal.py:71 +#: flatcamTools/ToolQRCode.py:77 msgid "GERBER" msgstr "GERBER" -#: flatcamGUI/FlatCAMGUI.py:1003 flatcamTools/ToolDblSided.py:79 +#: flatcamGUI/FlatCAMGUI.py:991 flatcamTools/ToolCalibrateExcellon.py:66 +#: flatcamTools/ToolCalibrateExcellon.py:402 flatcamTools/ToolDblSided.py:79 msgid "EXCELLON" msgstr "EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:1013 flatcamTools/ToolDblSided.py:103 +#: flatcamGUI/FlatCAMGUI.py:1001 flatcamTools/ToolCalibrateExcellon.py:415 +#: flatcamTools/ToolDblSided.py:103 msgid "GEOMETRY" msgstr "GEOMETRIE" -#: flatcamGUI/FlatCAMGUI.py:1023 +#: flatcamGUI/FlatCAMGUI.py:1011 msgid "CNC-JOB" msgstr "CNCJob" -#: flatcamGUI/FlatCAMGUI.py:1032 flatcamGUI/ObjectUI.py:524 +#: flatcamGUI/FlatCAMGUI.py:1020 flatcamGUI/ObjectUI.py:530 msgid "TOOLS" msgstr "Unelte" -#: flatcamGUI/FlatCAMGUI.py:1041 +#: flatcamGUI/FlatCAMGUI.py:1029 msgid "TOOLS 2" msgstr "UNELTE 2" -#: flatcamGUI/FlatCAMGUI.py:1051 +#: flatcamGUI/FlatCAMGUI.py:1039 msgid "UTILITIES" msgstr "UTILITARE" -#: flatcamGUI/FlatCAMGUI.py:1068 +#: flatcamGUI/FlatCAMGUI.py:1056 msgid "Import Preferences" msgstr "Importa Preferințele" -#: flatcamGUI/FlatCAMGUI.py:1071 +#: flatcamGUI/FlatCAMGUI.py:1059 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -5547,11 +6185,11 @@ msgstr "" "FlatCAM salvează automat un fişier numit 'factory_defaults'\n" "la prima pornire. Nu șterge acel fişier." -#: flatcamGUI/FlatCAMGUI.py:1078 +#: flatcamGUI/FlatCAMGUI.py:1066 msgid "Export Preferences" msgstr "Exporta Preferințele" -#: flatcamGUI/FlatCAMGUI.py:1081 +#: flatcamGUI/FlatCAMGUI.py:1069 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." @@ -5559,15 +6197,15 @@ msgstr "" "Exporta un set complet de setări ale FlatCAM\n" "intr-un fişier care se salvează pe HDD." -#: flatcamGUI/FlatCAMGUI.py:1086 +#: flatcamGUI/FlatCAMGUI.py:1074 msgid "Open Pref Folder" msgstr "Deschide Pref Dir" -#: flatcamGUI/FlatCAMGUI.py:1089 +#: flatcamGUI/FlatCAMGUI.py:1077 msgid "Open the folder where FlatCAM save the preferences files." msgstr "Deschide directorul unde FlatCAM salvează fişierele cu setări." -#: flatcamGUI/FlatCAMGUI.py:1100 +#: flatcamGUI/FlatCAMGUI.py:1088 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." @@ -5575,527 +6213,529 @@ 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:1425 +#: flatcamGUI/FlatCAMGUI.py:1421 msgid "SHOW SHORTCUT LIST" msgstr "ARATA LISTA DE TASTE SHORTCUT" -#: flatcamGUI/FlatCAMGUI.py:1425 +#: flatcamGUI/FlatCAMGUI.py:1421 msgid "Switch to Project Tab" msgstr "Treci la Tab-ul Proiect" -#: flatcamGUI/FlatCAMGUI.py:1425 +#: flatcamGUI/FlatCAMGUI.py:1421 msgid "Switch to Selected Tab" msgstr "Treci la Tab-ul Selectat" -#: flatcamGUI/FlatCAMGUI.py:1426 +#: flatcamGUI/FlatCAMGUI.py:1422 msgid "Switch to Tool Tab" msgstr "Treci la Tab-ul 'Unealta'" -#: flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:1423 msgid "New Gerber" msgstr "Gerber Nou" -#: flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:1423 msgid "Edit Object (if selected)" msgstr "Editeaza obiectul (daca este selectat)" -#: flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:1423 msgid "Jump to Coordinates" msgstr "Sari la Coordonatele" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "New Excellon" msgstr "Excellon nou" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "Move Obj" msgstr "Mută Obiecte" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "New Geometry" msgstr "Geometrie Noua" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "Change Units" msgstr "Comută Unitati" -#: flatcamGUI/FlatCAMGUI.py:1429 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "Open Properties Tool" msgstr "Deschide Unealta Proprietati" -#: flatcamGUI/FlatCAMGUI.py:1429 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "Rotate by 90 degree CW" msgstr "Roteste cu 90 grade CW" -#: flatcamGUI/FlatCAMGUI.py:1429 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "Shell Toggle" msgstr "Comuta Linie de comanda" -#: flatcamGUI/FlatCAMGUI.py:1430 +#: flatcamGUI/FlatCAMGUI.py:1426 msgid "" "Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)" msgstr "" "Adaugă o Unealtă (cand ne aflam in tab-ul Selected al Geometriei sau in " "Unealta NCC sau in unealta Paint)" -#: flatcamGUI/FlatCAMGUI.py:1431 +#: flatcamGUI/FlatCAMGUI.py:1427 msgid "Flip on X_axis" msgstr "Oglindește pe axa X" -#: flatcamGUI/FlatCAMGUI.py:1431 +#: flatcamGUI/FlatCAMGUI.py:1427 msgid "Flip on Y_axis" msgstr "Oglindește pe axa Y" -#: flatcamGUI/FlatCAMGUI.py:1431 +#: flatcamGUI/FlatCAMGUI.py:1430 msgid "Copy Obj" msgstr "Copiază Obiecte" -#: flatcamGUI/FlatCAMGUI.py:1432 +#: flatcamGUI/FlatCAMGUI.py:1430 +#, fuzzy +#| msgid "Tool Data" +msgid "Open Tools Database" +msgstr "Date unealtă" + +#: flatcamGUI/FlatCAMGUI.py:1431 msgid "Open Excellon File" msgstr "Încarcă un fisier Excellon" -#: flatcamGUI/FlatCAMGUI.py:1432 +#: flatcamGUI/FlatCAMGUI.py:1431 msgid "Open Gerber File" msgstr "Încarcă un fisier Gerber" -#: flatcamGUI/FlatCAMGUI.py:1432 +#: flatcamGUI/FlatCAMGUI.py:1431 msgid "New Project" msgstr "Un Nou Project" -#: flatcamGUI/FlatCAMGUI.py:1433 -msgid "Save Project As" -msgstr "Salvează Proiectul ca" - -#: flatcamGUI/FlatCAMGUI.py:1433 -msgid "Toggle Plot Area" -msgstr "Comută Aria de Afișare" - -#: flatcamGUI/FlatCAMGUI.py:1433 -msgid "Copy Obj_Name" -msgstr "Copiază Nume Obiect" - -#: flatcamGUI/FlatCAMGUI.py:1434 -msgid "Toggle Code Editor" -msgstr "Comută Editorul de cod" - -#: flatcamGUI/FlatCAMGUI.py:1434 -msgid "Toggle the axis" -msgstr "Comută Reprezentare Axe" - -#: flatcamGUI/FlatCAMGUI.py:1434 flatcamGUI/FlatCAMGUI.py:1618 -#: flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:1827 -msgid "Distance Minimum Tool" -msgstr "Unealta Distanță minimă" - -#: flatcamGUI/FlatCAMGUI.py:1434 -msgid "Open Preferences Window" -msgstr "Deschide Preferințe" - -#: flatcamGUI/FlatCAMGUI.py:1435 -msgid "Rotate by 90 degree CCW" -msgstr "Roteste cu 90 grade CCW" - -#: flatcamGUI/FlatCAMGUI.py:1435 -msgid "Run a Script" -msgstr "Rulează TCL script" - -#: flatcamGUI/FlatCAMGUI.py:1435 -msgid "Toggle the workspace" -msgstr "Comută Suprafata de lucru" - -#: flatcamGUI/FlatCAMGUI.py:1435 -msgid "Skew on X axis" -msgstr "Deformare pe axa X" - -#: flatcamGUI/FlatCAMGUI.py:1436 -msgid "Skew on Y axis" -msgstr "Deformare pe axa Y" - -#: flatcamGUI/FlatCAMGUI.py:1436 -msgid "2-Sided PCB Tool" -msgstr "Unealta 2-fețe" - -#: flatcamGUI/FlatCAMGUI.py:1436 -msgid "Transformations Tool" -msgstr "Unealta Transformări" - -#: flatcamGUI/FlatCAMGUI.py:1437 -msgid "Solder Paste Dispensing Tool" -msgstr "Unealta DispensorPF" - -#: flatcamGUI/FlatCAMGUI.py:1438 -msgid "Film PCB Tool" -msgstr "Unealta Film" - -#: flatcamGUI/FlatCAMGUI.py:1438 -msgid "Non-Copper Clearing Tool" -msgstr "Curățăre Non-Cupru" - -#: flatcamGUI/FlatCAMGUI.py:1439 -msgid "Paint Area Tool" -msgstr "Unealta Paint" - -#: flatcamGUI/FlatCAMGUI.py:1439 flatcamTools/ToolPDF.py:42 +#: flatcamGUI/FlatCAMGUI.py:1432 flatcamTools/ToolPDF.py:42 msgid "PDF Import Tool" msgstr "Unealta import PDF" -#: flatcamGUI/FlatCAMGUI.py:1439 +#: flatcamGUI/FlatCAMGUI.py:1432 +msgid "Save Project As" +msgstr "Salvează Proiectul ca" + +#: flatcamGUI/FlatCAMGUI.py:1432 +msgid "Toggle Plot Area" +msgstr "Comută Aria de Afișare" + +#: flatcamGUI/FlatCAMGUI.py:1435 +msgid "Copy Obj_Name" +msgstr "Copiază Nume Obiect" + +#: flatcamGUI/FlatCAMGUI.py:1436 +msgid "Toggle Code Editor" +msgstr "Comută Editorul de cod" + +#: flatcamGUI/FlatCAMGUI.py:1436 +msgid "Toggle the axis" +msgstr "Comută Reprezentare Axe" + +#: flatcamGUI/FlatCAMGUI.py:1436 flatcamGUI/FlatCAMGUI.py:1628 +#: flatcamGUI/FlatCAMGUI.py:1715 flatcamGUI/FlatCAMGUI.py:1837 +msgid "Distance Minimum Tool" +msgstr "Unealta Distanță minimă" + +#: flatcamGUI/FlatCAMGUI.py:1436 +msgid "Open Preferences Window" +msgstr "Deschide Preferințe" + +#: flatcamGUI/FlatCAMGUI.py:1437 +msgid "Rotate by 90 degree CCW" +msgstr "Roteste cu 90 grade CCW" + +#: flatcamGUI/FlatCAMGUI.py:1437 +msgid "Run a Script" +msgstr "Rulează TCL script" + +#: flatcamGUI/FlatCAMGUI.py:1437 +msgid "Toggle the workspace" +msgstr "Comută Suprafata de lucru" + +#: flatcamGUI/FlatCAMGUI.py:1437 +msgid "Skew on X axis" +msgstr "Deformare pe axa X" + +#: flatcamGUI/FlatCAMGUI.py:1438 +msgid "Skew on Y axis" +msgstr "Deformare pe axa Y" + +#: flatcamGUI/FlatCAMGUI.py:1440 +msgid "2-Sided PCB Tool" +msgstr "Unealta 2-fețe" + +#: flatcamGUI/FlatCAMGUI.py:1440 +msgid "Transformations Tool" +msgstr "Unealta Transformări" + +#: flatcamGUI/FlatCAMGUI.py:1441 +msgid "Solder Paste Dispensing Tool" +msgstr "Unealta DispensorPF" + +#: flatcamGUI/FlatCAMGUI.py:1442 +msgid "Film PCB Tool" +msgstr "Unealta Film" + +#: flatcamGUI/FlatCAMGUI.py:1442 +msgid "Non-Copper Clearing Tool" +msgstr "Curățăre Non-Cupru" + +#: flatcamGUI/FlatCAMGUI.py:1443 +msgid "Paint Area Tool" +msgstr "Unealta Paint" + +#: flatcamGUI/FlatCAMGUI.py:1443 msgid "Rules Check Tool" msgstr "Unealta Verificari Reguli" -#: flatcamGUI/FlatCAMGUI.py:1440 +#: flatcamGUI/FlatCAMGUI.py:1444 msgid "View File Source" msgstr "Vizualiz. Cod Sursă" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1445 msgid "Cutout PCB Tool" msgstr "Unealta Decupare" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1445 msgid "Enable all Plots" msgstr "Activează Afișare pt Tot" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1445 msgid "Disable all Plots" msgstr "Dezactivează Afișare pt Tot" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1445 msgid "Disable Non-selected Plots" msgstr "Dezactivează ne-selectate" -#: flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamGUI/FlatCAMGUI.py:1446 msgid "Toggle Full Screen" msgstr "Comută FullScreen" -#: flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamGUI/FlatCAMGUI.py:1449 msgid "Abort current task (gracefully)" msgstr "Renutna la task" -#: flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamGUI/FlatCAMGUI.py:1452 msgid "Open Online Manual" msgstr "Deschide Manualul Online" -#: flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:1453 msgid "Open Online Tutorials" msgstr "Deschide Tutoriale Online" -#: flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:1453 msgid "Refresh Plots" msgstr "Improspatare Afișare" -#: flatcamGUI/FlatCAMGUI.py:1443 flatcamTools/ToolSolderPaste.py:414 +#: flatcamGUI/FlatCAMGUI.py:1453 flatcamTools/ToolSolderPaste.py:466 msgid "Delete Object" msgstr "Șterge Obiectul" -#: flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:1453 msgid "Alternate: Delete Tool" msgstr "Alternativ: Șterge Unealta" -#: flatcamGUI/FlatCAMGUI.py:1444 +#: flatcamGUI/FlatCAMGUI.py:1454 msgid "(left to Key_1)Toogle Notebook Area (Left Side)" msgstr "(in stanga tasta 1) Comuta aria Notebook (partea stanga)" -#: flatcamGUI/FlatCAMGUI.py:1444 +#: flatcamGUI/FlatCAMGUI.py:1454 msgid "En(Dis)able Obj Plot" msgstr "(Dez)activează Afișare" -#: flatcamGUI/FlatCAMGUI.py:1445 +#: flatcamGUI/FlatCAMGUI.py:1455 msgid "Deselects all objects" msgstr "Deselectează toate obiectele" -#: flatcamGUI/FlatCAMGUI.py:1459 +#: flatcamGUI/FlatCAMGUI.py:1469 msgid "Editor Shortcut list" msgstr "Lista de shortcut-uri" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1623 msgid "GEOMETRY EDITOR" msgstr "EDITOR GEOMETRIE" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1623 msgid "Draw an Arc" msgstr "Deseneaza un Arc" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1623 msgid "Copy Geo Item" msgstr "Copiază Geo" -#: flatcamGUI/FlatCAMGUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Within Add Arc will toogle the ARC direction: CW or CCW" msgstr "In cadrul 'Aadauga Arc' va comuta intre directiile arcului: CW sau CCW" -#: flatcamGUI/FlatCAMGUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Polygon Intersection Tool" msgstr "Unealta Intersecţie Poligoane" -#: flatcamGUI/FlatCAMGUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Geo Paint Tool" msgstr "Unealta Paint Geo" -#: flatcamGUI/FlatCAMGUI.py:1615 flatcamGUI/FlatCAMGUI.py:1704 -#: flatcamGUI/FlatCAMGUI.py:1824 +#: flatcamGUI/FlatCAMGUI.py:1625 flatcamGUI/FlatCAMGUI.py:1714 +#: flatcamGUI/FlatCAMGUI.py:1834 msgid "Jump to Location (x, y)" msgstr "Sari la Locaţia (x, y)" -#: flatcamGUI/FlatCAMGUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Toggle Corner Snap" msgstr "Comută lipire colt" -#: flatcamGUI/FlatCAMGUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Move Geo Item" msgstr "Muta El. Geo" -#: flatcamGUI/FlatCAMGUI.py:1616 +#: flatcamGUI/FlatCAMGUI.py:1626 msgid "Within Add Arc will cycle through the ARC modes" msgstr "In cadrul 'Adauga Arc' va trece circular prin tipurile de Arc" -#: flatcamGUI/FlatCAMGUI.py:1616 +#: flatcamGUI/FlatCAMGUI.py:1626 msgid "Draw a Polygon" msgstr "Deseneaza un Poligon" -#: flatcamGUI/FlatCAMGUI.py:1616 +#: flatcamGUI/FlatCAMGUI.py:1626 msgid "Draw a Circle" msgstr "Deseneaza un Cerc" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Draw a Path" msgstr "Deseneaza un Traseu" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Draw Rectangle" msgstr "Deseneaza un Patrulater" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Polygon Subtraction Tool" msgstr "Unealta Substracţie Poligoane" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Add Text Tool" msgstr "Unealta Adaugare Text" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Polygon Union Tool" msgstr "Unealta Uniune Poligoane" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Flip shape on X axis" msgstr "Oglindește pe axa X" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Flip shape on Y axis" msgstr "Oglindește pe axa Y" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Skew shape on X axis" msgstr "Deformare pe axa X" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Skew shape on Y axis" msgstr "Deformare pe axa Y" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Editor Transformation Tool" msgstr "Unealta Transformare in Editor" -#: flatcamGUI/FlatCAMGUI.py:1620 +#: flatcamGUI/FlatCAMGUI.py:1630 msgid "Offset shape on X axis" msgstr "Ofset pe axa X" -#: flatcamGUI/FlatCAMGUI.py:1620 +#: flatcamGUI/FlatCAMGUI.py:1630 msgid "Offset shape on Y axis" msgstr "Ofset pe axa Y" -#: flatcamGUI/FlatCAMGUI.py:1621 flatcamGUI/FlatCAMGUI.py:1707 -#: flatcamGUI/FlatCAMGUI.py:1829 +#: flatcamGUI/FlatCAMGUI.py:1631 flatcamGUI/FlatCAMGUI.py:1717 +#: flatcamGUI/FlatCAMGUI.py:1839 msgid "Save Object and Exit Editor" msgstr "Salvează Obiectul și inchide Editorul" -#: flatcamGUI/FlatCAMGUI.py:1621 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Polygon Cut Tool" msgstr "Unealta Taiere Poligoane" -#: flatcamGUI/FlatCAMGUI.py:1622 +#: flatcamGUI/FlatCAMGUI.py:1632 msgid "Rotate Geometry" msgstr "Roteste Geometrie" -#: flatcamGUI/FlatCAMGUI.py:1622 +#: flatcamGUI/FlatCAMGUI.py:1632 msgid "Finish drawing for certain tools" msgstr "Termina de desenat (pt anumite unelte)" -#: flatcamGUI/FlatCAMGUI.py:1622 flatcamGUI/FlatCAMGUI.py:1707 -#: flatcamGUI/FlatCAMGUI.py:1827 +#: flatcamGUI/FlatCAMGUI.py:1632 flatcamGUI/FlatCAMGUI.py:1717 +#: flatcamGUI/FlatCAMGUI.py:1837 msgid "Abort and return to Select" msgstr "Renutna si intoarce-te la Selectie" -#: flatcamGUI/FlatCAMGUI.py:1623 flatcamGUI/FlatCAMGUI.py:2223 +#: flatcamGUI/FlatCAMGUI.py:1633 flatcamGUI/FlatCAMGUI.py:2226 msgid "Delete Shape" msgstr "Șterge forme geo" -#: flatcamGUI/FlatCAMGUI.py:1703 +#: flatcamGUI/FlatCAMGUI.py:1713 msgid "EXCELLON EDITOR" msgstr "EDITOR EXCELLON" -#: flatcamGUI/FlatCAMGUI.py:1703 +#: flatcamGUI/FlatCAMGUI.py:1713 msgid "Copy Drill(s)" msgstr "Copiaza Găurire" -#: flatcamGUI/FlatCAMGUI.py:1703 flatcamGUI/FlatCAMGUI.py:1912 +#: flatcamGUI/FlatCAMGUI.py:1713 flatcamGUI/FlatCAMGUI.py:1922 msgid "Add Drill" msgstr "Adaugă găurire" -#: flatcamGUI/FlatCAMGUI.py:1704 +#: flatcamGUI/FlatCAMGUI.py:1714 msgid "Move Drill(s)" msgstr "Muta Găuri" -#: flatcamGUI/FlatCAMGUI.py:1705 +#: flatcamGUI/FlatCAMGUI.py:1715 msgid "Add a new Tool" msgstr "Adaugă Unealta Noua" -#: flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:1716 msgid "Delete Drill(s)" msgstr "Șterge Găuri" -#: flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:1716 msgid "Alternate: Delete Tool(s)" msgstr "Alternativ: Șterge Unealta" -#: flatcamGUI/FlatCAMGUI.py:1823 +#: flatcamGUI/FlatCAMGUI.py:1833 msgid "GERBER EDITOR" msgstr "EDITOR GERBER" -#: flatcamGUI/FlatCAMGUI.py:1823 +#: flatcamGUI/FlatCAMGUI.py:1833 msgid "Add Disc" msgstr "Adaugă Disc" -#: flatcamGUI/FlatCAMGUI.py:1823 +#: flatcamGUI/FlatCAMGUI.py:1833 msgid "Add SemiDisc" msgstr "Adaugă SemiDisc" -#: flatcamGUI/FlatCAMGUI.py:1825 +#: flatcamGUI/FlatCAMGUI.py:1835 msgid "Within Track & Region Tools will cycle in REVERSE the bend modes" msgstr "" "In cadrul uneltelor Traseu si Regiune va trece circular in Revers prin " "modurile de indoire" -#: flatcamGUI/FlatCAMGUI.py:1826 +#: flatcamGUI/FlatCAMGUI.py:1836 msgid "Within Track & Region Tools will cycle FORWARD the bend modes" msgstr "" "In cadrul uneltelor Traseu si Regiune va trece circular in Avans prin " "modurile de indoire" -#: flatcamGUI/FlatCAMGUI.py:1827 +#: flatcamGUI/FlatCAMGUI.py:1837 msgid "Alternate: Delete Apertures" msgstr "Alternativ: Șterge Apertură" -#: flatcamGUI/FlatCAMGUI.py:1828 +#: flatcamGUI/FlatCAMGUI.py:1838 msgid "Eraser Tool" msgstr "Unealta Stergere" -#: flatcamGUI/FlatCAMGUI.py:1829 flatcamGUI/PreferencesUI.py:1851 +#: flatcamGUI/FlatCAMGUI.py:1839 flatcamGUI/PreferencesUI.py:1875 msgid "Mark Area Tool" msgstr "Unealta de Marc. Arie" -#: flatcamGUI/FlatCAMGUI.py:1829 +#: flatcamGUI/FlatCAMGUI.py:1839 msgid "Poligonize Tool" msgstr "Unealta Poligonizare" -#: flatcamGUI/FlatCAMGUI.py:1829 +#: flatcamGUI/FlatCAMGUI.py:1839 msgid "Transformation Tool" msgstr "Unealta Transformare" -#: flatcamGUI/FlatCAMGUI.py:1845 +#: flatcamGUI/FlatCAMGUI.py:1855 msgid "Toggle Visibility" msgstr "Comută Vizibilitate" -#: flatcamGUI/FlatCAMGUI.py:1849 +#: flatcamGUI/FlatCAMGUI.py:1859 msgid "New" msgstr "Nou" -#: flatcamGUI/FlatCAMGUI.py:1850 +#: flatcamGUI/FlatCAMGUI.py:1860 msgid "Geometry" msgstr "Geometrie" -#: flatcamGUI/FlatCAMGUI.py:1852 flatcamTools/ToolFilm.py:329 +#: flatcamGUI/FlatCAMGUI.py:1862 flatcamTools/ToolFilm.py:329 msgid "Excellon" msgstr "Excellon" -#: flatcamGUI/FlatCAMGUI.py:1857 +#: flatcamGUI/FlatCAMGUI.py:1867 msgid "Grids" msgstr "Grid-uri" -#: flatcamGUI/FlatCAMGUI.py:1859 -msgid "View" -msgstr "Vizualizare" - -#: flatcamGUI/FlatCAMGUI.py:1861 +#: flatcamGUI/FlatCAMGUI.py:1871 msgid "Clear Plot" msgstr "Șterge Afișare" -#: flatcamGUI/FlatCAMGUI.py:1862 +#: flatcamGUI/FlatCAMGUI.py:1872 msgid "Replot" msgstr "Reafișare" -#: flatcamGUI/FlatCAMGUI.py:1865 +#: flatcamGUI/FlatCAMGUI.py:1875 msgid "Geo Editor" msgstr "Editor Geometrii" -#: flatcamGUI/FlatCAMGUI.py:1866 +#: flatcamGUI/FlatCAMGUI.py:1876 msgid "Path" msgstr "Pe cale" -#: flatcamGUI/FlatCAMGUI.py:1867 +#: flatcamGUI/FlatCAMGUI.py:1877 msgid "Rectangle" msgstr "Patrulater" -#: flatcamGUI/FlatCAMGUI.py:1869 +#: flatcamGUI/FlatCAMGUI.py:1879 msgid "Circle" msgstr "Cerc" -#: flatcamGUI/FlatCAMGUI.py:1870 +#: flatcamGUI/FlatCAMGUI.py:1880 msgid "Polygon" msgstr "Poligon" -#: flatcamGUI/FlatCAMGUI.py:1871 +#: flatcamGUI/FlatCAMGUI.py:1881 msgid "Arc" msgstr "Arc" -#: flatcamGUI/FlatCAMGUI.py:1880 +#: flatcamGUI/FlatCAMGUI.py:1890 msgid "Union" msgstr "Uniune" -#: flatcamGUI/FlatCAMGUI.py:1881 +#: flatcamGUI/FlatCAMGUI.py:1891 msgid "Intersection" msgstr "Intersecţie" -#: flatcamGUI/FlatCAMGUI.py:1882 +#: flatcamGUI/FlatCAMGUI.py:1892 msgid "Subtraction" msgstr "Scădere" -#: flatcamGUI/FlatCAMGUI.py:1883 flatcamGUI/ObjectUI.py:1604 -#: flatcamGUI/PreferencesUI.py:3392 +#: flatcamGUI/FlatCAMGUI.py:1893 flatcamGUI/ObjectUI.py:1633 +#: flatcamGUI/PreferencesUI.py:3453 msgid "Cut" msgstr "Tăiere" -#: flatcamGUI/FlatCAMGUI.py:1890 +#: flatcamGUI/FlatCAMGUI.py:1900 msgid "Pad" msgstr "Pad" -#: flatcamGUI/FlatCAMGUI.py:1891 +#: flatcamGUI/FlatCAMGUI.py:1901 msgid "Pad Array" msgstr "Arie de paduri" -#: flatcamGUI/FlatCAMGUI.py:1894 +#: flatcamGUI/FlatCAMGUI.py:1904 msgid "Track" msgstr "Traseu" -#: flatcamGUI/FlatCAMGUI.py:1895 +#: flatcamGUI/FlatCAMGUI.py:1905 msgid "Region" msgstr "Regiune" -#: flatcamGUI/FlatCAMGUI.py:1911 +#: flatcamGUI/FlatCAMGUI.py:1921 msgid "Exc Editor" msgstr "Editor EXC" -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:1951 msgid "" "Relative neasurement.\n" "Reference is last click position" @@ -6103,7 +6743,7 @@ msgstr "" "Măsurătoare relativă.\n" "Referința este poziţia ultimului click pe canvas" -#: flatcamGUI/FlatCAMGUI.py:1947 +#: flatcamGUI/FlatCAMGUI.py:1957 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" @@ -6111,27 +6751,27 @@ msgstr "" "Măsurătoare absolută.\n" "Referința este originea (0, 0)" -#: flatcamGUI/FlatCAMGUI.py:2064 +#: flatcamGUI/FlatCAMGUI.py:2065 msgid "Lock Toolbars" msgstr "Blochează Toolbar-uri" -#: flatcamGUI/FlatCAMGUI.py:2158 +#: flatcamGUI/FlatCAMGUI.py:2159 msgid "&Cutout Tool" msgstr "Unealta Decupare" -#: flatcamGUI/FlatCAMGUI.py:2194 +#: flatcamGUI/FlatCAMGUI.py:2197 msgid "Select 'Esc'" msgstr "Select" -#: flatcamGUI/FlatCAMGUI.py:2221 +#: flatcamGUI/FlatCAMGUI.py:2224 msgid "Copy Objects" msgstr "Copiază Obiecte" -#: flatcamGUI/FlatCAMGUI.py:2228 +#: flatcamGUI/FlatCAMGUI.py:2231 msgid "Move Objects" msgstr "Mută Obiecte" -#: flatcamGUI/FlatCAMGUI.py:2710 +#: flatcamGUI/FlatCAMGUI.py:2750 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -6142,12 +6782,12 @@ msgstr "" "apoi selectează forma geo. tăietoare. La final apasă tasta ~X~ sau\n" "butonul corespunzator din Toolbar." -#: flatcamGUI/FlatCAMGUI.py:2717 flatcamGUI/FlatCAMGUI.py:2860 -#: flatcamGUI/FlatCAMGUI.py:2919 flatcamGUI/FlatCAMGUI.py:2939 +#: flatcamGUI/FlatCAMGUI.py:2757 flatcamGUI/FlatCAMGUI.py:2901 +#: flatcamGUI/FlatCAMGUI.py:2960 flatcamGUI/FlatCAMGUI.py:2980 msgid "Warning" msgstr "Atenţie" -#: flatcamGUI/FlatCAMGUI.py:2855 +#: flatcamGUI/FlatCAMGUI.py:2896 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." @@ -6155,7 +6795,7 @@ msgstr "" "Selectează forma geometrică asupra căreia să se\n" "aplice Unealta Intersecţie." -#: flatcamGUI/FlatCAMGUI.py:2914 +#: flatcamGUI/FlatCAMGUI.py:2955 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." @@ -6163,7 +6803,7 @@ msgstr "" "Selectează forma geometrică asupra căreia să se\n" "aplice Unealta Substracţie." -#: flatcamGUI/FlatCAMGUI.py:2934 +#: flatcamGUI/FlatCAMGUI.py:2975 msgid "" "Please select geometry items \n" "on which to perform union." @@ -6171,146 +6811,64 @@ msgstr "" "Selectează forma geometrică asupra căreia să se\n" "aplice Unealta Uniune." -#: flatcamGUI/FlatCAMGUI.py:3018 flatcamGUI/FlatCAMGUI.py:3236 +#: flatcamGUI/FlatCAMGUI.py:3059 flatcamGUI/FlatCAMGUI.py:3277 msgid "Cancelled. Nothing selected to delete." msgstr "Anulat. Nimic nu este selectat pentru ștergere." -#: flatcamGUI/FlatCAMGUI.py:3103 flatcamGUI/FlatCAMGUI.py:3304 +#: flatcamGUI/FlatCAMGUI.py:3144 flatcamGUI/FlatCAMGUI.py:3345 msgid "Cancelled. Nothing selected to copy." msgstr "Anulat. Nimic nu este selectat pentru copiere." -#: flatcamGUI/FlatCAMGUI.py:3150 flatcamGUI/FlatCAMGUI.py:3351 +#: flatcamGUI/FlatCAMGUI.py:3191 flatcamGUI/FlatCAMGUI.py:3392 msgid "Cancelled. Nothing selected to move." msgstr "Anulat. Nimic nu este selectat pentru mutare." -#: flatcamGUI/FlatCAMGUI.py:3377 +#: flatcamGUI/FlatCAMGUI.py:3418 msgid "New Tool ..." msgstr "O noua Unealtă ..." -#: flatcamGUI/FlatCAMGUI.py:3378 flatcamTools/ToolNonCopperClear.py:556 -#: flatcamTools/ToolPaint.py:470 flatcamTools/ToolSolderPaste.py:464 +#: flatcamGUI/FlatCAMGUI.py:3419 flatcamTools/ToolNonCopperClear.py:568 +#: flatcamTools/ToolPaint.py:470 flatcamTools/ToolSolderPaste.py:516 msgid "Enter a Tool Diameter" msgstr "Introduceti un Diametru de Unealtă" -#: flatcamGUI/FlatCAMGUI.py:3394 +#: flatcamGUI/FlatCAMGUI.py:3435 msgid "Adding Tool cancelled ..." msgstr "Adăugarea unei unelte anulată..." -#: flatcamGUI/FlatCAMGUI.py:3437 +#: flatcamGUI/FlatCAMGUI.py:3478 msgid "Distance Tool exit..." msgstr "Măsurătoarea s-a terminat ..." -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3632 msgid "Application is saving the project. Please wait ..." msgstr "Aplicația salvează proiectul. Vă rugăm aşteptați ..." -#: flatcamGUI/FlatCAMGUI.py:3581 flatcamGUI/FlatCAMGUI.py:3588 +#: flatcamGUI/FlatCAMGUI.py:3688 flatcamGUI/FlatCAMGUI.py:3695 msgid "Idle." msgstr "Inactiv." -#: flatcamGUI/FlatCAMGUI.py:3617 +#: flatcamGUI/FlatCAMGUI.py:3724 msgid "Application started ..." msgstr "Aplicaţia a pornit ..." -#: flatcamGUI/FlatCAMGUI.py:3618 +#: flatcamGUI/FlatCAMGUI.py:3725 msgid "Hello!" msgstr "Bună!" -#: flatcamGUI/FlatCAMGUI.py:3674 +#: flatcamGUI/FlatCAMGUI.py:3781 msgid "Open Project ..." msgstr "Încarcă Project ..." -#: flatcamGUI/FlatCAMGUI.py:3699 +#: flatcamGUI/FlatCAMGUI.py:3806 msgid "Exit" msgstr "Iesiere" -#: flatcamGUI/FlatCAMGUI.py:3748 flatcamGUI/FlatCAMGUI.py:3775 -msgid "Title" -msgstr "Titlu" - -#: flatcamGUI/FlatCAMGUI.py:3749 flatcamGUI/FlatCAMGUI.py:3779 -msgid "Web Link" -msgstr "Website" - -#: flatcamGUI/FlatCAMGUI.py:3753 -msgid "" -"Index.\n" -"The rows in gray color will populate the Bookmarks menu.\n" -"The number of gray colored rows is set in Preferences." -msgstr "" -"Index.\n" -"Rândurile în culoare gri vor fi adăugate in meniul de Bookmarks.\n" -"Numărul de rânduri colorate gri este setat în Preferințe." - -#: flatcamGUI/FlatCAMGUI.py:3757 -msgid "" -"Description of the link that is set as an menu action.\n" -"Try to keep it short because it is installed as a menu item." -msgstr "" -"Descrierea Website care este setată ca acțiune de meniu.\n" -"Încercați să o mențineți scurtă, deoarece este instalată ca element de meniu." - -#: flatcamGUI/FlatCAMGUI.py:3760 -msgid "Web Link. E.g: https://your_website.org " -msgstr "Website. De ex: https://your_website.org " - -#: flatcamGUI/FlatCAMGUI.py:3769 -msgid "New Bookmark" -msgstr "Bookmark Nou" - -#: flatcamGUI/FlatCAMGUI.py:3788 -msgid "Add Entry" -msgstr "Adaugă Intrare" - -#: flatcamGUI/FlatCAMGUI.py:3789 -msgid "Remove Entry" -msgstr "Elimina Intrare" - -#: flatcamGUI/FlatCAMGUI.py:3790 -msgid "Export List" -msgstr "Exportă lista" - -#: flatcamGUI/FlatCAMGUI.py:3791 -msgid "Import List" -msgstr "Importă lista" - -#: flatcamGUI/FlatCAMGUI.py:3926 -msgid "This bookmark can not be removed" -msgstr "Acest bookmark nu poate fi eliminat" - -#: flatcamGUI/FlatCAMGUI.py:3982 -msgid "FlatCAM bookmarks export cancelled." -msgstr "Exportul de bookmark-uri FlatCAM este anulat." - -#: flatcamGUI/FlatCAMGUI.py:4002 flatcamGUI/FlatCAMGUI.py:4037 -msgid "Could not load bookmarks file." -msgstr "Nu am putut incărca fişierul cu bookmark-uri." - -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Failed to write bookmarks to file." -msgstr "Salvarea bookmark-urilor intr-un fişier a eșuat." - -#: flatcamGUI/FlatCAMGUI.py:4016 -msgid "Exported bookmarks to" -msgstr "Exportă Bookmark-uri in" - -#: flatcamGUI/FlatCAMGUI.py:4022 -msgid "Import FlatCAM Bookmarks" -msgstr "Importă Bookmark-uri FlatCAM" - -#: flatcamGUI/FlatCAMGUI.py:4029 -msgid "FlatCAM bookmarks import cancelled." -msgstr "Importul de Bookmark-uri FlatCAM a eșuat." - -#: flatcamGUI/FlatCAMGUI.py:4045 -msgid "Imported Bookmarks from" -msgstr "Bookmark-uri au fost importate din" - -#: flatcamGUI/ObjectUI.py:32 +#: flatcamGUI/ObjectUI.py:38 msgid "FlatCAM Object" msgstr "Obiect FlatCAM" -#: flatcamGUI/ObjectUI.py:59 +#: flatcamGUI/ObjectUI.py:65 msgid "" "BASIC is suitable for a beginner. Many parameters\n" "are hidden from the user in this mode.\n" @@ -6328,15 +6886,15 @@ msgstr "" "Edit -> Preferințe -> General și bifează:\n" "butonul radio: >Nivel App<." -#: flatcamGUI/ObjectUI.py:87 +#: flatcamGUI/ObjectUI.py:93 msgid "Change the size of the object." msgstr "Schimbă dimensiunea obiectului." -#: flatcamGUI/ObjectUI.py:93 +#: flatcamGUI/ObjectUI.py:99 msgid "Factor" msgstr "Factor" -#: flatcamGUI/ObjectUI.py:95 +#: flatcamGUI/ObjectUI.py:101 msgid "" "Factor by which to multiply\n" "geometric features of this object." @@ -6345,19 +6903,19 @@ msgstr "" "caracteristicile geometrice ale\n" "acestui obiect." -#: flatcamGUI/ObjectUI.py:108 +#: flatcamGUI/ObjectUI.py:114 msgid "Perform scaling operation." msgstr "Efectuează operatia de scalare." -#: flatcamGUI/ObjectUI.py:119 +#: flatcamGUI/ObjectUI.py:125 msgid "Change the position of this object." msgstr "Schimbă poziţia acestui obiect." -#: flatcamGUI/ObjectUI.py:124 +#: flatcamGUI/ObjectUI.py:130 msgid "Vector" msgstr "Vector" -#: flatcamGUI/ObjectUI.py:126 +#: flatcamGUI/ObjectUI.py:132 msgid "" "Amount by which to move the object\n" "in the x and y axes in (x, y) format." @@ -6365,60 +6923,60 @@ msgstr "" "Valoare cu cat să se deplaseze obiectul\n" "pe axele X și /sau Y in formatul (x,y)." -#: flatcamGUI/ObjectUI.py:134 +#: flatcamGUI/ObjectUI.py:140 msgid "Perform the offset operation." msgstr "Efectuează operația de Ofset." -#: flatcamGUI/ObjectUI.py:151 +#: flatcamGUI/ObjectUI.py:157 msgid "Gerber Object" msgstr "Obiect Gerber" -#: flatcamGUI/ObjectUI.py:161 flatcamGUI/ObjectUI.py:655 -#: flatcamGUI/ObjectUI.py:1039 flatcamGUI/ObjectUI.py:1588 -#: flatcamGUI/PreferencesUI.py:1190 flatcamGUI/PreferencesUI.py:1890 -#: flatcamGUI/PreferencesUI.py:2901 flatcamGUI/PreferencesUI.py:3366 +#: flatcamGUI/ObjectUI.py:167 flatcamGUI/ObjectUI.py:661 +#: flatcamGUI/ObjectUI.py:1059 flatcamGUI/ObjectUI.py:1617 +#: flatcamGUI/PreferencesUI.py:1214 flatcamGUI/PreferencesUI.py:1914 +#: flatcamGUI/PreferencesUI.py:2942 flatcamGUI/PreferencesUI.py:3427 msgid "Plot Options" msgstr "Opțiuni afișare" -#: flatcamGUI/ObjectUI.py:167 flatcamGUI/ObjectUI.py:656 -#: flatcamGUI/PreferencesUI.py:1197 flatcamGUI/PreferencesUI.py:1902 +#: flatcamGUI/ObjectUI.py:173 flatcamGUI/ObjectUI.py:662 +#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1926 msgid "Solid" msgstr "Solid" -#: flatcamGUI/ObjectUI.py:169 flatcamGUI/PreferencesUI.py:1199 +#: flatcamGUI/ObjectUI.py:175 flatcamGUI/PreferencesUI.py:1223 msgid "Solid color polygons." msgstr "Poligoane color solide." -#: flatcamGUI/ObjectUI.py:175 flatcamGUI/PreferencesUI.py:1204 +#: flatcamGUI/ObjectUI.py:181 flatcamGUI/PreferencesUI.py:1228 msgid "M-Color" msgstr "M-Color" -#: flatcamGUI/ObjectUI.py:177 flatcamGUI/PreferencesUI.py:1206 +#: flatcamGUI/ObjectUI.py:183 flatcamGUI/PreferencesUI.py:1230 msgid "Draw polygons in different colors." msgstr "" "Desenează poligoanele Gerber din multiple culori\n" "alese in mod aleator." -#: flatcamGUI/ObjectUI.py:183 flatcamGUI/ObjectUI.py:694 -#: flatcamGUI/PreferencesUI.py:1211 flatcamGUI/PreferencesUI.py:1896 -#: flatcamGUI/PreferencesUI.py:2905 +#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:700 +#: flatcamGUI/PreferencesUI.py:1235 flatcamGUI/PreferencesUI.py:1920 +#: flatcamGUI/PreferencesUI.py:2946 msgid "Plot" msgstr "Afisează" -#: flatcamGUI/ObjectUI.py:185 flatcamGUI/ObjectUI.py:696 -#: flatcamGUI/ObjectUI.py:1085 flatcamGUI/ObjectUI.py:1698 -#: flatcamGUI/PreferencesUI.py:1213 flatcamGUI/PreferencesUI.py:2907 -#: flatcamGUI/PreferencesUI.py:3377 +#: flatcamGUI/ObjectUI.py:191 flatcamGUI/ObjectUI.py:702 +#: flatcamGUI/ObjectUI.py:1105 flatcamGUI/ObjectUI.py:1727 +#: flatcamGUI/PreferencesUI.py:1237 flatcamGUI/PreferencesUI.py:2948 +#: flatcamGUI/PreferencesUI.py:3438 msgid "Plot (show) this object." msgstr "Afisează (arata) acest obiect." -#: flatcamGUI/ObjectUI.py:193 flatcamGUI/ObjectUI.py:667 -#: flatcamGUI/ObjectUI.py:1045 flatcamGUI/ObjectUI.py:1618 -#: flatcamGUI/ObjectUI.py:1879 flatcamGUI/ObjectUI.py:1931 +#: flatcamGUI/ObjectUI.py:199 flatcamGUI/ObjectUI.py:673 +#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1647 +#: flatcamGUI/ObjectUI.py:1928 flatcamGUI/ObjectUI.py:1980 msgid "Name" msgstr "Nume" -#: flatcamGUI/ObjectUI.py:214 +#: flatcamGUI/ObjectUI.py:220 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "When unchecked, it will delete all mark shapes\n" @@ -6428,11 +6986,11 @@ msgstr "" "Când se debifează, toate marcajele aperturilor\n" "care sutn curent afisate, vor fi șterse." -#: flatcamGUI/ObjectUI.py:224 +#: flatcamGUI/ObjectUI.py:230 msgid "Mark All" msgstr "Marc. Toate" -#: flatcamGUI/ObjectUI.py:226 +#: flatcamGUI/ObjectUI.py:232 msgid "" "When checked it will display all the apertures.\n" "When unchecked, it will delete all mark shapes\n" @@ -6441,15 +6999,15 @@ msgstr "" "Când este bifat se vor afisa toate aperturile.\n" "Când este debifat se vor șterge toate marcajele de aperturi." -#: flatcamGUI/ObjectUI.py:254 +#: flatcamGUI/ObjectUI.py:260 msgid "Mark the aperture instances on canvas." msgstr "Marchează aperturile pe canvas." -#: flatcamGUI/ObjectUI.py:263 flatcamGUI/PreferencesUI.py:1290 +#: flatcamGUI/ObjectUI.py:269 flatcamGUI/PreferencesUI.py:1314 msgid "Isolation Routing" msgstr "Izolare" -#: flatcamGUI/ObjectUI.py:265 flatcamGUI/PreferencesUI.py:1292 +#: flatcamGUI/ObjectUI.py:271 flatcamGUI/PreferencesUI.py:1316 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -6458,12 +7016,7 @@ msgstr "" "care să fie taiate in afara poligoanelor,\n" "urmărindu-le conturul." -#: flatcamGUI/ObjectUI.py:280 flatcamGUI/PreferencesUI.py:1464 -#: flatcamGUI/PreferencesUI.py:3711 flatcamTools/ToolNonCopperClear.py:208 -msgid "Tool Type" -msgstr "Tip Unealtă" - -#: flatcamGUI/ObjectUI.py:282 flatcamGUI/PreferencesUI.py:1466 +#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:1490 msgid "" "Choose what tool to use for Gerber isolation:\n" "'Circular' or 'V-shape'.\n" @@ -6475,29 +7028,29 @@ msgstr "" "Când este selectată „forma V”, atunci\n" "diametrul uneltei va depinde de adâncimea de tăiere aleasă." -#: flatcamGUI/ObjectUI.py:294 flatcamGUI/ObjectUI.py:1258 -#: flatcamGUI/PreferencesUI.py:1478 flatcamGUI/PreferencesUI.py:3730 -#: flatcamTools/ToolNonCopperClear.py:235 +#: flatcamGUI/ObjectUI.py:300 flatcamGUI/ObjectUI.py:1267 +#: flatcamGUI/PreferencesUI.py:1502 flatcamGUI/PreferencesUI.py:3818 +#: flatcamTools/ToolNonCopperClear.py:231 msgid "V-Tip Dia" msgstr "V-dia" -#: flatcamGUI/ObjectUI.py:296 flatcamGUI/ObjectUI.py:1261 -#: flatcamGUI/PreferencesUI.py:1480 flatcamGUI/PreferencesUI.py:3732 -#: flatcamTools/ToolNonCopperClear.py:237 +#: flatcamGUI/ObjectUI.py:302 flatcamGUI/ObjectUI.py:1270 +#: flatcamGUI/PreferencesUI.py:1504 flatcamGUI/PreferencesUI.py:3820 +#: flatcamTools/ToolNonCopperClear.py:233 msgid "The tip diameter for V-Shape Tool" msgstr "" "Diametrul la vârf al uneltei tip V-Shape.\n" "Forma in V" -#: flatcamGUI/ObjectUI.py:307 flatcamGUI/ObjectUI.py:1273 -#: flatcamGUI/PreferencesUI.py:1490 flatcamGUI/PreferencesUI.py:3742 -#: flatcamTools/ToolNonCopperClear.py:245 +#: flatcamGUI/ObjectUI.py:313 flatcamGUI/ObjectUI.py:1282 +#: flatcamGUI/PreferencesUI.py:1514 flatcamGUI/PreferencesUI.py:3830 +#: flatcamTools/ToolNonCopperClear.py:242 msgid "V-Tip Angle" msgstr "V-unghi" -#: flatcamGUI/ObjectUI.py:309 flatcamGUI/ObjectUI.py:1276 -#: flatcamGUI/PreferencesUI.py:1492 flatcamGUI/PreferencesUI.py:3744 -#: flatcamTools/ToolNonCopperClear.py:247 +#: flatcamGUI/ObjectUI.py:315 flatcamGUI/ObjectUI.py:1285 +#: flatcamGUI/PreferencesUI.py:1516 flatcamGUI/PreferencesUI.py:3832 +#: flatcamTools/ToolNonCopperClear.py:244 msgid "" "The tip angle for V-Shape Tool.\n" "In degree." @@ -6505,16 +7058,8 @@ msgstr "" "Unghiul la vârf pentru unealta tip V-Shape. \n" "In grade." -#: flatcamGUI/ObjectUI.py:321 flatcamGUI/ObjectUI.py:749 -#: flatcamGUI/ObjectUI.py:1289 flatcamGUI/PreferencesUI.py:1503 -#: flatcamGUI/PreferencesUI.py:2145 flatcamGUI/PreferencesUI.py:2967 -#: flatcamGUI/PreferencesUI.py:3796 flatcamGUI/PreferencesUI.py:4670 -#: flatcamTools/ToolCalculators.py:110 flatcamTools/ToolNonCopperClear.py:291 -msgid "Cut Z" -msgstr "Z tăiere" - -#: flatcamGUI/ObjectUI.py:323 flatcamGUI/ObjectUI.py:1292 -#: flatcamGUI/PreferencesUI.py:1505 flatcamGUI/PreferencesUI.py:2969 +#: flatcamGUI/ObjectUI.py:329 flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/PreferencesUI.py:1529 flatcamGUI/PreferencesUI.py:3010 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -6522,7 +7067,7 @@ msgstr "" "Adâncimea la care se taie sub suprafata de cupru.\n" "Valoare negativă." -#: flatcamGUI/ObjectUI.py:337 +#: flatcamGUI/ObjectUI.py:343 msgid "" "Diameter of the cutting tool.\n" "If you want to have an isolation path\n" @@ -6535,11 +7080,11 @@ msgstr "" "in interiorul poligonului Gerber (traseu), foloseşte\n" "o valoare negativă pt acest parametru." -#: flatcamGUI/ObjectUI.py:353 flatcamGUI/PreferencesUI.py:1314 +#: flatcamGUI/ObjectUI.py:359 flatcamGUI/PreferencesUI.py:1338 msgid "# Passes" msgstr "# Treceri" -#: flatcamGUI/ObjectUI.py:355 flatcamGUI/PreferencesUI.py:1316 +#: flatcamGUI/ObjectUI.py:361 flatcamGUI/PreferencesUI.py:1340 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -6547,11 +7092,11 @@ msgstr "" "Lăţimea spatiului de izolare\n" "in număr intreg de grosimi ale uneltei." -#: flatcamGUI/ObjectUI.py:365 flatcamGUI/PreferencesUI.py:1325 +#: flatcamGUI/ObjectUI.py:371 flatcamGUI/PreferencesUI.py:1349 msgid "Pass overlap" msgstr "Suprapunere" -#: flatcamGUI/ObjectUI.py:367 flatcamGUI/PreferencesUI.py:1327 +#: flatcamGUI/ObjectUI.py:373 flatcamGUI/PreferencesUI.py:1351 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -6565,14 +7110,14 @@ msgstr "" "Exemplu:\n" "O valoare de 0.25 reprezinta o suprapunere de 25%% din diametrul uneltei." -#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:1340 -#: flatcamGUI/PreferencesUI.py:3344 flatcamGUI/PreferencesUI.py:3756 -#: flatcamTools/ToolNonCopperClear.py:160 +#: flatcamGUI/ObjectUI.py:387 flatcamGUI/PreferencesUI.py:1364 +#: flatcamGUI/PreferencesUI.py:3405 flatcamGUI/PreferencesUI.py:3875 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Milling Type" msgstr "Tip Frezare" -#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:1342 -#: flatcamGUI/PreferencesUI.py:3346 +#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:1366 +#: flatcamGUI/PreferencesUI.py:3407 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -6583,31 +7128,31 @@ msgstr "" "uneltei\n" "- conventional -> pentru cazul când nu exista o compensare a 'backlash-ului'" -#: flatcamGUI/ObjectUI.py:387 flatcamGUI/PreferencesUI.py:1347 -#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:3763 -#: flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/ObjectUI.py:393 flatcamGUI/PreferencesUI.py:1371 +#: flatcamGUI/PreferencesUI.py:3411 flatcamGUI/PreferencesUI.py:3882 +#: flatcamTools/ToolNonCopperClear.py:169 msgid "Climb" msgstr "Urcare" -#: flatcamGUI/ObjectUI.py:388 flatcamGUI/PreferencesUI.py:1348 -#: flatcamGUI/PreferencesUI.py:3351 flatcamGUI/PreferencesUI.py:3764 -#: flatcamTools/ToolNonCopperClear.py:168 -msgid "Conv." -msgstr "Conv." +#: flatcamGUI/ObjectUI.py:394 +#, fuzzy +#| msgid "Conversion" +msgid "Conventional" +msgstr "Conversii" -#: flatcamGUI/ObjectUI.py:393 flatcamGUI/PreferencesUI.py:1352 +#: flatcamGUI/ObjectUI.py:399 flatcamGUI/PreferencesUI.py:1376 msgid "Combine Passes" msgstr "Combina" -#: flatcamGUI/ObjectUI.py:395 flatcamGUI/PreferencesUI.py:1354 +#: flatcamGUI/ObjectUI.py:401 flatcamGUI/PreferencesUI.py:1378 msgid "Combine all passes into one object" msgstr "Combina toate trecerile intr-un singur obiect" -#: flatcamGUI/ObjectUI.py:399 flatcamGUI/PreferencesUI.py:1445 +#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:1469 msgid "\"Follow\"" msgstr "\"Urmareste\"" -#: flatcamGUI/ObjectUI.py:400 flatcamGUI/PreferencesUI.py:1447 +#: flatcamGUI/ObjectUI.py:406 flatcamGUI/PreferencesUI.py:1471 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -6617,11 +7162,11 @@ msgstr "" "Mai exact, in loc să se genereze un poligon se va genera o 'linie'.\n" "In acest fel se taie prin mijlocul unui traseu și nu in jurul lui." -#: flatcamGUI/ObjectUI.py:405 +#: flatcamGUI/ObjectUI.py:411 msgid "Except" msgstr "Exceptie" -#: flatcamGUI/ObjectUI.py:406 +#: flatcamGUI/ObjectUI.py:412 msgid "" "When the isolation geometry is generated,\n" "by checking this, the area of the object bellow\n" @@ -6631,12 +7176,12 @@ msgstr "" "prin bifarea aici, aria obiectului de mai jos va fi\n" "scăzută din geometrie de tip Izolare." -#: flatcamGUI/ObjectUI.py:431 flatcamTools/ToolCutOut.py:72 +#: flatcamGUI/ObjectUI.py:437 flatcamTools/ToolCutOut.py:72 #: flatcamTools/ToolNonCopperClear.py:82 flatcamTools/ToolPaint.py:85 msgid "Obj Type" msgstr "Tip obiect" -#: flatcamGUI/ObjectUI.py:433 +#: flatcamGUI/ObjectUI.py:439 msgid "" "Specify the type of object to be excepted from isolation.\n" "It can be of type: Gerber or Geometry.\n" @@ -6649,22 +7194,22 @@ msgstr "" "obiecte care vor aparea in combobox-ul\n" "numit >Obiect<." -#: flatcamGUI/ObjectUI.py:446 flatcamTools/ToolCutOut.py:88 +#: flatcamGUI/ObjectUI.py:452 flatcamTools/ToolCutOut.py:88 #: flatcamTools/ToolNonCopperClear.py:100 flatcamTools/ToolPaint.py:103 #: flatcamTools/ToolPanelize.py:80 flatcamTools/ToolPanelize.py:93 msgid "Object" msgstr "Obiect" -#: flatcamGUI/ObjectUI.py:447 +#: flatcamGUI/ObjectUI.py:453 msgid "Object whose area will be removed from isolation geometry." msgstr "" "Obiectul a cărui suprafată va fi indepărtată din geometria tip Izolare." -#: flatcamGUI/ObjectUI.py:451 +#: flatcamGUI/ObjectUI.py:457 msgid "Generate Isolation Geometry" msgstr "Creează Geometrie de Izolare" -#: flatcamGUI/ObjectUI.py:453 +#: flatcamGUI/ObjectUI.py:459 msgid "" "Create a Geometry object with toolpaths to cut \n" "isolation outside, inside or on both sides of the\n" @@ -6683,11 +7228,11 @@ msgstr "" "(traseu, zona etc) iar >in interior< inseamna efectiv in interiorul\n" "acelui elem. Gerber (daca poate fi posibil)." -#: flatcamGUI/ObjectUI.py:465 +#: flatcamGUI/ObjectUI.py:471 msgid "Buffer Solid Geometry" msgstr "Creează Bufer Geometrie Solidă" -#: flatcamGUI/ObjectUI.py:467 +#: flatcamGUI/ObjectUI.py:473 msgid "" "This button is shown only when the Gerber file\n" "is loaded without buffering.\n" @@ -6699,11 +7244,11 @@ msgstr "" "Bifarea aici va crea această buferare care este necesară\n" "pentru a crea geometrie de tip Izolare." -#: flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/ObjectUI.py:480 msgid "FULL Geo" msgstr "Geo Full" -#: flatcamGUI/ObjectUI.py:476 +#: flatcamGUI/ObjectUI.py:482 msgid "" "Create the Geometry Object\n" "for isolation routing. It contains both\n" @@ -6713,11 +7258,11 @@ msgstr "" "Contine atat geometriile exterioare cat și\n" "pe cele interioare." -#: flatcamGUI/ObjectUI.py:485 +#: flatcamGUI/ObjectUI.py:491 msgid "Ext Geo" msgstr "Geo Ext" -#: flatcamGUI/ObjectUI.py:487 +#: flatcamGUI/ObjectUI.py:493 msgid "" "Create the Geometry Object\n" "for isolation routing containing\n" @@ -6727,11 +7272,11 @@ msgstr "" "pt izolare conținând doar\n" "geometriile de exterior." -#: flatcamGUI/ObjectUI.py:494 +#: flatcamGUI/ObjectUI.py:500 msgid "Int Geo" msgstr "Geo Int" -#: flatcamGUI/ObjectUI.py:496 +#: flatcamGUI/ObjectUI.py:502 msgid "" "Create the Geometry Object\n" "for isolation routing containing\n" @@ -6741,11 +7286,11 @@ msgstr "" "pt izolare conținând doar\n" "geometriile de interior." -#: flatcamGUI/ObjectUI.py:528 +#: flatcamGUI/ObjectUI.py:534 msgid "Clear N-copper" msgstr "Curăță Non-Cu" -#: flatcamGUI/ObjectUI.py:530 flatcamGUI/PreferencesUI.py:3694 +#: flatcamGUI/ObjectUI.py:536 flatcamGUI/PreferencesUI.py:3782 msgid "" "Create a Geometry object with\n" "toolpaths to cut all non-copper regions." @@ -6754,7 +7299,7 @@ msgstr "" "care să curete de cupru toate zonele unde se dorește să nu \n" "fie cupru." -#: flatcamGUI/ObjectUI.py:537 flatcamTools/ToolNonCopperClear.py:473 +#: flatcamGUI/ObjectUI.py:543 flatcamTools/ToolNonCopperClear.py:481 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -6763,11 +7308,11 @@ msgstr "" "pt rutare non-cupru (adica pt\n" "curățare zone de cupru)." -#: flatcamGUI/ObjectUI.py:544 +#: flatcamGUI/ObjectUI.py:550 msgid "Board cutout" msgstr "Decupare PCB" -#: flatcamGUI/ObjectUI.py:546 flatcamGUI/PreferencesUI.py:3969 +#: flatcamGUI/ObjectUI.py:552 flatcamGUI/PreferencesUI.py:4076 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -6777,7 +7322,7 @@ msgstr "" "lasand punţi pentru a separa PCB-ul de \n" "placa din care a fost taiat." -#: flatcamGUI/ObjectUI.py:553 +#: flatcamGUI/ObjectUI.py:559 msgid "" "Generate the geometry for\n" "the board cutout." @@ -6785,11 +7330,11 @@ msgstr "" "Generează un obiect Geometrie\n" "pt decuparea PCB." -#: flatcamGUI/ObjectUI.py:560 flatcamGUI/PreferencesUI.py:1359 +#: flatcamGUI/ObjectUI.py:566 flatcamGUI/PreferencesUI.py:1383 msgid "Non-copper regions" msgstr "Regiuni fără Cu" -#: flatcamGUI/ObjectUI.py:562 flatcamGUI/PreferencesUI.py:1361 +#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:1385 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -6802,12 +7347,12 @@ msgstr "" "obiectului sursa. Poate fi folosit pt a indeparta\n" "cuprul din zona specificata." -#: flatcamGUI/ObjectUI.py:572 flatcamGUI/ObjectUI.py:608 -#: flatcamGUI/PreferencesUI.py:1373 flatcamGUI/PreferencesUI.py:1401 +#: flatcamGUI/ObjectUI.py:578 flatcamGUI/ObjectUI.py:614 +#: flatcamGUI/PreferencesUI.py:1397 flatcamGUI/PreferencesUI.py:1425 msgid "Boundary Margin" msgstr "Margine" -#: flatcamGUI/ObjectUI.py:574 flatcamGUI/PreferencesUI.py:1375 +#: flatcamGUI/ObjectUI.py:580 flatcamGUI/PreferencesUI.py:1399 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -6818,29 +7363,30 @@ msgstr "" "unei forme patratice de jur imprejurul la toate obiectele\n" "la o distanţa minima cu valoarea din acest câmp." -#: flatcamGUI/ObjectUI.py:589 flatcamGUI/ObjectUI.py:622 -#: flatcamGUI/PreferencesUI.py:1388 flatcamGUI/PreferencesUI.py:1414 +#: flatcamGUI/ObjectUI.py:595 flatcamGUI/ObjectUI.py:628 +#: flatcamGUI/PreferencesUI.py:1412 flatcamGUI/PreferencesUI.py:1438 msgid "Rounded Geo" msgstr "Geo rotunjita" -#: flatcamGUI/ObjectUI.py:591 flatcamGUI/PreferencesUI.py:1390 +#: flatcamGUI/ObjectUI.py:597 flatcamGUI/PreferencesUI.py:1414 msgid "Resulting geometry will have rounded corners." msgstr "" "Obiectul Geometrie rezultat \n" "va avea colțurile rotunjite." -#: flatcamGUI/ObjectUI.py:595 flatcamGUI/ObjectUI.py:631 +#: flatcamGUI/ObjectUI.py:601 flatcamGUI/ObjectUI.py:637 #: flatcamTools/ToolCutOut.py:208 flatcamTools/ToolCutOut.py:228 -#: flatcamTools/ToolCutOut.py:279 flatcamTools/ToolSolderPaste.py:126 +#: flatcamTools/ToolCutOut.py:279 flatcamTools/ToolSolderPaste.py:133 msgid "Generate Geo" msgstr "Crează Geo" -#: flatcamGUI/ObjectUI.py:600 flatcamGUI/PreferencesUI.py:1395 -#: flatcamTools/ToolPanelize.py:94 +#: flatcamGUI/ObjectUI.py:606 flatcamGUI/PreferencesUI.py:1419 +#: flatcamGUI/PreferencesUI.py:5647 flatcamTools/ToolPanelize.py:94 +#: flatcamTools/ToolQRCode.py:192 msgid "Bounding Box" msgstr "Forma înconjurătoare" -#: flatcamGUI/ObjectUI.py:602 +#: flatcamGUI/ObjectUI.py:608 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." @@ -6848,7 +7394,7 @@ msgstr "" "Generează un obiect tip Geometrie care va inconjura\n" "obiectul Gerber. Forma patratica (rectangulara)." -#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:1403 +#: flatcamGUI/ObjectUI.py:616 flatcamGUI/PreferencesUI.py:1427 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -6856,7 +7402,7 @@ msgstr "" "Distanta de la marginile formei înconjurătoare\n" "pana la cel mai apropiat poligon." -#: flatcamGUI/ObjectUI.py:624 flatcamGUI/PreferencesUI.py:1416 +#: flatcamGUI/ObjectUI.py:630 flatcamGUI/PreferencesUI.py:1440 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6866,31 +7412,31 @@ msgstr "" "Daca forma înconjurătoare să aibă colțuri rotunjite.\n" "Raza acesor colțuri va fi egală cu parametrul Margine." -#: flatcamGUI/ObjectUI.py:633 +#: flatcamGUI/ObjectUI.py:639 msgid "Generate the Geometry object." msgstr "Generează obiectul Geometrie." -#: flatcamGUI/ObjectUI.py:645 +#: flatcamGUI/ObjectUI.py:651 msgid "Excellon Object" msgstr "Obiect Excellon" -#: flatcamGUI/ObjectUI.py:658 +#: flatcamGUI/ObjectUI.py:664 msgid "Solid circles." msgstr "Cercuri solide." -#: flatcamGUI/ObjectUI.py:706 +#: flatcamGUI/ObjectUI.py:712 msgid "Drills" msgstr "Găuri" -#: flatcamGUI/ObjectUI.py:706 flatcamGUI/PreferencesUI.py:2741 +#: flatcamGUI/ObjectUI.py:712 flatcamGUI/PreferencesUI.py:2782 msgid "Slots" msgstr "Sloturi" -#: flatcamGUI/ObjectUI.py:707 flatcamGUI/PreferencesUI.py:2346 +#: flatcamGUI/ObjectUI.py:713 flatcamGUI/PreferencesUI.py:2387 msgid "Offset Z" msgstr "Ofset Z" -#: flatcamGUI/ObjectUI.py:711 +#: flatcamGUI/ObjectUI.py:717 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -6904,7 +7450,7 @@ msgstr "" "in codul masina CNC.\n" "Aici se selectează uneltele pt generarea de G-Code." -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1110 +#: flatcamGUI/ObjectUI.py:722 flatcamGUI/ObjectUI.py:1130 #: flatcamTools/ToolPaint.py:137 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" @@ -6913,7 +7459,7 @@ msgstr "" "Diametrul uneltei. Valoarea să (in unitati curente)\n" "reprezinta lăţimea taieturii in material." -#: flatcamGUI/ObjectUI.py:719 +#: flatcamGUI/ObjectUI.py:725 msgid "" "The number of Drill holes. Holes that are drilled with\n" "a drill bit." @@ -6921,7 +7467,7 @@ msgstr "" "Numărul de găuri. Sunt găuri efectuate prin\n" "operațiuni de găurire efectuate cu un burghiu." -#: flatcamGUI/ObjectUI.py:722 +#: flatcamGUI/ObjectUI.py:728 msgid "" "The number of Slot holes. Holes that are created by\n" "milling them with an endmill bit." @@ -6929,7 +7475,7 @@ msgstr "" "Numărul de sloturi. Sunt găuri efectuate\n" "prin op. de frezare cu o freza." -#: flatcamGUI/ObjectUI.py:725 flatcamGUI/PreferencesUI.py:2348 +#: flatcamGUI/ObjectUI.py:731 flatcamGUI/PreferencesUI.py:2389 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" @@ -6942,7 +7488,7 @@ msgstr "" "Valoarea de aici efectuează o compensare asupra\n" "parametrului >Z tăiere<." -#: flatcamGUI/ObjectUI.py:729 +#: flatcamGUI/ObjectUI.py:735 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." @@ -6950,12 +7496,12 @@ msgstr "" "Comută afișarea găurilor pt unealta curentă.\n" "Aceata nu selectează uneltele pt generarea G-Code." -#: flatcamGUI/ObjectUI.py:736 flatcamGUI/PreferencesUI.py:2134 -#: flatcamGUI/PreferencesUI.py:2955 +#: flatcamGUI/ObjectUI.py:742 flatcamGUI/PreferencesUI.py:2158 +#: flatcamGUI/PreferencesUI.py:2996 msgid "Create CNC Job" msgstr "Crează CNCJob" -#: flatcamGUI/ObjectUI.py:738 +#: flatcamGUI/ObjectUI.py:744 msgid "" "Create a CNC Job object\n" "for this drill object." @@ -6963,7 +7509,7 @@ msgstr "" "Crează un obiect CNCJob din\n" "acest obiect." -#: flatcamGUI/ObjectUI.py:751 flatcamGUI/PreferencesUI.py:2147 +#: flatcamGUI/ObjectUI.py:757 flatcamGUI/PreferencesUI.py:2171 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -6972,12 +7518,7 @@ msgstr "" "Daca se foloseşte o val. pozitivă, aplicaţia\n" "va incerca in mod automat să schimbe semnul." -#: flatcamGUI/ObjectUI.py:763 flatcamGUI/ObjectUI.py:1331 -#: flatcamGUI/PreferencesUI.py:2158 flatcamGUI/PreferencesUI.py:3015 -msgid "Travel Z" -msgstr "Z Deplasare" - -#: flatcamGUI/ObjectUI.py:765 flatcamGUI/PreferencesUI.py:2160 +#: flatcamGUI/ObjectUI.py:776 flatcamGUI/PreferencesUI.py:2189 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -6986,12 +7527,12 @@ msgstr "" "in planul X-Y, fără a efectua taieri, adica\n" "in afara materialului." -#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1352 -#: flatcamGUI/PreferencesUI.py:2171 flatcamGUI/PreferencesUI.py:3030 +#: flatcamGUI/ObjectUI.py:793 flatcamGUI/ObjectUI.py:1371 +#: flatcamGUI/PreferencesUI.py:2204 flatcamGUI/PreferencesUI.py:3081 msgid "Tool change" msgstr "Schimb unealtă" -#: flatcamGUI/ObjectUI.py:779 flatcamGUI/PreferencesUI.py:2173 +#: flatcamGUI/ObjectUI.py:795 flatcamGUI/PreferencesUI.py:2206 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -7000,23 +7541,23 @@ msgstr "" "in codul G-Code (pauza pentru schimbare unealtă).\n" "De obicei este folosita comanda G-Code M6." -#: flatcamGUI/ObjectUI.py:785 flatcamGUI/ObjectUI.py:1345 +#: flatcamGUI/ObjectUI.py:801 flatcamGUI/ObjectUI.py:1364 msgid "Tool change Z" msgstr "Z schimb unealtă" -#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1348 -#: flatcamGUI/PreferencesUI.py:2182 flatcamGUI/PreferencesUI.py:3045 +#: flatcamGUI/ObjectUI.py:803 flatcamGUI/ObjectUI.py:1367 +#: flatcamGUI/PreferencesUI.py:2215 flatcamGUI/PreferencesUI.py:3096 msgid "" "Z-axis position (height) for\n" "tool change." msgstr "Înălţimea, pe axa Z, pentru schimbul uneltei." -#: flatcamGUI/ObjectUI.py:800 flatcamGUI/PreferencesUI.py:2366 -#: flatcamGUI/PreferencesUI.py:3184 +#: flatcamGUI/ObjectUI.py:821 flatcamGUI/PreferencesUI.py:2407 +#: flatcamGUI/PreferencesUI.py:3245 msgid "Start move Z" msgstr "Z pornire" -#: flatcamGUI/ObjectUI.py:802 flatcamGUI/PreferencesUI.py:2368 +#: flatcamGUI/ObjectUI.py:823 flatcamGUI/PreferencesUI.py:2409 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -7024,24 +7565,24 @@ msgstr "" "Înălţimea uneltei imediat dupa ce se porneste operatia CNC.\n" "Lasa casuta goala daca nu se foloseşte." -#: flatcamGUI/ObjectUI.py:810 flatcamGUI/ObjectUI.py:1381 -#: flatcamGUI/PreferencesUI.py:2193 flatcamGUI/PreferencesUI.py:3059 +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1405 +#: flatcamGUI/PreferencesUI.py:2230 flatcamGUI/PreferencesUI.py:3115 msgid "End move Z" msgstr "Z oprire" -#: flatcamGUI/ObjectUI.py:812 flatcamGUI/ObjectUI.py:1383 -#: flatcamGUI/PreferencesUI.py:2195 flatcamGUI/PreferencesUI.py:3061 +#: flatcamGUI/ObjectUI.py:833 flatcamGUI/ObjectUI.py:1407 +#: flatcamGUI/PreferencesUI.py:2232 flatcamGUI/PreferencesUI.py:3117 msgid "" "Height of the tool after\n" "the last move at the end of the job." msgstr "Înălţimea la care se parchează freza dupa ce se termina lucrul." -#: flatcamGUI/ObjectUI.py:824 flatcamGUI/PreferencesUI.py:2206 -#: flatcamGUI/PreferencesUI.py:5019 flatcamTools/ToolSolderPaste.py:223 +#: flatcamGUI/ObjectUI.py:850 flatcamGUI/PreferencesUI.py:2247 +#: flatcamGUI/PreferencesUI.py:5162 flatcamTools/ToolSolderPaste.py:258 msgid "Feedrate Z" msgstr "Feedrate Z" -#: flatcamGUI/ObjectUI.py:826 flatcamGUI/PreferencesUI.py:2208 +#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:2249 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7053,11 +7594,11 @@ msgstr "" "Asa numita viteza unealta tip \"plunge\".\n" "Aceasta este mișcarea lineara G01." -#: flatcamGUI/ObjectUI.py:840 flatcamGUI/PreferencesUI.py:2376 +#: flatcamGUI/ObjectUI.py:866 flatcamGUI/PreferencesUI.py:2417 msgid "Feedrate Rapids" msgstr "Feedrate rapizi" -#: flatcamGUI/ObjectUI.py:842 flatcamGUI/PreferencesUI.py:2378 +#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:2419 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -7070,12 +7611,12 @@ msgstr "" "printerul 3D Marlin, implicit când se foloseşte fişierul\n" "postprocesor: Marlin. Ignora aceasta parametru in rest." -#: flatcamGUI/ObjectUI.py:860 flatcamGUI/ObjectUI.py:1454 -#: flatcamGUI/PreferencesUI.py:3105 +#: flatcamGUI/ObjectUI.py:886 flatcamGUI/ObjectUI.py:1483 +#: flatcamGUI/PreferencesUI.py:3166 msgid "Spindle speed" msgstr "Viteza motor" -#: flatcamGUI/ObjectUI.py:862 flatcamGUI/PreferencesUI.py:2223 +#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:2264 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -7085,13 +7626,8 @@ msgstr "" "Acest parametru este optional și se poate lasa gol\n" "daca nu se foloseşte." -#: flatcamGUI/ObjectUI.py:870 flatcamGUI/ObjectUI.py:1468 -#: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:3118 -msgid "Dwell" -msgstr "Pauza" - -#: flatcamGUI/ObjectUI.py:872 flatcamGUI/ObjectUI.py:1471 -#: flatcamGUI/PreferencesUI.py:2233 flatcamGUI/PreferencesUI.py:3120 +#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1500 +#: flatcamGUI/PreferencesUI.py:2274 flatcamGUI/PreferencesUI.py:3181 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -7099,17 +7635,12 @@ msgstr "" "O pauza care permite motorului să ajunga la turatia specificata,\n" "inainte de a incepe mișcarea spre poziţia de tăiere (găurire)." -#: flatcamGUI/ObjectUI.py:881 flatcamGUI/ObjectUI.py:1481 -#: flatcamGUI/PreferencesUI.py:2238 flatcamGUI/PreferencesUI.py:3125 +#: flatcamGUI/ObjectUI.py:907 flatcamGUI/ObjectUI.py:1510 +#: flatcamGUI/PreferencesUI.py:2279 flatcamGUI/PreferencesUI.py:3186 msgid "Number of time units for spindle to dwell." msgstr "Timpul (ori secunde ori milisec) cat se stă in pauză." -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/PreferencesUI.py:2253 -#: flatcamGUI/PreferencesUI.py:3140 -msgid "Postprocessor" -msgstr "Postprocesor" - -#: flatcamGUI/ObjectUI.py:891 flatcamGUI/PreferencesUI.py:2255 +#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:2296 msgid "" "The postprocessor JSON file that dictates\n" "Gcode output." @@ -7117,13 +7648,13 @@ msgstr "" "Fișierul JSON postprocesor care dictează\n" "codul Gcode." -#: flatcamGUI/ObjectUI.py:900 flatcamGUI/ObjectUI.py:1501 -#: flatcamGUI/PreferencesUI.py:2392 flatcamGUI/PreferencesUI.py:3222 +#: flatcamGUI/ObjectUI.py:926 flatcamGUI/ObjectUI.py:1530 +#: flatcamGUI/PreferencesUI.py:2433 flatcamGUI/PreferencesUI.py:3283 msgid "Probe Z depth" msgstr "Z sonda" -#: flatcamGUI/ObjectUI.py:902 flatcamGUI/ObjectUI.py:1503 -#: flatcamGUI/PreferencesUI.py:2394 flatcamGUI/PreferencesUI.py:3224 +#: flatcamGUI/ObjectUI.py:928 flatcamGUI/ObjectUI.py:1532 +#: flatcamGUI/PreferencesUI.py:2435 flatcamGUI/PreferencesUI.py:3285 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -7131,31 +7662,21 @@ msgstr "" "Adâncimea maxima la care este permis sondei să coboare.\n" "Are o valoare negativă, in unitatile curente." -#: flatcamGUI/ObjectUI.py:916 flatcamGUI/ObjectUI.py:1518 -#: flatcamGUI/PreferencesUI.py:2405 flatcamGUI/PreferencesUI.py:3237 +#: flatcamGUI/ObjectUI.py:942 flatcamGUI/ObjectUI.py:1547 +#: flatcamGUI/PreferencesUI.py:2446 flatcamGUI/PreferencesUI.py:3298 msgid "Feedrate Probe" msgstr "Feedrate sonda" -#: flatcamGUI/ObjectUI.py:918 flatcamGUI/ObjectUI.py:1520 -#: flatcamGUI/PreferencesUI.py:2407 flatcamGUI/PreferencesUI.py:3239 +#: flatcamGUI/ObjectUI.py:944 flatcamGUI/ObjectUI.py:1549 +#: flatcamGUI/PreferencesUI.py:2448 flatcamGUI/PreferencesUI.py:3300 msgid "The feedrate used while the probe is probing." msgstr "Viteza sondei când aceasta coboara." -#: flatcamGUI/ObjectUI.py:938 -msgid "" -"Select from the Tools Table above\n" -"the hole dias that are to be drilled.\n" -"Use the # column to make the selection." -msgstr "" -"Selecteaa din Tabela de Unelte de mai sus\n" -"acele găuri care vor fi frezate.\n" -"Foloseste coloanal # pt a face această selectie." - -#: flatcamGUI/ObjectUI.py:945 flatcamGUI/PreferencesUI.py:2264 +#: flatcamGUI/ObjectUI.py:970 flatcamGUI/PreferencesUI.py:2305 msgid "Gcode" msgstr "Gcode" -#: flatcamGUI/ObjectUI.py:947 +#: flatcamGUI/ObjectUI.py:972 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7169,46 +7690,47 @@ msgstr "" "Când se alege >Sloturi< sau >Ambele<, sloturile\n" "vor fi convertite intr-o serie de găuriri." -#: flatcamGUI/ObjectUI.py:961 +#: flatcamGUI/ObjectUI.py:986 msgid "Create Drills GCode" msgstr "Crează GCode Găuri" -#: flatcamGUI/ObjectUI.py:963 +#: flatcamGUI/ObjectUI.py:988 msgid "Generate the CNC Job." msgstr "Generează un obiect CNCJob." -#: flatcamGUI/ObjectUI.py:968 flatcamGUI/PreferencesUI.py:2282 +#: flatcamGUI/ObjectUI.py:993 flatcamGUI/PreferencesUI.py:2323 msgid "Mill Holes" msgstr "Frezare găuri" -#: flatcamGUI/ObjectUI.py:970 flatcamGUI/PreferencesUI.py:2284 -msgid "Create Geometry for milling holes." -msgstr "Crează un obiect tip Geometrie pentru frezarea găurilor." - -#: flatcamGUI/ObjectUI.py:975 +#: flatcamGUI/ObjectUI.py:995 +#, fuzzy +#| msgid "" +#| "Select from the Tools Table above\n" +#| "the hole dias that are to be milled.\n" +#| "Use the # column to make the selection." msgid "" -"Select from the Tools Table above\n" -"the hole dias that are to be milled.\n" -"Use the # column to make the selection." +"Create Geometry for milling holes.\n" +"Select from the Tools Table above the hole dias to be\n" +"milled. Use the # column to make the selection." msgstr "" "Selecteaa din Tabela de Unelte de mai sus\n" "acele găuri care vor fi frezate.\n" "Foloseste coloana # pt a face această selectie." -#: flatcamGUI/ObjectUI.py:981 flatcamGUI/PreferencesUI.py:2288 +#: flatcamGUI/ObjectUI.py:1001 flatcamGUI/PreferencesUI.py:2329 msgid "Drill Tool dia" msgstr "Dia. Burghiu Găurire" -#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:1303 -#: flatcamGUI/PreferencesUI.py:2290 +#: flatcamGUI/ObjectUI.py:1003 flatcamGUI/PreferencesUI.py:1327 +#: flatcamGUI/PreferencesUI.py:2331 msgid "Diameter of the cutting tool." msgstr "Diametrul uneltei taietoare." -#: flatcamGUI/ObjectUI.py:990 +#: flatcamGUI/ObjectUI.py:1010 msgid "Mill Drills Geo" msgstr "Geo pt frezare găuri" -#: flatcamGUI/ObjectUI.py:992 +#: flatcamGUI/ObjectUI.py:1012 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -7216,21 +7738,21 @@ msgstr "" "Crează un obiect tip Geometrie pt.\n" "frezarea rutelor create din Găuri." -#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:2299 +#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/PreferencesUI.py:2340 msgid "Slot Tool dia" msgstr "Dia. Freza Slot" -#: flatcamGUI/ObjectUI.py:1002 flatcamGUI/PreferencesUI.py:2301 +#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/PreferencesUI.py:2342 msgid "" "Diameter of the cutting tool\n" "when milling slots." msgstr "Diametrul frezei când se frezează sloturile." -#: flatcamGUI/ObjectUI.py:1011 +#: flatcamGUI/ObjectUI.py:1031 msgid "Mill Slots Geo" msgstr "Geo pt. frezare sloturi" -#: flatcamGUI/ObjectUI.py:1013 +#: flatcamGUI/ObjectUI.py:1033 msgid "" "Create the Geometry Object\n" "for milling SLOTS toolpaths." @@ -7238,11 +7760,11 @@ msgstr "" "Crează un obiect tip Geometrie pt.\n" "frezarea rutelor create din Sloturi." -#: flatcamGUI/ObjectUI.py:1034 +#: flatcamGUI/ObjectUI.py:1054 msgid "Geometry Object" msgstr "Obiect Geometrie" -#: flatcamGUI/ObjectUI.py:1066 +#: flatcamGUI/ObjectUI.py:1086 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -7272,21 +7794,21 @@ msgstr "" "- V-Dia \n" "- V-unghi." -#: flatcamGUI/ObjectUI.py:1083 flatcamGUI/ObjectUI.py:1696 -#: flatcamGUI/PreferencesUI.py:3376 +#: flatcamGUI/ObjectUI.py:1103 flatcamGUI/ObjectUI.py:1725 +#: flatcamGUI/PreferencesUI.py:3437 msgid "Plot Object" msgstr "Afisează" -#: flatcamGUI/ObjectUI.py:1097 flatcamGUI/ObjectUI.py:1709 +#: flatcamGUI/ObjectUI.py:1117 flatcamGUI/ObjectUI.py:1738 msgid "Dia" msgstr "Dia" -#: flatcamGUI/ObjectUI.py:1097 flatcamGUI/ObjectUI.py:1709 +#: flatcamGUI/ObjectUI.py:1117 flatcamGUI/ObjectUI.py:1738 #: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123 msgid "TT" msgstr "TU" -#: flatcamGUI/ObjectUI.py:1104 +#: flatcamGUI/ObjectUI.py:1124 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -7297,7 +7819,7 @@ msgstr "" "la evenim. de schimb unealtă, va aparea sub forma T1, T2, etc\n" "in codul masina CNC" -#: flatcamGUI/ObjectUI.py:1115 +#: flatcamGUI/ObjectUI.py:1135 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry " @@ -7313,7 +7835,7 @@ msgstr "" "'buzunar'\n" "- Afară-> Tăietura va urma geometria pe exterior." -#: flatcamGUI/ObjectUI.py:1122 +#: flatcamGUI/ObjectUI.py:1142 msgid "" "The (Operation) Type has only informative value. Usually the UI form " "values \n" @@ -7336,7 +7858,7 @@ msgstr "" "un\n" "vârf fin, ascuțit." -#: flatcamGUI/ObjectUI.py:1131 +#: flatcamGUI/ObjectUI.py:1151 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the " @@ -7366,7 +7888,7 @@ msgstr "" "Alegerea tipului V-Shape (forma in V) va selecta automat Tipul de Operaţie " "ca Izolare." -#: flatcamGUI/ObjectUI.py:1143 +#: flatcamGUI/ObjectUI.py:1163 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries " "that holds the geometry\n" @@ -7386,11 +7908,7 @@ msgstr "" "se poate activa/dezactiva\n" "afișarea in canvas." -#: flatcamGUI/ObjectUI.py:1156 -msgid "Tool Offset" -msgstr "Ofset unealtă" - -#: flatcamGUI/ObjectUI.py:1159 +#: flatcamGUI/ObjectUI.py:1181 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -7401,16 +7919,35 @@ 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:1205 flatcamTools/ToolNonCopperClear.py:260 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/ObjectUI.py:1206 +#, fuzzy +#| msgid "" +#| "Add a new tool to the Tool Table\n" +#| "with the diameter specified above." msgid "" "Add a new tool to the Tool Table\n" -"with the diameter specified above." +"with the specified diameter." msgstr "" "Adaugă o noua unelata in Tabela de Unelte,\n" "cu diametrul specificat mai sus." -#: flatcamGUI/ObjectUI.py:1213 +#: flatcamGUI/ObjectUI.py:1214 +msgid "Add Tool from DataBase" +msgstr "" + +#: flatcamGUI/ObjectUI.py:1216 +#, fuzzy +#| msgid "" +#| "Add a new tool to the Tool Table\n" +#| "with the diameter specified above." +msgid "" +"Add a new tool to the Tool Table\n" +"from the Tool DataBase." +msgstr "" +"Adaugă o noua unelata in Tabela de Unelte,\n" +"cu diametrul specificat mai sus." + +#: flatcamGUI/ObjectUI.py:1226 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -7418,7 +7955,7 @@ msgstr "" "Copiază o selecţie de unelte in Tabela de Unelte prin\n" "selectarea unei linii (sau mai multe) in Tabela de Unelte." -#: flatcamGUI/ObjectUI.py:1221 +#: flatcamGUI/ObjectUI.py:1232 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -7426,11 +7963,11 @@ msgstr "" "Șterge o selecţie de unelte in Tabela de Unelte prin\n" "selectarea unei linii (sau mai multe) in Tabela de Unelte." -#: flatcamGUI/ObjectUI.py:1237 +#: flatcamGUI/ObjectUI.py:1246 msgid "Tool Data" msgstr "Date unealtă" -#: flatcamGUI/ObjectUI.py:1240 +#: flatcamGUI/ObjectUI.py:1249 msgid "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." @@ -7438,11 +7975,11 @@ msgstr "" "Datele folosite pentru crearea codului GCode.\n" "Fiecare unealtă stochează un subset de asemenea date." -#: flatcamGUI/ObjectUI.py:1305 flatcamGUI/PreferencesUI.py:2982 +#: flatcamGUI/ObjectUI.py:1319 flatcamGUI/PreferencesUI.py:3028 msgid "Multi-Depth" msgstr "Multi-Pas" -#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/PreferencesUI.py:2985 +#: flatcamGUI/ObjectUI.py:1322 flatcamGUI/PreferencesUI.py:3031 msgid "" "Use multiple passes to limit\n" "the cut depth in each pass. Will\n" @@ -7454,13 +7991,13 @@ msgstr "" "va tăia de mai multe ori până când este\n" "atins Z de tăiere, Z Cut." -#: flatcamGUI/ObjectUI.py:1322 +#: flatcamGUI/ObjectUI.py:1336 msgid "Depth of each pass (positive)." msgstr "" "Adâncimea pentru fiecare trecere.\n" "Valoare pozitivă, in unitatile curente." -#: flatcamGUI/ObjectUI.py:1333 flatcamGUI/PreferencesUI.py:3017 +#: flatcamGUI/ObjectUI.py:1347 flatcamGUI/PreferencesUI.py:3063 msgid "" "Height of the tool when\n" "moving without cutting." @@ -7468,7 +8005,7 @@ msgstr "" "Înălţimea la care se misca unealta când nu taie,\n" "deasupra materialului." -#: flatcamGUI/ObjectUI.py:1355 flatcamGUI/PreferencesUI.py:3033 +#: flatcamGUI/ObjectUI.py:1374 flatcamGUI/PreferencesUI.py:3084 msgid "" "Include tool-change sequence\n" "in the Machine Code (Pause for tool change)." @@ -7477,11 +8014,11 @@ msgstr "" "codul masina CNC. O pauza pentru schimbul\n" "uneltei (M6)." -#: flatcamGUI/ObjectUI.py:1395 flatcamGUI/PreferencesUI.py:3074 +#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/PreferencesUI.py:3135 msgid "Feed Rate X-Y" msgstr "Feedrate X-Y" -#: flatcamGUI/ObjectUI.py:1397 flatcamGUI/PreferencesUI.py:3076 +#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3137 msgid "" "Cutting speed in the XY\n" "plane in units per minute" @@ -7489,11 +8026,11 @@ msgstr "" "Viteza de tăiere in planul X-Y\n" "in unitati pe minut" -#: flatcamGUI/ObjectUI.py:1409 flatcamGUI/PreferencesUI.py:3089 +#: flatcamGUI/ObjectUI.py:1438 flatcamGUI/PreferencesUI.py:3150 msgid "Feed Rate Z" msgstr "Feedrate Z" -#: flatcamGUI/ObjectUI.py:1411 flatcamGUI/PreferencesUI.py:3091 +#: flatcamGUI/ObjectUI.py:1440 flatcamGUI/PreferencesUI.py:3152 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -7503,11 +8040,11 @@ msgstr "" "in unitati pe minut.\n" "Mai este numita și viteza de plonjare." -#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/PreferencesUI.py:3194 +#: flatcamGUI/ObjectUI.py:1453 flatcamGUI/PreferencesUI.py:3255 msgid "Feed Rate Rapids" msgstr "Feedrate rapizi" -#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3196 +#: flatcamGUI/ObjectUI.py:1455 flatcamGUI/PreferencesUI.py:3257 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -7520,11 +8057,11 @@ msgstr "" "Este utila doar când se foloseşte cu un printer 3D Marlin,\n" "pentru toate celelalte cazuri ignora acest parametru." -#: flatcamGUI/ObjectUI.py:1444 flatcamGUI/PreferencesUI.py:3212 +#: flatcamGUI/ObjectUI.py:1473 flatcamGUI/PreferencesUI.py:3273 msgid "Re-cut 1st pt." msgstr "Re-tăiere 1-ul pt." -#: flatcamGUI/ObjectUI.py:1446 flatcamGUI/PreferencesUI.py:3214 +#: flatcamGUI/ObjectUI.py:1475 flatcamGUI/PreferencesUI.py:3275 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -7536,7 +8073,7 @@ msgstr "" "cu sfârşitul acesteia (este vorba de un contur), sunt eliminate\n" "prin taierea peste acest punct." -#: flatcamGUI/ObjectUI.py:1457 flatcamGUI/PreferencesUI.py:3108 +#: flatcamGUI/ObjectUI.py:1486 flatcamGUI/PreferencesUI.py:3169 msgid "" "Speed of the spindle in RPM (optional).\n" "If LASER postprocessor is used,\n" @@ -7546,12 +8083,12 @@ msgstr "" "Daca postprocesorul Laser este folosit,\n" "valoarea să este puterea laserului." -#: flatcamGUI/ObjectUI.py:1489 flatcamGUI/PreferencesUI.py:5077 -#: flatcamTools/ToolSolderPaste.py:275 +#: flatcamGUI/ObjectUI.py:1518 flatcamGUI/PreferencesUI.py:5238 +#: flatcamTools/ToolSolderPaste.py:328 msgid "PostProcessor" msgstr "Postprocesor" -#: flatcamGUI/ObjectUI.py:1491 flatcamGUI/PreferencesUI.py:3142 +#: flatcamGUI/ObjectUI.py:1520 flatcamGUI/PreferencesUI.py:3203 msgid "" "The Postprocessor file that dictates\n" "the Machine Code (like GCode, RML, HPGL) output." @@ -7560,7 +8097,7 @@ msgstr "" "codului masina CNC (GCode, RML, HPGL) care \n" "mai apoi este salvat." -#: flatcamGUI/ObjectUI.py:1535 +#: flatcamGUI/ObjectUI.py:1564 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -7570,19 +8107,19 @@ msgstr "" "Click pe header pentru selectarea tuturora asu CTRL + LMB click\n" "pentru o selecţie personalizata de unelte." -#: flatcamGUI/ObjectUI.py:1542 +#: flatcamGUI/ObjectUI.py:1571 msgid "Generate" msgstr "Generează" -#: flatcamGUI/ObjectUI.py:1544 +#: flatcamGUI/ObjectUI.py:1573 msgid "Generate the CNC Job object." msgstr "Generează un obiect CNCJob." -#: flatcamGUI/ObjectUI.py:1551 +#: flatcamGUI/ObjectUI.py:1580 msgid "Paint Area" msgstr "Unealta Paint" -#: flatcamGUI/ObjectUI.py:1554 flatcamGUI/PreferencesUI.py:4145 +#: flatcamGUI/ObjectUI.py:1583 flatcamGUI/PreferencesUI.py:4252 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -7595,21 +8132,21 @@ msgstr "" "singur poligon se va cere să faceti click pe poligonul\n" "dorit." -#: flatcamGUI/ObjectUI.py:1565 +#: flatcamGUI/ObjectUI.py:1594 msgid "Launch Paint Tool in Tools Tab." msgstr "" "Lansează unealta FlatCAM numita Paint și\n" "o instalează in Tab-ul Unealta." -#: flatcamGUI/ObjectUI.py:1581 +#: flatcamGUI/ObjectUI.py:1610 msgid "CNC Job Object" msgstr "Obiect CNCJob" -#: flatcamGUI/ObjectUI.py:1591 flatcamGUI/PreferencesUI.py:3381 +#: flatcamGUI/ObjectUI.py:1620 flatcamGUI/PreferencesUI.py:3442 msgid "Plot kind" msgstr "Tip afișare" -#: flatcamGUI/ObjectUI.py:1594 flatcamGUI/PreferencesUI.py:3383 +#: flatcamGUI/ObjectUI.py:1623 flatcamGUI/PreferencesUI.py:3444 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" @@ -7621,15 +8158,15 @@ msgstr "" "- Voiaj -> miscarile deasupra materialului\n" "- Tăiere -> miscarile in material, tăiere." -#: flatcamGUI/ObjectUI.py:1603 flatcamGUI/PreferencesUI.py:3391 +#: flatcamGUI/ObjectUI.py:1632 flatcamGUI/PreferencesUI.py:3452 msgid "Travel" msgstr "Voiaj" -#: flatcamGUI/ObjectUI.py:1607 flatcamGUI/PreferencesUI.py:3400 +#: flatcamGUI/ObjectUI.py:1636 flatcamGUI/PreferencesUI.py:3461 msgid "Display Annotation" msgstr "Afişează notații" -#: flatcamGUI/ObjectUI.py:1609 flatcamGUI/PreferencesUI.py:3402 +#: flatcamGUI/ObjectUI.py:1638 flatcamGUI/PreferencesUI.py:3463 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -7639,11 +8176,11 @@ msgstr "" "Cand este selectat va afisa numerele in ordine pt fiecare\n" "capat al liniilor de traversare." -#: flatcamGUI/ObjectUI.py:1624 +#: flatcamGUI/ObjectUI.py:1653 msgid "Travelled dist." msgstr "Distanța parcursă" -#: flatcamGUI/ObjectUI.py:1626 flatcamGUI/ObjectUI.py:1631 +#: flatcamGUI/ObjectUI.py:1655 flatcamGUI/ObjectUI.py:1660 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -7651,11 +8188,11 @@ msgstr "" "Aceasta este distanţa totala parcursa in planul X-Y.\n" "In unitatile curente." -#: flatcamGUI/ObjectUI.py:1636 +#: flatcamGUI/ObjectUI.py:1665 msgid "Estimated time" msgstr "Durată estimată" -#: flatcamGUI/ObjectUI.py:1638 flatcamGUI/ObjectUI.py:1643 +#: flatcamGUI/ObjectUI.py:1667 flatcamGUI/ObjectUI.py:1672 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -7663,11 +8200,11 @@ msgstr "" "Acesta este timpul estimat pentru efectuarea traseului / găuririi,\n" "fără timpul petrecut în evenimentele ToolChange." -#: flatcamGUI/ObjectUI.py:1678 +#: flatcamGUI/ObjectUI.py:1707 msgid "CNC Tools Table" msgstr "Tabela Unelte CNC" -#: flatcamGUI/ObjectUI.py:1681 +#: flatcamGUI/ObjectUI.py:1710 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -7688,24 +8225,24 @@ msgstr "" "Shape\n" "(cu forma in V)." -#: flatcamGUI/ObjectUI.py:1710 +#: flatcamGUI/ObjectUI.py:1739 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1722 +#: flatcamGUI/ObjectUI.py:1751 msgid "Update Plot" msgstr "Actualiz. afișare" -#: flatcamGUI/ObjectUI.py:1724 +#: flatcamGUI/ObjectUI.py:1753 msgid "Update the plot." msgstr "Actualizează afișarea obiectelor." -#: flatcamGUI/ObjectUI.py:1731 flatcamGUI/PreferencesUI.py:3551 +#: flatcamGUI/ObjectUI.py:1760 flatcamGUI/PreferencesUI.py:3627 msgid "Export CNC Code" msgstr "Exporta codul masina CNC" -#: flatcamGUI/ObjectUI.py:1733 flatcamGUI/PreferencesUI.py:3502 -#: flatcamGUI/PreferencesUI.py:3553 +#: flatcamGUI/ObjectUI.py:1762 flatcamGUI/PreferencesUI.py:3569 +#: flatcamGUI/PreferencesUI.py:3629 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -7713,11 +8250,11 @@ msgstr "" "Exportă și salvează codul G-Code intr-un fişier\n" "care este salvat pe HDD." -#: flatcamGUI/ObjectUI.py:1739 +#: flatcamGUI/ObjectUI.py:1768 msgid "Prepend to CNC Code" msgstr "Adaugă la inceput in codul G-Code" -#: flatcamGUI/ObjectUI.py:1741 flatcamGUI/PreferencesUI.py:3518 +#: flatcamGUI/ObjectUI.py:1770 flatcamGUI/PreferencesUI.py:3585 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -7725,11 +8262,23 @@ msgstr "" "Adaugă aici orice comenzi G-Code care se dorește să fie\n" "inserate la inceputul codului G-Code." -#: flatcamGUI/ObjectUI.py:1750 +#: flatcamGUI/ObjectUI.py:1777 flatcamGUI/PreferencesUI.py:3592 +#, fuzzy +#| msgid "" +#| "Type here any G-Code commands you would\n" +#| "like to add at the beginning of the G-Code file." +msgid "" +"Type here any G-Code commands you would like to add at the beginning of the " +"G-Code file." +msgstr "" +"Adaugă aici orice comenzi G-Code care se dorește să fie\n" +"inserate la inceputul codului G-Code." + +#: flatcamGUI/ObjectUI.py:1783 msgid "Append to CNC Code" msgstr "Adaugă la sfârşit in codul G-Code" -#: flatcamGUI/ObjectUI.py:1752 flatcamGUI/PreferencesUI.py:3530 +#: flatcamGUI/ObjectUI.py:1785 flatcamGUI/PreferencesUI.py:3601 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -7738,11 +8287,24 @@ msgstr "" "Adaugă aici orice comenzi G-Code care se dorește să fie\n" "inserate la sfârşitul codului G-Code." -#: flatcamGUI/ObjectUI.py:1769 flatcamGUI/PreferencesUI.py:3559 +#: flatcamGUI/ObjectUI.py:1793 flatcamGUI/PreferencesUI.py:3609 +#, fuzzy +#| msgid "" +#| "Type here any G-Code commands you would\n" +#| "like to append to the generated file.\n" +#| "I.e.: M2 (End of program)" +msgid "" +"Type here any G-Code commands you would like to append to the generated " +"file. I.e.: M2 (End of program)" +msgstr "" +"Adaugă aici orice comenzi G-Code care se dorește să fie\n" +"inserate la sfârşitul codului G-Code." + +#: flatcamGUI/ObjectUI.py:1807 flatcamGUI/PreferencesUI.py:3635 msgid "Toolchange G-Code" msgstr "G-Code pt schimb unealtă" -#: flatcamGUI/ObjectUI.py:1772 flatcamGUI/PreferencesUI.py:3562 +#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:3638 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" @@ -7764,11 +8326,40 @@ msgstr "" "'toolchange_custom'\n" "in numele sau." -#: flatcamGUI/ObjectUI.py:1791 flatcamGUI/PreferencesUI.py:3590 +#: flatcamGUI/ObjectUI.py:1825 flatcamGUI/PreferencesUI.py:3661 +#, fuzzy +#| 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." +msgid "" +"Type here any G-Code commands you would like to be executed when Toolchange " +"event is encountered. This will constitute a Custom Toolchange GCode, or a " +"Toolchange Macro. The FlatCAM variables are surrounded by '%' symbol. \n" +"WARNING: it can be used only with a postprocessor file that has " +"'toolchange_custom' in it's name." +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:1840 flatcamGUI/PreferencesUI.py:3677 msgid "Use Toolchange Macro" msgstr "Fol. Macro schimb unealtă" -#: flatcamGUI/ObjectUI.py:1793 flatcamGUI/PreferencesUI.py:3592 +#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:3679 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -7776,7 +8367,7 @@ msgstr "" "Bifează aici daca dorești să folosești Macro pentru\n" "schimb unelte." -#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:3604 +#: flatcamGUI/ObjectUI.py:1850 flatcamGUI/PreferencesUI.py:3691 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -7786,70 +8377,72 @@ msgstr "" "de schimb al uneltei (când se intalneste comanda M6).\n" "Este necesar să fie inconjurate de simbolul '%'" -#: flatcamGUI/ObjectUI.py:1808 flatcamGUI/PreferencesUI.py:1662 -#: flatcamGUI/PreferencesUI.py:2613 flatcamGUI/PreferencesUI.py:3319 -#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3692 -#: flatcamGUI/PreferencesUI.py:3967 flatcamGUI/PreferencesUI.py:4079 -#: flatcamGUI/PreferencesUI.py:4302 flatcamGUI/PreferencesUI.py:4500 -#: flatcamGUI/PreferencesUI.py:4749 flatcamGUI/PreferencesUI.py:4924 -#: flatcamGUI/PreferencesUI.py:5097 flatcamGUI/PreferencesUI.py:5119 -#: flatcamGUI/PreferencesUI.py:5343 flatcamTools/ToolNonCopperClear.py:287 +#: flatcamGUI/ObjectUI.py:1857 flatcamGUI/PreferencesUI.py:1686 +#: flatcamGUI/PreferencesUI.py:2654 flatcamGUI/PreferencesUI.py:3380 +#: flatcamGUI/PreferencesUI.py:3698 flatcamGUI/PreferencesUI.py:3780 +#: flatcamGUI/PreferencesUI.py:4074 flatcamGUI/PreferencesUI.py:4186 +#: flatcamGUI/PreferencesUI.py:4409 flatcamGUI/PreferencesUI.py:4607 +#: flatcamGUI/PreferencesUI.py:4858 flatcamGUI/PreferencesUI.py:5034 +#: flatcamGUI/PreferencesUI.py:5258 flatcamGUI/PreferencesUI.py:5280 +#: flatcamGUI/PreferencesUI.py:5504 flatcamGUI/PreferencesUI.py:5541 +#: flatcamGUI/PreferencesUI.py:5735 flatcamTools/ToolCopperThieving.py:87 +#: flatcamTools/ToolNonCopperClear.py:315 msgid "Parameters" msgstr "Parametri" -#: flatcamGUI/ObjectUI.py:1811 flatcamGUI/PreferencesUI.py:3614 +#: flatcamGUI/ObjectUI.py:1860 flatcamGUI/PreferencesUI.py:3701 msgid "FlatCAM CNC parameters" msgstr "Parametri FlatCAM CNC" -#: flatcamGUI/ObjectUI.py:1812 flatcamGUI/PreferencesUI.py:3615 +#: flatcamGUI/ObjectUI.py:1861 flatcamGUI/PreferencesUI.py:3702 msgid "tool number" msgstr "numărul uneltei" -#: flatcamGUI/ObjectUI.py:1813 flatcamGUI/PreferencesUI.py:3616 +#: flatcamGUI/ObjectUI.py:1862 flatcamGUI/PreferencesUI.py:3703 msgid "tool diameter" msgstr "diametrul sculei" -#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:3617 +#: flatcamGUI/ObjectUI.py:1863 flatcamGUI/PreferencesUI.py:3704 msgid "for Excellon, total number of drills" msgstr "pentru Excellon, numărul total de operațiuni găurire" -#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:3619 +#: flatcamGUI/ObjectUI.py:1865 flatcamGUI/PreferencesUI.py:3706 msgid "X coord for Toolchange" msgstr "Coordonata X pentru schimbarea uneltei" -#: flatcamGUI/ObjectUI.py:1817 +#: flatcamGUI/ObjectUI.py:1866 flatcamGUI/PreferencesUI.py:3707 msgid "Y coord for Toolchange" msgstr "Coordonata Y pentru schimbarea uneltei" -#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/PreferencesUI.py:3622 +#: flatcamGUI/ObjectUI.py:1867 flatcamGUI/PreferencesUI.py:3709 msgid "Z coord for Toolchange" msgstr "Coordonata Z pentru schimbarea uneltei" -#: flatcamGUI/ObjectUI.py:1819 +#: flatcamGUI/ObjectUI.py:1868 msgid "depth where to cut" msgstr "adâncimea de tăiere" -#: flatcamGUI/ObjectUI.py:1820 +#: flatcamGUI/ObjectUI.py:1869 msgid "height where to travel" msgstr "inălţimea deplasare" -#: flatcamGUI/ObjectUI.py:1821 flatcamGUI/PreferencesUI.py:3625 +#: flatcamGUI/ObjectUI.py:1870 flatcamGUI/PreferencesUI.py:3712 msgid "the step value for multidepth cut" msgstr "pasul pentru taierea progresiva" -#: flatcamGUI/ObjectUI.py:1823 flatcamGUI/PreferencesUI.py:3627 +#: flatcamGUI/ObjectUI.py:1872 flatcamGUI/PreferencesUI.py:3714 msgid "the value for the spindle speed" msgstr "valoarea viteza motor" -#: flatcamGUI/ObjectUI.py:1825 +#: flatcamGUI/ObjectUI.py:1874 msgid "time to dwell to allow the spindle to reach it's set RPM" msgstr "durata de asteptare ca motorul să ajunga la turatia setată" -#: flatcamGUI/ObjectUI.py:1841 +#: flatcamGUI/ObjectUI.py:1890 msgid "View CNC Code" msgstr "Vizualiz. codul CNC" -#: flatcamGUI/ObjectUI.py:1843 +#: flatcamGUI/ObjectUI.py:1892 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." @@ -7857,11 +8450,11 @@ msgstr "" "Deschide un nou tab pentru a vizualiza, modifica\n" "sau tipari codul G-Code." -#: flatcamGUI/ObjectUI.py:1848 +#: flatcamGUI/ObjectUI.py:1897 msgid "Save CNC Code" msgstr "Salvează codul CNC" -#: flatcamGUI/ObjectUI.py:1850 +#: flatcamGUI/ObjectUI.py:1899 msgid "" "Opens dialog to save G-Code\n" "file." @@ -7869,83 +8462,83 @@ msgstr "" "Deshide o fereastra dialog pentru salvarea codului\n" "G-Code intr-un fişier." -#: flatcamGUI/ObjectUI.py:1870 +#: flatcamGUI/ObjectUI.py:1919 msgid "Script Object" msgstr "Editare Script" -#: flatcamGUI/ObjectUI.py:1889 flatcamGUI/ObjectUI.py:1948 +#: flatcamGUI/ObjectUI.py:1938 flatcamGUI/ObjectUI.py:1997 msgid "Auto Completer" msgstr "Autocompletare" -#: flatcamGUI/ObjectUI.py:1891 +#: flatcamGUI/ObjectUI.py:1940 msgid "This selects if the auto completer is enabled in the Script Editor." msgstr "" "Aceasta selectează dacă completatorul automat este activat în Script Editor." -#: flatcamGUI/ObjectUI.py:1922 +#: flatcamGUI/ObjectUI.py:1971 msgid "Document Object" msgstr "Obiect document" -#: flatcamGUI/ObjectUI.py:1950 +#: flatcamGUI/ObjectUI.py:1999 msgid "This selects if the auto completer is enabled in the Document Editor." msgstr "" "Aceasta selectează dacă completatorul automat este activat în Editorul de " "documente." -#: flatcamGUI/ObjectUI.py:1968 +#: flatcamGUI/ObjectUI.py:2017 msgid "Font Type" msgstr "Tipul Font" -#: flatcamGUI/ObjectUI.py:1985 +#: flatcamGUI/ObjectUI.py:2034 msgid "Font Size" msgstr "Dim. Font" -#: flatcamGUI/ObjectUI.py:2021 +#: flatcamGUI/ObjectUI.py:2070 msgid "Alignment" msgstr "Aliniere" -#: flatcamGUI/ObjectUI.py:2026 +#: flatcamGUI/ObjectUI.py:2075 msgid "Align Left" msgstr "Aliniați la stânga" -#: flatcamGUI/ObjectUI.py:2031 +#: flatcamGUI/ObjectUI.py:2080 msgid "Center" msgstr "Centru" -#: flatcamGUI/ObjectUI.py:2036 +#: flatcamGUI/ObjectUI.py:2085 msgid "Align Right" msgstr "Aliniați la dreapta" -#: flatcamGUI/ObjectUI.py:2041 +#: flatcamGUI/ObjectUI.py:2090 msgid "Justify" msgstr "Aliniere duala" -#: flatcamGUI/ObjectUI.py:2048 +#: flatcamGUI/ObjectUI.py:2097 msgid "Font Color" msgstr "Culoare FOnt" -#: flatcamGUI/ObjectUI.py:2050 +#: flatcamGUI/ObjectUI.py:2099 msgid "Set the font color for the selected text" msgstr "Setați culoarea fontului pentru textul selectat" -#: flatcamGUI/ObjectUI.py:2064 +#: flatcamGUI/ObjectUI.py:2113 msgid "Selection Color" msgstr "Culoare de selecție" -#: flatcamGUI/ObjectUI.py:2066 +#: flatcamGUI/ObjectUI.py:2115 msgid "Set the selection color when doing text selection." msgstr "Setați culoarea de selecție atunci când faceți selecția textului." -#: flatcamGUI/ObjectUI.py:2080 +#: flatcamGUI/ObjectUI.py:2129 msgid "Tab Size" msgstr "Dimens. filei" -#: flatcamGUI/ObjectUI.py:2082 +#: flatcamGUI/ObjectUI.py:2131 msgid "Set the tab size. In pixels. Default value is 80 pixels." msgstr "" "Setați dimensiunea filei. În pixeli. Valoarea implicită este de 80 pixeli." -#: flatcamGUI/PlotCanvasLegacy.py:1082 +#: flatcamGUI/PlotCanvasLegacy.py:1086 msgid "" "Could not annotate due of a difference between the number of text elements " "and the number of text positions." @@ -7953,35 +8546,35 @@ msgstr "" "Nu s-a putut adnota datorită unei diferențe între numărul de elemente de " "text și numărul de locații de text." -#: flatcamGUI/PreferencesUI.py:295 +#: flatcamGUI/PreferencesUI.py:306 msgid "GUI Preferences" msgstr "Preferințe GUI" -#: flatcamGUI/PreferencesUI.py:301 +#: flatcamGUI/PreferencesUI.py:312 msgid "Grid X value" msgstr "Valoarea Grid_X" -#: flatcamGUI/PreferencesUI.py:303 +#: flatcamGUI/PreferencesUI.py:314 msgid "This is the Grid snap value on X axis." msgstr "Aceasta este valoare pentru lipire pe Grid pe axa X." -#: flatcamGUI/PreferencesUI.py:310 +#: flatcamGUI/PreferencesUI.py:321 msgid "Grid Y value" msgstr "Valoarea Grid_Y" -#: flatcamGUI/PreferencesUI.py:312 +#: flatcamGUI/PreferencesUI.py:323 msgid "This is the Grid snap value on Y axis." msgstr "Aceasta este valoare pentru lipire pe Grid pe axa Y." -#: flatcamGUI/PreferencesUI.py:319 +#: flatcamGUI/PreferencesUI.py:330 msgid "Snap Max" msgstr "Lipire Max" -#: flatcamGUI/PreferencesUI.py:326 +#: flatcamGUI/PreferencesUI.py:337 msgid "Workspace" msgstr "Spatiu de lucru" -#: flatcamGUI/PreferencesUI.py:328 +#: flatcamGUI/PreferencesUI.py:339 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." @@ -7989,11 +8582,11 @@ msgstr "" "Desenează un patrulater care delimitează o suprafată de lucru.\n" "Scopul este de a ilustra limitele suprafetei noastre de lucru." -#: flatcamGUI/PreferencesUI.py:331 +#: flatcamGUI/PreferencesUI.py:342 msgid "Wk. format" msgstr "Format SL" -#: flatcamGUI/PreferencesUI.py:333 +#: flatcamGUI/PreferencesUI.py:344 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." @@ -8001,11 +8594,11 @@ msgstr "" "Selectează tipul de patrulater care va fi desenat pe canvas,\n" "pentru a delimita suprafata de lucru disponibilă (SL)." -#: flatcamGUI/PreferencesUI.py:346 +#: flatcamGUI/PreferencesUI.py:357 msgid "Plot Fill" msgstr "Culoare Afișare" -#: flatcamGUI/PreferencesUI.py:348 +#: flatcamGUI/PreferencesUI.py:359 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" @@ -8015,28 +8608,28 @@ msgstr "" "Primii 6 digiti sunt culoarea efectivă și ultimii\n" "doi sunt pentru nivelul de transparenţă (alfa)." -#: flatcamGUI/PreferencesUI.py:362 flatcamGUI/PreferencesUI.py:411 -#: flatcamGUI/PreferencesUI.py:460 +#: flatcamGUI/PreferencesUI.py:373 flatcamGUI/PreferencesUI.py:422 +#: flatcamGUI/PreferencesUI.py:471 msgid "Alpha Level" msgstr "Nivel Alfa" -#: flatcamGUI/PreferencesUI.py:364 +#: flatcamGUI/PreferencesUI.py:375 msgid "Set the fill transparency for plotted objects." msgstr "Setează nivelul de transparenţă pentru obiectele afisate." -#: flatcamGUI/PreferencesUI.py:380 +#: flatcamGUI/PreferencesUI.py:391 msgid "Plot Line" msgstr "Culoare contur" -#: flatcamGUI/PreferencesUI.py:382 +#: flatcamGUI/PreferencesUI.py:393 msgid "Set the line color for plotted objects." msgstr "Setează culoarea conturului." -#: flatcamGUI/PreferencesUI.py:394 +#: flatcamGUI/PreferencesUI.py:405 msgid "Sel. Fill" msgstr "Culoare Selecţie" -#: flatcamGUI/PreferencesUI.py:396 +#: flatcamGUI/PreferencesUI.py:407 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -8048,27 +8641,27 @@ msgstr "" "Primii 6 digiti sunt culoarea efectivă și ultimii\n" "doi sunt pentru nivelul de transparenţă (alfa)." -#: flatcamGUI/PreferencesUI.py:413 +#: flatcamGUI/PreferencesUI.py:424 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" "Setează transparenţa formei de selecţie când selectia\n" "se face de la stânga la dreapta." -#: flatcamGUI/PreferencesUI.py:429 +#: flatcamGUI/PreferencesUI.py:440 msgid "Sel. Line" msgstr "Contur Selecţie" -#: flatcamGUI/PreferencesUI.py:431 +#: flatcamGUI/PreferencesUI.py:442 msgid "Set the line color for the 'left to right' selection box." msgstr "" "Setează transparenţa conturului formei de selecţie\n" "când selectia se face de la stânga la dreapta." -#: flatcamGUI/PreferencesUI.py:443 +#: flatcamGUI/PreferencesUI.py:454 msgid "Sel2. Fill" msgstr "Culoare Selecţie 2" -#: flatcamGUI/PreferencesUI.py:445 +#: flatcamGUI/PreferencesUI.py:456 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -8080,53 +8673,53 @@ msgstr "" "Primii 6 digiti sunt culoarea efectiva și ultimii\n" "doi sunt pentru nivelul de transparenţă (alfa)." -#: flatcamGUI/PreferencesUI.py:462 +#: flatcamGUI/PreferencesUI.py:473 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" "Setează transparenţa formei de selecţie când selectia\n" "se face de la dreapta la stânga." -#: flatcamGUI/PreferencesUI.py:478 +#: flatcamGUI/PreferencesUI.py:489 msgid "Sel2. Line" msgstr "Contur Selecţie 2" -#: flatcamGUI/PreferencesUI.py:480 +#: flatcamGUI/PreferencesUI.py:491 msgid "Set the line color for the 'right to left' selection box." msgstr "" "Setează transparenţa conturului formei de selecţie\n" "când selectia se face de la dreapta la stânga." -#: flatcamGUI/PreferencesUI.py:492 +#: flatcamGUI/PreferencesUI.py:503 msgid "Editor Draw" msgstr "Desen Editor" -#: flatcamGUI/PreferencesUI.py:494 +#: flatcamGUI/PreferencesUI.py:505 msgid "Set the color for the shape." msgstr "Setează culoarea pentru forma geometrică din Editor." -#: flatcamGUI/PreferencesUI.py:506 +#: flatcamGUI/PreferencesUI.py:517 msgid "Editor Draw Sel." msgstr "Sel. Desen Editor" -#: flatcamGUI/PreferencesUI.py:508 +#: flatcamGUI/PreferencesUI.py:519 msgid "Set the color of the shape when selected." msgstr "" "Setează culoarea formei geometrice in Editor\n" "când se face o selecţie." -#: flatcamGUI/PreferencesUI.py:520 +#: flatcamGUI/PreferencesUI.py:531 msgid "Project Items" msgstr "Elemente Proiect" -#: flatcamGUI/PreferencesUI.py:522 +#: flatcamGUI/PreferencesUI.py:533 msgid "Set the color of the items in Project Tab Tree." msgstr "Setează culoarea elementelor din tab-ul Proiect." -#: flatcamGUI/PreferencesUI.py:533 +#: flatcamGUI/PreferencesUI.py:544 msgid "Proj. Dis. Items" msgstr "Elem. Proi. dezactivate" -#: flatcamGUI/PreferencesUI.py:535 +#: flatcamGUI/PreferencesUI.py:546 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." @@ -8134,23 +8727,23 @@ msgstr "" "Setează culoarea elementelor din tab-ul Proiect\n" "in cazul in care elementele sunt dezactivate." -#: flatcamGUI/PreferencesUI.py:548 +#: flatcamGUI/PreferencesUI.py:559 msgid "Activity Icon" msgstr "Icon activitare" -#: flatcamGUI/PreferencesUI.py:550 +#: flatcamGUI/PreferencesUI.py:561 msgid "Select the GIF that show activity when FlatCAM is active." msgstr "Selectați GIF-ul care arată activitatea când FlatCAM este activ." -#: flatcamGUI/PreferencesUI.py:596 +#: flatcamGUI/PreferencesUI.py:607 msgid "GUI Settings" msgstr "Setări GUI" -#: flatcamGUI/PreferencesUI.py:609 +#: flatcamGUI/PreferencesUI.py:620 msgid "Theme" msgstr "Temă" -#: flatcamGUI/PreferencesUI.py:611 +#: flatcamGUI/PreferencesUI.py:622 msgid "" "Select a theme for FlatCAM.\n" "The application will restart after change." @@ -8158,19 +8751,19 @@ msgstr "" "Selectați o temă pentru FlatCAM.\n" "Aplicația va reporni după modificare." -#: flatcamGUI/PreferencesUI.py:615 +#: flatcamGUI/PreferencesUI.py:626 msgid "Light" msgstr "Luminos" -#: flatcamGUI/PreferencesUI.py:616 +#: flatcamGUI/PreferencesUI.py:627 msgid "Dark" msgstr "Întunecat" -#: flatcamGUI/PreferencesUI.py:623 +#: flatcamGUI/PreferencesUI.py:634 msgid "Layout" msgstr "Amplasare" -#: flatcamGUI/PreferencesUI.py:625 +#: flatcamGUI/PreferencesUI.py:636 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." @@ -8178,11 +8771,11 @@ msgstr "" "Selectează un stil de amplasare a elementelor GUI in FlatCAM.\n" "Se aplică imediat." -#: flatcamGUI/PreferencesUI.py:644 +#: flatcamGUI/PreferencesUI.py:655 msgid "Style" msgstr "Stil" -#: flatcamGUI/PreferencesUI.py:646 +#: flatcamGUI/PreferencesUI.py:657 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." @@ -8190,11 +8783,11 @@ msgstr "" "Selectează un stil pentru FlatCAM.\n" "Se va aplic la următoarea pornire a aplicaţiei." -#: flatcamGUI/PreferencesUI.py:660 +#: flatcamGUI/PreferencesUI.py:671 msgid "HDPI Support" msgstr "Suport H-DPI" -#: flatcamGUI/PreferencesUI.py:662 +#: flatcamGUI/PreferencesUI.py:673 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." @@ -8203,11 +8796,11 @@ msgstr "" "Util pentru monitoarele 4k.\n" "Va fi aplicată la următoarea pornire a aplicaţiei." -#: flatcamGUI/PreferencesUI.py:678 flatcamGUI/PreferencesUI.py:928 +#: flatcamGUI/PreferencesUI.py:689 flatcamGUI/PreferencesUI.py:939 msgid "Clear GUI Settings" msgstr "Șterge Setările GUI" -#: flatcamGUI/PreferencesUI.py:680 +#: flatcamGUI/PreferencesUI.py:691 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." @@ -8215,11 +8808,11 @@ msgstr "" "Șterge setările GUI pentru FlatCAM,\n" "cum ar fi: amplasare, stare UI, suport HDPI sau traducerea." -#: flatcamGUI/PreferencesUI.py:690 +#: flatcamGUI/PreferencesUI.py:701 msgid "Hover Shape" msgstr "Forma Hover" -#: flatcamGUI/PreferencesUI.py:692 +#: flatcamGUI/PreferencesUI.py:703 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" @@ -8229,11 +8822,11 @@ msgstr "" "in canvas-ul FlatCAM. Forma este afișată doar dacă obiectul \n" "nu este selectat." -#: flatcamGUI/PreferencesUI.py:702 +#: flatcamGUI/PreferencesUI.py:713 msgid "Sel. Shape" msgstr "Forma Sel." -#: flatcamGUI/PreferencesUI.py:704 +#: flatcamGUI/PreferencesUI.py:715 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -8245,11 +8838,11 @@ msgstr "" "pe canvas-ul FlatCAM fie făcând click pe obiect fie prin\n" "crearea unei ferestre de selectie." -#: flatcamGUI/PreferencesUI.py:717 +#: flatcamGUI/PreferencesUI.py:728 msgid "NB Font Size" msgstr "Dim. font NB" -#: flatcamGUI/PreferencesUI.py:719 +#: flatcamGUI/PreferencesUI.py:730 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" @@ -8260,19 +8853,19 @@ msgstr "" "Notebook-ul este zona pliabilă din partea stângă a GUI,\n" "și include filele Proiect, Selectat și Unelte." -#: flatcamGUI/PreferencesUI.py:738 +#: flatcamGUI/PreferencesUI.py:749 msgid "Axis Font Size" msgstr "Dim. font axe" -#: flatcamGUI/PreferencesUI.py:740 +#: flatcamGUI/PreferencesUI.py:751 msgid "This sets the font size for canvas axis." msgstr "Aceasta setează dimensiunea fontului pentru axele zonei de afisare." -#: flatcamGUI/PreferencesUI.py:757 +#: flatcamGUI/PreferencesUI.py:768 msgid "Textbox Font Size" msgstr "Dim. font Textbox" -#: flatcamGUI/PreferencesUI.py:759 +#: flatcamGUI/PreferencesUI.py:770 msgid "" "This sets the font size for the Textbox GUI\n" "elements that are used in FlatCAM." @@ -8280,27 +8873,27 @@ msgstr "" "Aceasta setează dimensiunea fontului pentru elementele \n" "interfața GUI care sunt utilizate în FlatCAM." -#: flatcamGUI/PreferencesUI.py:780 +#: flatcamGUI/PreferencesUI.py:791 msgid "Splash Screen" msgstr "Ecran Pornire" -#: flatcamGUI/PreferencesUI.py:782 +#: flatcamGUI/PreferencesUI.py:793 msgid "Enable display of the splash screen at application startup." msgstr "Activeaza afisarea unui ecran de pornire la pornirea aplicatiei." -#: flatcamGUI/PreferencesUI.py:795 +#: flatcamGUI/PreferencesUI.py:806 msgid "Sys Tray Icon" msgstr "Icon in Sys Tray" -#: flatcamGUI/PreferencesUI.py:797 +#: flatcamGUI/PreferencesUI.py:808 msgid "Enable display of FlatCAM icon in Sys Tray." msgstr "Activare pentru afișarea pictogramei FlatCAM în Sys Tray." -#: flatcamGUI/PreferencesUI.py:805 +#: flatcamGUI/PreferencesUI.py:816 msgid "Shell at StartUp" msgstr "Shell la pornire" -#: flatcamGUI/PreferencesUI.py:807 flatcamGUI/PreferencesUI.py:812 +#: flatcamGUI/PreferencesUI.py:818 flatcamGUI/PreferencesUI.py:823 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." @@ -8309,11 +8902,11 @@ msgstr "" "automata a ferestrei Shell (linia de comanda)\n" "la initializarea aplicaţiei." -#: flatcamGUI/PreferencesUI.py:820 +#: flatcamGUI/PreferencesUI.py:831 msgid "Project at StartUp" msgstr "Proiect la pornire" -#: flatcamGUI/PreferencesUI.py:822 flatcamGUI/PreferencesUI.py:827 +#: flatcamGUI/PreferencesUI.py:833 flatcamGUI/PreferencesUI.py:838 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." @@ -8321,11 +8914,11 @@ msgstr "" "Bifează aici daca dorești ca zona Notebook să fie\n" "afișată automat la pornire." -#: flatcamGUI/PreferencesUI.py:835 +#: flatcamGUI/PreferencesUI.py:846 msgid "Project AutoHide" msgstr "Ascundere Proiect" -#: flatcamGUI/PreferencesUI.py:837 flatcamGUI/PreferencesUI.py:843 +#: flatcamGUI/PreferencesUI.py:848 flatcamGUI/PreferencesUI.py:854 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" @@ -8335,11 +8928,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/PreferencesUI.py:854 +#: flatcamGUI/PreferencesUI.py:865 msgid "Enable ToolTips" msgstr "Activează ToolTip-uri" -#: flatcamGUI/PreferencesUI.py:856 flatcamGUI/PreferencesUI.py:861 +#: flatcamGUI/PreferencesUI.py:867 flatcamGUI/PreferencesUI.py:872 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." @@ -8347,11 +8940,11 @@ msgstr "" "Bifează daca dorești ca să fie afisate texte explicative când se\n" "tine mouse-ul deasupra diverselor texte din FlatCAM." -#: flatcamGUI/PreferencesUI.py:869 +#: flatcamGUI/PreferencesUI.py:880 msgid "Mouse Cursor" msgstr "Cursor de mouse" -#: flatcamGUI/PreferencesUI.py:871 +#: flatcamGUI/PreferencesUI.py:882 msgid "" "Choose a mouse cursor shape.\n" "- Small -> with a customizable size.\n" @@ -8361,27 +8954,27 @@ msgstr "" "- Mic -> cu o dimensiune personalizabilă.\n" "- Mare -> Linii infinite" -#: flatcamGUI/PreferencesUI.py:877 +#: flatcamGUI/PreferencesUI.py:888 msgid "Small" msgstr "Mic" -#: flatcamGUI/PreferencesUI.py:878 +#: flatcamGUI/PreferencesUI.py:889 msgid "Big" msgstr "Mare" -#: flatcamGUI/PreferencesUI.py:884 +#: flatcamGUI/PreferencesUI.py:895 msgid "Mouse Cursor Size" msgstr "Mărimea cursor mouse" -#: flatcamGUI/PreferencesUI.py:886 +#: flatcamGUI/PreferencesUI.py:897 msgid "Set the size of the mouse cursor, in pixels." msgstr "Setați dimensiunea cursorului mouse-ului, în pixeli." -#: flatcamGUI/PreferencesUI.py:897 +#: flatcamGUI/PreferencesUI.py:908 msgid "Delete object confirmation" msgstr "Confirmare de ștergere a obiectului" -#: flatcamGUI/PreferencesUI.py:899 +#: flatcamGUI/PreferencesUI.py:910 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" @@ -8391,22 +8984,22 @@ msgstr "" "ori de câte ori este declanșat evenimentul de Ștergere a \n" "unor obiecte, fie de cu ajutorul meniurilor sau cu combinatii de taste." -#: flatcamGUI/PreferencesUI.py:925 +#: flatcamGUI/PreferencesUI.py:936 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/PreferencesUI.py:949 +#: flatcamGUI/PreferencesUI.py:960 msgid "App Preferences" msgstr "Preferințele Aplicaţie" -#: flatcamGUI/PreferencesUI.py:958 flatcamGUI/PreferencesUI.py:1241 -#: flatcamGUI/PreferencesUI.py:1575 flatcamGUI/PreferencesUI.py:2476 +#: flatcamGUI/PreferencesUI.py:969 flatcamGUI/PreferencesUI.py:1265 +#: flatcamGUI/PreferencesUI.py:1599 flatcamGUI/PreferencesUI.py:2517 #: flatcamTools/ToolDistance.py:47 flatcamTools/ToolDistanceMin.py:48 #: flatcamTools/ToolPcbWizard.py:126 flatcamTools/ToolProperties.py:138 msgid "Units" msgstr "Unităti" -#: flatcamGUI/PreferencesUI.py:959 +#: flatcamGUI/PreferencesUI.py:970 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" @@ -8415,22 +9008,22 @@ msgstr "" "Unitatea de masura pt FlatCAM.\n" "Este setată la fiecare pornire a programului." -#: flatcamGUI/PreferencesUI.py:962 +#: flatcamGUI/PreferencesUI.py:973 msgid "IN" msgstr "Inch" -#: flatcamGUI/PreferencesUI.py:963 flatcamGUI/PreferencesUI.py:1247 -#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:2035 -#: flatcamGUI/PreferencesUI.py:2482 flatcamTools/ToolCalculators.py:62 +#: flatcamGUI/PreferencesUI.py:974 flatcamGUI/PreferencesUI.py:1271 +#: flatcamGUI/PreferencesUI.py:1605 flatcamGUI/PreferencesUI.py:2059 +#: flatcamGUI/PreferencesUI.py:2523 flatcamTools/ToolCalculators.py:62 #: flatcamTools/ToolPcbWizard.py:125 msgid "MM" msgstr "MM" -#: flatcamGUI/PreferencesUI.py:969 +#: flatcamGUI/PreferencesUI.py:980 msgid "Graphic Engine" msgstr "Motor grafic" -#: flatcamGUI/PreferencesUI.py:970 +#: flatcamGUI/PreferencesUI.py:981 msgid "" "Choose what graphic engine to use in FlatCAM.\n" "Legacy(2D) -> reduced functionality, slow performance but enhanced " @@ -8449,19 +9042,19 @@ msgstr "" "Intel HD3000 sau mai vechi. În acest caz, suprafața de afisare va fi neagră\n" "prin urmare folosiți modul Legacy (2D)." -#: flatcamGUI/PreferencesUI.py:976 +#: flatcamGUI/PreferencesUI.py:987 msgid "Legacy(2D)" msgstr "Legacy(2D)" -#: flatcamGUI/PreferencesUI.py:977 +#: flatcamGUI/PreferencesUI.py:988 msgid "OpenGL(3D)" msgstr "OpenGL(3D)" -#: flatcamGUI/PreferencesUI.py:984 +#: flatcamGUI/PreferencesUI.py:995 msgid "APP. LEVEL" msgstr "Nivel aplicatie" -#: flatcamGUI/PreferencesUI.py:985 +#: flatcamGUI/PreferencesUI.py:996 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -8477,11 +9070,11 @@ msgstr "" "Alegerea efectuata aici va influenta ce aparamtri sunt disponibili\n" "in Tab-ul SELECTAT dar și in alte parti ale FlatCAM." -#: flatcamGUI/PreferencesUI.py:997 +#: flatcamGUI/PreferencesUI.py:1008 msgid "Portable app" msgstr "Aplicație portabilă" -#: flatcamGUI/PreferencesUI.py:998 +#: flatcamGUI/PreferencesUI.py:1009 msgid "" "Choose if the application should run as portable.\n" "\n" @@ -8495,19 +9088,19 @@ msgstr "" "ceea ce înseamnă că fișierele de preferințe vor fi salvate\n" "în folderul aplicației, în subfolderul lib \\ config." -#: flatcamGUI/PreferencesUI.py:1008 +#: flatcamGUI/PreferencesUI.py:1019 msgid "Languages" msgstr "Traduceri" -#: flatcamGUI/PreferencesUI.py:1009 +#: flatcamGUI/PreferencesUI.py:1020 msgid "Set the language used throughout FlatCAM." msgstr "Setează limba folosita pentru textele din FlatCAM." -#: flatcamGUI/PreferencesUI.py:1015 +#: flatcamGUI/PreferencesUI.py:1026 msgid "Apply Language" msgstr "Aplica Traducere" -#: flatcamGUI/PreferencesUI.py:1016 +#: flatcamGUI/PreferencesUI.py:1027 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in " @@ -8523,11 +9116,11 @@ msgstr "" "Program Files este posibil ca aplicatia să nu se restarteze\n" "după click datorită unor setări de securitate ale Windows." -#: flatcamGUI/PreferencesUI.py:1028 +#: flatcamGUI/PreferencesUI.py:1039 msgid "Version Check" msgstr "Verificare versiune" -#: flatcamGUI/PreferencesUI.py:1030 flatcamGUI/PreferencesUI.py:1035 +#: flatcamGUI/PreferencesUI.py:1041 flatcamGUI/PreferencesUI.py:1046 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." @@ -8536,11 +9129,11 @@ msgstr "" "daca exista o versiune mai noua,\n" "la pornirea aplicaţiei." -#: flatcamGUI/PreferencesUI.py:1043 +#: flatcamGUI/PreferencesUI.py:1054 msgid "Send Stats" msgstr "Statistici" -#: flatcamGUI/PreferencesUI.py:1045 flatcamGUI/PreferencesUI.py:1050 +#: flatcamGUI/PreferencesUI.py:1056 flatcamGUI/PreferencesUI.py:1061 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." @@ -8550,11 +9143,11 @@ msgstr "" "aplicaţia. In acest fel dezvoltatorii vor sti unde să se focalizeze\n" "in crearea de inbunatatiri." -#: flatcamGUI/PreferencesUI.py:1060 +#: flatcamGUI/PreferencesUI.py:1071 msgid "Pan Button" msgstr "Buton Pan (mișcare)" -#: flatcamGUI/PreferencesUI.py:1061 +#: flatcamGUI/PreferencesUI.py:1072 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" @@ -8564,35 +9157,35 @@ msgstr "" "- MMB - butonul din mijloc al mouse-ului\n" "- RMB - butonul in dreapta al mouse-ului" -#: flatcamGUI/PreferencesUI.py:1064 +#: flatcamGUI/PreferencesUI.py:1075 msgid "MMB" msgstr "MMB" -#: flatcamGUI/PreferencesUI.py:1065 +#: flatcamGUI/PreferencesUI.py:1076 msgid "RMB" msgstr "RMB" -#: flatcamGUI/PreferencesUI.py:1071 +#: flatcamGUI/PreferencesUI.py:1082 msgid "Multiple Sel" msgstr "Sel. multiplă" -#: flatcamGUI/PreferencesUI.py:1072 +#: flatcamGUI/PreferencesUI.py:1083 msgid "Select the key used for multiple selection." msgstr "Selectează tasta folosita pentru selectia multipla." -#: flatcamGUI/PreferencesUI.py:1073 +#: flatcamGUI/PreferencesUI.py:1084 msgid "CTRL" msgstr "CTRL" -#: flatcamGUI/PreferencesUI.py:1074 +#: flatcamGUI/PreferencesUI.py:1085 msgid "SHIFT" msgstr "SHIFT" -#: flatcamGUI/PreferencesUI.py:1080 +#: flatcamGUI/PreferencesUI.py:1091 msgid "Workers number" msgstr "Număr de worker's" -#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:1091 +#: flatcamGUI/PreferencesUI.py:1093 flatcamGUI/PreferencesUI.py:1102 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -8608,11 +9201,11 @@ msgstr "" "Valoarea standard este 2.\n" "Dupa schimbarea valoarii, se va aplica la următoarea pornire a aplicatiei." -#: flatcamGUI/PreferencesUI.py:1104 +#: flatcamGUI/PreferencesUI.py:1115 msgid "Geo Tolerance" msgstr "Toleranta geometrică" -#: flatcamGUI/PreferencesUI.py:1106 flatcamGUI/PreferencesUI.py:1115 +#: flatcamGUI/PreferencesUI.py:1117 flatcamGUI/PreferencesUI.py:1126 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -8628,11 +9221,11 @@ msgstr "" "O valoare mai mare va oferi mai multă performantă dar in\n" "defavoarea nievelului de detalii." -#: flatcamGUI/PreferencesUI.py:1130 +#: flatcamGUI/PreferencesUI.py:1141 msgid "\"Open\" behavior" msgstr "Stil \"Încarcare\"" -#: flatcamGUI/PreferencesUI.py:1132 +#: flatcamGUI/PreferencesUI.py:1143 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" @@ -8650,11 +9243,11 @@ msgstr "" "ambele \n" "cazuri: fie că se deschide un fisier, fie că se salvează un fisier." -#: flatcamGUI/PreferencesUI.py:1141 +#: flatcamGUI/PreferencesUI.py:1152 msgid "Save Compressed Project" msgstr "Salvează Proiectul comprimat" -#: flatcamGUI/PreferencesUI.py:1143 +#: flatcamGUI/PreferencesUI.py:1154 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." @@ -8663,11 +9256,11 @@ msgstr "" "Când este bifat aici, se va salva o arhiva a proiectului\n" "lucru care poate reduce dimensiunea semnificativ." -#: flatcamGUI/PreferencesUI.py:1152 +#: flatcamGUI/PreferencesUI.py:1163 msgid "Compression" msgstr "Compresie" -#: flatcamGUI/PreferencesUI.py:1154 +#: flatcamGUI/PreferencesUI.py:1165 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" @@ -8678,11 +9271,11 @@ msgstr "" "dar cu consum redus de resurse in timp ce valoarea 9 cere multa memorie RAM\n" "și in plus, durează semnificativ mai mult." -#: flatcamGUI/PreferencesUI.py:1165 +#: flatcamGUI/PreferencesUI.py:1177 msgid "Bookmarks limit" msgstr "Limită nr. bookmark-uri" -#: flatcamGUI/PreferencesUI.py:1167 +#: flatcamGUI/PreferencesUI.py:1179 msgid "" "The maximum number of bookmarks that may be installed in the menu.\n" "The number of bookmarks in the bookmark manager may be greater\n" @@ -8692,16 +9285,29 @@ msgstr "" "Numărul de bookmark-uri în managerul de bookmark-uri poate fi mai mare\n" "dar meniul va conține doar atât de mult." -#: flatcamGUI/PreferencesUI.py:1187 +#: flatcamGUI/PreferencesUI.py:1188 +msgid "Allow Machinist Unsafe Settings" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1190 +msgid "" +"If checked, some of the application settings will be allowed\n" +"to have values that are usually unsafe to use.\n" +"Like Z travel negative values or Z Cut positive values.\n" +"It will applied at the next application start.\n" +"<>: Don't change this unless you know what you are doing !!!" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1211 msgid "Gerber General" msgstr "Gerber General" -#: flatcamGUI/PreferencesUI.py:1218 flatcamGUI/PreferencesUI.py:2917 -#: flatcamGUI/PreferencesUI.py:3416 +#: flatcamGUI/PreferencesUI.py:1242 flatcamGUI/PreferencesUI.py:2958 +#: flatcamGUI/PreferencesUI.py:3474 flatcamGUI/PreferencesUI.py:5743 msgid "Circle Steps" msgstr "Pași pt. cerc" -#: flatcamGUI/PreferencesUI.py:1220 +#: flatcamGUI/PreferencesUI.py:1244 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." @@ -8709,11 +9315,11 @@ msgstr "" "Numărul de segmente utilizate pentru\n" "aproximarea lineara a aperturilor Gerber circulare." -#: flatcamGUI/PreferencesUI.py:1232 +#: flatcamGUI/PreferencesUI.py:1256 msgid "Default Values" msgstr "Val. Implicite" -#: flatcamGUI/PreferencesUI.py:1234 +#: flatcamGUI/PreferencesUI.py:1258 msgid "" "Those values will be used as fallback values\n" "in case that they are not found in the Gerber file." @@ -8721,25 +9327,25 @@ msgstr "" "Aceste valori vor fi utilizate ca valori de baza\n" "în cazul în care acestea nu sunt găsite în fișierul Gerber." -#: flatcamGUI/PreferencesUI.py:1243 flatcamGUI/PreferencesUI.py:1249 -#: flatcamGUI/PreferencesUI.py:1577 flatcamGUI/PreferencesUI.py:1583 +#: flatcamGUI/PreferencesUI.py:1267 flatcamGUI/PreferencesUI.py:1273 +#: flatcamGUI/PreferencesUI.py:1601 flatcamGUI/PreferencesUI.py:1607 msgid "The units used in the Gerber file." msgstr "Unitătile de măsură folosite in fişierul Gerber." -#: flatcamGUI/PreferencesUI.py:1246 flatcamGUI/PreferencesUI.py:1580 -#: flatcamGUI/PreferencesUI.py:1936 flatcamGUI/PreferencesUI.py:2034 -#: flatcamGUI/PreferencesUI.py:2481 flatcamTools/ToolCalculators.py:61 +#: flatcamGUI/PreferencesUI.py:1270 flatcamGUI/PreferencesUI.py:1604 +#: flatcamGUI/PreferencesUI.py:1960 flatcamGUI/PreferencesUI.py:2058 +#: flatcamGUI/PreferencesUI.py:2522 flatcamTools/ToolCalculators.py:61 #: flatcamTools/ToolPcbWizard.py:124 msgid "INCH" msgstr "Inch" -#: flatcamGUI/PreferencesUI.py:1256 flatcamGUI/PreferencesUI.py:1629 -#: flatcamGUI/PreferencesUI.py:2549 +#: flatcamGUI/PreferencesUI.py:1280 flatcamGUI/PreferencesUI.py:1653 +#: flatcamGUI/PreferencesUI.py:2590 msgid "Zeros" msgstr "Zero-uri" -#: flatcamGUI/PreferencesUI.py:1259 flatcamGUI/PreferencesUI.py:1269 -#: flatcamGUI/PreferencesUI.py:1632 flatcamGUI/PreferencesUI.py:1642 +#: flatcamGUI/PreferencesUI.py:1283 flatcamGUI/PreferencesUI.py:1293 +#: flatcamGUI/PreferencesUI.py:1656 flatcamGUI/PreferencesUI.py:1666 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -8755,32 +9361,37 @@ msgstr "" "cele de la final sunt păstrate.\n" "(Invers fată de fişierele Excellon)." -#: flatcamGUI/PreferencesUI.py:1266 flatcamGUI/PreferencesUI.py:1639 -#: flatcamGUI/PreferencesUI.py:2010 flatcamGUI/PreferencesUI.py:2559 +#: flatcamGUI/PreferencesUI.py:1290 flatcamGUI/PreferencesUI.py:1663 +#: flatcamGUI/PreferencesUI.py:2034 flatcamGUI/PreferencesUI.py:2600 #: flatcamTools/ToolPcbWizard.py:110 msgid "LZ" msgstr "LZ" -#: flatcamGUI/PreferencesUI.py:1267 flatcamGUI/PreferencesUI.py:1640 -#: flatcamGUI/PreferencesUI.py:2011 flatcamGUI/PreferencesUI.py:2560 +#: flatcamGUI/PreferencesUI.py:1291 flatcamGUI/PreferencesUI.py:1664 +#: flatcamGUI/PreferencesUI.py:2035 flatcamGUI/PreferencesUI.py:2601 #: flatcamTools/ToolPcbWizard.py:111 msgid "TZ" msgstr "TZ" -#: flatcamGUI/PreferencesUI.py:1287 +#: flatcamGUI/PreferencesUI.py:1311 msgid "Gerber Options" msgstr "Opțiuni Gerber" -#: flatcamGUI/PreferencesUI.py:1430 +#: flatcamGUI/PreferencesUI.py:1372 flatcamGUI/PreferencesUI.py:3412 +#: flatcamGUI/PreferencesUI.py:3883 flatcamTools/ToolNonCopperClear.py:170 +msgid "Conv." +msgstr "Conv." + +#: flatcamGUI/PreferencesUI.py:1454 msgid "Gerber Adv. Options" msgstr "Opțiuni Av. Gerber" -#: flatcamGUI/PreferencesUI.py:1433 flatcamGUI/PreferencesUI.py:2335 -#: flatcamGUI/PreferencesUI.py:3163 +#: flatcamGUI/PreferencesUI.py:1457 flatcamGUI/PreferencesUI.py:2376 +#: flatcamGUI/PreferencesUI.py:3224 msgid "Advanced Options" msgstr "Opțiuni avansate" -#: flatcamGUI/PreferencesUI.py:1435 +#: flatcamGUI/PreferencesUI.py:1459 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -8791,11 +9402,11 @@ msgstr "" "când este selectat Nivelul Avansat pentru\n" "aplicaţie in Preferințe - > General." -#: flatcamGUI/PreferencesUI.py:1454 +#: flatcamGUI/PreferencesUI.py:1478 msgid "Table Show/Hide" msgstr "Arata/Ascunde Tabela" -#: flatcamGUI/PreferencesUI.py:1456 +#: flatcamGUI/PreferencesUI.py:1480 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -8805,7 +9416,7 @@ msgstr "" "când se ascunde aceasta, se vor șterge și toate\n" "posibil afisatele marcaje ale aperturilor." -#: flatcamGUI/PreferencesUI.py:1518 +#: flatcamGUI/PreferencesUI.py:1542 msgid "" "Buffering type:\n" "- None --> best performance, fast file loading but no so good display\n" @@ -8819,22 +9430,22 @@ msgstr "" "valoarea de bază.\n" "<>: Nu schimba această valoare decat dacă stii ce faci !!!" -#: flatcamGUI/PreferencesUI.py:1523 flatcamGUI/PreferencesUI.py:4478 +#: flatcamGUI/PreferencesUI.py:1547 flatcamGUI/PreferencesUI.py:4585 #: flatcamTools/ToolFilm.py:232 flatcamTools/ToolProperties.py:303 #: flatcamTools/ToolProperties.py:317 flatcamTools/ToolProperties.py:320 #: flatcamTools/ToolProperties.py:323 msgid "None" msgstr "Nimic" -#: flatcamGUI/PreferencesUI.py:1524 +#: flatcamGUI/PreferencesUI.py:1548 msgid "Full" msgstr "Complet" -#: flatcamGUI/PreferencesUI.py:1529 +#: flatcamGUI/PreferencesUI.py:1553 msgid "Simplify" msgstr "Simplifica" -#: flatcamGUI/PreferencesUI.py:1531 +#: flatcamGUI/PreferencesUI.py:1555 msgid "" "When checked all the Gerber polygons will be\n" "loaded with simplification having a set tolerance.\n" @@ -8844,23 +9455,23 @@ msgstr "" "încărcate simplificat cu o toleranță stabilită.\n" "<>: Nu schimbați acest lucru decât dacă știți ce faceți !!!" -#: flatcamGUI/PreferencesUI.py:1538 +#: flatcamGUI/PreferencesUI.py:1562 msgid "Tolerance" msgstr "Toleranta" -#: flatcamGUI/PreferencesUI.py:1539 +#: flatcamGUI/PreferencesUI.py:1563 msgid "Tolerance for polygon simplification." msgstr "Toleranță pentru simplificarea poligoanelor." -#: flatcamGUI/PreferencesUI.py:1561 +#: flatcamGUI/PreferencesUI.py:1585 msgid "Gerber Export" msgstr "Export Gerber" -#: flatcamGUI/PreferencesUI.py:1564 flatcamGUI/PreferencesUI.py:2465 +#: flatcamGUI/PreferencesUI.py:1588 flatcamGUI/PreferencesUI.py:2506 msgid "Export Options" msgstr "Opțiuni de Export" -#: flatcamGUI/PreferencesUI.py:1566 +#: flatcamGUI/PreferencesUI.py:1590 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -8869,11 +9480,11 @@ msgstr "" "se exporta un fişier Gerber folosind:\n" "File -> Exportă -> Exportă Gerber." -#: flatcamGUI/PreferencesUI.py:1589 flatcamGUI/PreferencesUI.py:2490 +#: flatcamGUI/PreferencesUI.py:1613 flatcamGUI/PreferencesUI.py:2531 msgid "Int/Decimals" msgstr "Înt/Zecimale" -#: flatcamGUI/PreferencesUI.py:1591 +#: flatcamGUI/PreferencesUI.py:1615 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -8881,7 +9492,7 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "intreagă si in partea fractională a numărului." -#: flatcamGUI/PreferencesUI.py:1604 +#: flatcamGUI/PreferencesUI.py:1628 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -8889,7 +9500,7 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "intreagă a coordonatelor Gerber." -#: flatcamGUI/PreferencesUI.py:1620 +#: flatcamGUI/PreferencesUI.py:1644 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -8897,16 +9508,16 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "zecimală a coordonatelor Gerber." -#: flatcamGUI/PreferencesUI.py:1664 +#: flatcamGUI/PreferencesUI.py:1688 msgid "A list of Gerber Editor parameters." msgstr "O listă de parametri ai Editorului Gerber." -#: flatcamGUI/PreferencesUI.py:1672 flatcamGUI/PreferencesUI.py:2623 -#: flatcamGUI/PreferencesUI.py:3329 +#: flatcamGUI/PreferencesUI.py:1696 flatcamGUI/PreferencesUI.py:2664 +#: flatcamGUI/PreferencesUI.py:3390 flatcamGUI/PreferencesUI.py:5704 msgid "Selection limit" msgstr "Limita selecţie" -#: flatcamGUI/PreferencesUI.py:1674 +#: flatcamGUI/PreferencesUI.py:1698 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -8919,23 +9530,23 @@ msgstr "" "Creste performanta cand se mută un număr mai mare\n" "de elemente geometrice." -#: flatcamGUI/PreferencesUI.py:1687 +#: flatcamGUI/PreferencesUI.py:1711 msgid "New Aperture code" msgstr "Cod pt aperture noua" -#: flatcamGUI/PreferencesUI.py:1700 +#: flatcamGUI/PreferencesUI.py:1724 msgid "New Aperture size" msgstr "Dim. pt aperture noua" -#: flatcamGUI/PreferencesUI.py:1702 +#: flatcamGUI/PreferencesUI.py:1726 msgid "Size for the new aperture" msgstr "Dim. pentru noua apertură" -#: flatcamGUI/PreferencesUI.py:1713 +#: flatcamGUI/PreferencesUI.py:1737 msgid "New Aperture type" msgstr "Tip pt noua apaertura" -#: flatcamGUI/PreferencesUI.py:1715 +#: flatcamGUI/PreferencesUI.py:1739 msgid "" "Type for the new aperture.\n" "Can be 'C', 'R' or 'O'." @@ -8943,35 +9554,35 @@ msgstr "" "Tipul noii aperture.\n" "Poate fi „C”, „R” sau „O”." -#: flatcamGUI/PreferencesUI.py:1738 +#: flatcamGUI/PreferencesUI.py:1762 msgid "Aperture Dimensions" msgstr "Dim. aper" -#: flatcamGUI/PreferencesUI.py:1740 flatcamGUI/PreferencesUI.py:2935 -#: flatcamGUI/PreferencesUI.py:3704 +#: flatcamGUI/PreferencesUI.py:1764 flatcamGUI/PreferencesUI.py:2976 +#: flatcamGUI/PreferencesUI.py:3792 msgid "Diameters of the cutting tools, separated by ','" msgstr "Diametrele pentru unelte tăietoare, separate cu virgula" -#: flatcamGUI/PreferencesUI.py:1746 +#: flatcamGUI/PreferencesUI.py:1770 msgid "Linear Pad Array" msgstr "Arie Lineară de Sloturi" -#: flatcamGUI/PreferencesUI.py:1750 flatcamGUI/PreferencesUI.py:2667 -#: flatcamGUI/PreferencesUI.py:2815 +#: flatcamGUI/PreferencesUI.py:1774 flatcamGUI/PreferencesUI.py:2708 +#: flatcamGUI/PreferencesUI.py:2856 msgid "Linear Direction" msgstr "Direcție liniară" -#: flatcamGUI/PreferencesUI.py:1790 +#: flatcamGUI/PreferencesUI.py:1814 msgid "Circular Pad Array" msgstr "Arie de Sloturi circ" -#: flatcamGUI/PreferencesUI.py:1794 flatcamGUI/PreferencesUI.py:2713 -#: flatcamGUI/PreferencesUI.py:2863 +#: flatcamGUI/PreferencesUI.py:1818 flatcamGUI/PreferencesUI.py:2754 +#: flatcamGUI/PreferencesUI.py:2904 msgid "Circular Direction" msgstr "Direcția circulară" -#: flatcamGUI/PreferencesUI.py:1796 flatcamGUI/PreferencesUI.py:2715 -#: flatcamGUI/PreferencesUI.py:2865 +#: flatcamGUI/PreferencesUI.py:1820 flatcamGUI/PreferencesUI.py:2756 +#: flatcamGUI/PreferencesUI.py:2906 msgid "" "Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise." @@ -8980,48 +9591,48 @@ msgstr "" "Poate fi CW = in sensul acelor de ceasornic sau CCW = invers acelor de " "ceasornic." -#: flatcamGUI/PreferencesUI.py:1807 flatcamGUI/PreferencesUI.py:2726 -#: flatcamGUI/PreferencesUI.py:2876 +#: flatcamGUI/PreferencesUI.py:1831 flatcamGUI/PreferencesUI.py:2767 +#: flatcamGUI/PreferencesUI.py:2917 msgid "Circular Angle" msgstr "Unghi circular" -#: flatcamGUI/PreferencesUI.py:1826 +#: flatcamGUI/PreferencesUI.py:1850 msgid "Distance at which to buffer the Gerber element." msgstr "Distanța la care se bufferează elementul Gerber." -#: flatcamGUI/PreferencesUI.py:1836 +#: flatcamGUI/PreferencesUI.py:1860 msgid "Scale Tool" msgstr "Unalta de Scalare" -#: flatcamGUI/PreferencesUI.py:1842 +#: flatcamGUI/PreferencesUI.py:1866 msgid "Factor to scale the Gerber element." msgstr "Factor pentru scalarea elementului Gerber." -#: flatcamGUI/PreferencesUI.py:1855 +#: flatcamGUI/PreferencesUI.py:1879 msgid "Threshold low" msgstr "Prag minim" -#: flatcamGUI/PreferencesUI.py:1857 +#: flatcamGUI/PreferencesUI.py:1881 msgid "Threshold value under which the apertures are not marked." msgstr "Valoarea pragului sub care aperturile nu sunt marcate." -#: flatcamGUI/PreferencesUI.py:1867 +#: flatcamGUI/PreferencesUI.py:1891 msgid "Threshold high" msgstr "Prag mare" -#: flatcamGUI/PreferencesUI.py:1869 +#: flatcamGUI/PreferencesUI.py:1893 msgid "Threshold value over which the apertures are not marked." msgstr "Valoarea pragului peste care nu sunt marcate aperturile." -#: flatcamGUI/PreferencesUI.py:1887 +#: flatcamGUI/PreferencesUI.py:1911 msgid "Excellon General" msgstr "Excellon General" -#: flatcamGUI/PreferencesUI.py:1909 +#: flatcamGUI/PreferencesUI.py:1933 msgid "Excellon Format" msgstr "Format Excellon" -#: flatcamGUI/PreferencesUI.py:1911 +#: flatcamGUI/PreferencesUI.py:1935 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -9067,14 +9678,14 @@ msgstr "" "Sprint Layout 2:4 INCH LZ\n" "KiCAD 3:5 INCH TZ" -#: flatcamGUI/PreferencesUI.py:1939 +#: flatcamGUI/PreferencesUI.py:1963 msgid "Default values for INCH are 2:4" msgstr "" "Valorile default pentru Inch sunt 2:4\n" "adica 2 parti intregi și 4 zecimale" -#: flatcamGUI/PreferencesUI.py:1946 flatcamGUI/PreferencesUI.py:1977 -#: flatcamGUI/PreferencesUI.py:2504 +#: flatcamGUI/PreferencesUI.py:1970 flatcamGUI/PreferencesUI.py:2001 +#: flatcamGUI/PreferencesUI.py:2545 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -9082,8 +9693,8 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "intreaga a coordonatelor Excellon." -#: flatcamGUI/PreferencesUI.py:1959 flatcamGUI/PreferencesUI.py:1990 -#: flatcamGUI/PreferencesUI.py:2517 +#: flatcamGUI/PreferencesUI.py:1983 flatcamGUI/PreferencesUI.py:2014 +#: flatcamGUI/PreferencesUI.py:2558 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -9091,21 +9702,21 @@ msgstr "" "Acest număr reprezinta numărul de digiti din partea\n" "zecimala a coordonatelor Excellon." -#: flatcamGUI/PreferencesUI.py:1967 +#: flatcamGUI/PreferencesUI.py:1991 msgid "METRIC" msgstr "Metric" -#: flatcamGUI/PreferencesUI.py:1970 +#: flatcamGUI/PreferencesUI.py:1994 msgid "Default values for METRIC are 3:3" msgstr "" "Valorile default pentru Metric sunt 3:3\n" "adica 3 parti intregi și 3 zecimale" -#: flatcamGUI/PreferencesUI.py:1999 +#: flatcamGUI/PreferencesUI.py:2023 msgid "Default Zeros" msgstr "Suprimare Zero" -#: flatcamGUI/PreferencesUI.py:2002 flatcamGUI/PreferencesUI.py:2552 +#: flatcamGUI/PreferencesUI.py:2026 flatcamGUI/PreferencesUI.py:2593 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -9121,7 +9732,7 @@ msgstr "" "cele de la final sunt pastrate.\n" "(Invers fata de fişierele Gerber)." -#: flatcamGUI/PreferencesUI.py:2013 +#: flatcamGUI/PreferencesUI.py:2037 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -9140,11 +9751,11 @@ msgstr "" "cele de la final sunt pastrate.\n" "(Invers fata de fişierele Gerber)." -#: flatcamGUI/PreferencesUI.py:2023 +#: flatcamGUI/PreferencesUI.py:2047 msgid "Default Units" msgstr "Unitati Excellon" -#: flatcamGUI/PreferencesUI.py:2026 +#: flatcamGUI/PreferencesUI.py:2050 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -9158,7 +9769,7 @@ msgstr "" "(unde se gasesc unitatile) și atunci se va folosi\n" "aceasta valoare." -#: flatcamGUI/PreferencesUI.py:2037 +#: flatcamGUI/PreferencesUI.py:2061 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -9171,19 +9782,19 @@ msgstr "" "(unde se gasesc unitatile) și atunci se va folosi\n" "aceasta valoare." -#: flatcamGUI/PreferencesUI.py:2043 +#: flatcamGUI/PreferencesUI.py:2067 msgid "Update Export settings" msgstr "Actualizeaza setarile de Export" -#: flatcamGUI/PreferencesUI.py:2051 +#: flatcamGUI/PreferencesUI.py:2075 msgid "Excellon Optimization" msgstr "Optimizare Excellon" -#: flatcamGUI/PreferencesUI.py:2054 +#: flatcamGUI/PreferencesUI.py:2078 msgid "Algorithm:" msgstr "Algoritm:" -#: flatcamGUI/PreferencesUI.py:2056 flatcamGUI/PreferencesUI.py:2073 +#: flatcamGUI/PreferencesUI.py:2080 flatcamGUI/PreferencesUI.py:2097 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If <> is checked then Google OR-Tools algorithm with\n" @@ -9209,19 +9820,19 @@ msgstr "" "folosește\n" "Algoritmul Traveling Salesman pentru optimizarea căii." -#: flatcamGUI/PreferencesUI.py:2068 +#: flatcamGUI/PreferencesUI.py:2092 msgid "MetaHeuristic" msgstr "MetaHeuristic" -#: flatcamGUI/PreferencesUI.py:2070 +#: flatcamGUI/PreferencesUI.py:2094 msgid "TSA" msgstr "TSA" -#: flatcamGUI/PreferencesUI.py:2085 +#: flatcamGUI/PreferencesUI.py:2109 msgid "Optimization Time" msgstr "Durata optimizare" -#: flatcamGUI/PreferencesUI.py:2088 +#: flatcamGUI/PreferencesUI.py:2112 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -9232,11 +9843,11 @@ msgstr "" "reprezinta cat timp se sta pentru fiecare element in\n" "incercarea de a afla calea optima." -#: flatcamGUI/PreferencesUI.py:2131 +#: flatcamGUI/PreferencesUI.py:2155 msgid "Excellon Options" msgstr "Opțiuni Excellon" -#: flatcamGUI/PreferencesUI.py:2136 +#: flatcamGUI/PreferencesUI.py:2160 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -9244,19 +9855,11 @@ msgstr "" "Parametrii folositi pentru a crea un obiect FlatCAM tip CNCJob\n" "din acest obiect Excellon." -#: flatcamGUI/PreferencesUI.py:2180 flatcamGUI/PreferencesUI.py:3042 -msgid "Toolchange Z" -msgstr "Z schimb. unealtă" - -#: flatcamGUI/PreferencesUI.py:2221 -msgid "Spindle Speed" -msgstr "Viteza Motor" - -#: flatcamGUI/PreferencesUI.py:2236 flatcamGUI/PreferencesUI.py:3123 +#: flatcamGUI/PreferencesUI.py:2277 flatcamGUI/PreferencesUI.py:3184 msgid "Duration" msgstr "Durată" -#: flatcamGUI/PreferencesUI.py:2266 +#: flatcamGUI/PreferencesUI.py:2307 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -9270,15 +9873,19 @@ msgstr "" "Când se alege Sloturi sau Ambele, sloturile vor fi convertite in serii de " "găuri." -#: flatcamGUI/PreferencesUI.py:2316 +#: flatcamGUI/PreferencesUI.py:2325 +msgid "Create Geometry for milling holes." +msgstr "Crează un obiect tip Geometrie pentru frezarea găurilor." + +#: flatcamGUI/PreferencesUI.py:2357 msgid "Defaults" msgstr "Val. Implicite" -#: flatcamGUI/PreferencesUI.py:2329 +#: flatcamGUI/PreferencesUI.py:2370 msgid "Excellon Adv. Options" msgstr "Opțiuni Avans. Excellon" -#: flatcamGUI/PreferencesUI.py:2337 +#: flatcamGUI/PreferencesUI.py:2378 msgid "" "A list of Excellon advanced parameters.\n" "Those parameters are available only for\n" @@ -9289,19 +9896,19 @@ msgstr "" "când este selectat Nivelul Avansat pentru\n" "aplicaţie in Preferințe - > General." -#: flatcamGUI/PreferencesUI.py:2358 +#: flatcamGUI/PreferencesUI.py:2399 msgid "Toolchange X,Y" msgstr "X,Y schimb. unealtă" -#: flatcamGUI/PreferencesUI.py:2360 flatcamGUI/PreferencesUI.py:3177 +#: flatcamGUI/PreferencesUI.py:2401 flatcamGUI/PreferencesUI.py:3238 msgid "Toolchange X,Y position." msgstr "Poziţia X,Y in format (x,y) unde se face schimbarea uneltei." -#: flatcamGUI/PreferencesUI.py:2417 flatcamGUI/PreferencesUI.py:3251 +#: flatcamGUI/PreferencesUI.py:2458 flatcamGUI/PreferencesUI.py:3312 msgid "Spindle dir." msgstr "Directie Motor" -#: flatcamGUI/PreferencesUI.py:2419 flatcamGUI/PreferencesUI.py:3253 +#: flatcamGUI/PreferencesUI.py:2460 flatcamGUI/PreferencesUI.py:3314 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -9313,11 +9920,11 @@ msgstr "" "- CW = in sensul acelor de ceasornic\n" "- CCW = in sensul invers acelor de ceasornic" -#: flatcamGUI/PreferencesUI.py:2430 flatcamGUI/PreferencesUI.py:3265 +#: flatcamGUI/PreferencesUI.py:2471 flatcamGUI/PreferencesUI.py:3326 msgid "Fast Plunge" msgstr "Plonjare rapidă" -#: flatcamGUI/PreferencesUI.py:2432 flatcamGUI/PreferencesUI.py:3267 +#: flatcamGUI/PreferencesUI.py:2473 flatcamGUI/PreferencesUI.py:3328 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -9334,11 +9941,11 @@ msgstr "" "schimba\n" "unealta. Daca aveti ceva plasat sub unealtă ceva se va strica." -#: flatcamGUI/PreferencesUI.py:2441 +#: flatcamGUI/PreferencesUI.py:2482 msgid "Fast Retract" msgstr "Retragere rapida" -#: flatcamGUI/PreferencesUI.py:2443 +#: flatcamGUI/PreferencesUI.py:2484 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -9357,11 +9964,11 @@ msgstr "" "adâncimea\n" "de deplasare cu viteza maxima G0, intr-o singură mișcare." -#: flatcamGUI/PreferencesUI.py:2462 +#: flatcamGUI/PreferencesUI.py:2503 msgid "Excellon Export" msgstr "Export Excellon" -#: flatcamGUI/PreferencesUI.py:2467 +#: flatcamGUI/PreferencesUI.py:2508 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -9370,11 +9977,11 @@ msgstr "" "se exporta un fişier Excellon folosind:\n" "File -> Exporta -> Exporta Excellon." -#: flatcamGUI/PreferencesUI.py:2478 flatcamGUI/PreferencesUI.py:2484 +#: flatcamGUI/PreferencesUI.py:2519 flatcamGUI/PreferencesUI.py:2525 msgid "The units used in the Excellon file." msgstr "Unitatile de masura folosite in fişierul Excellon." -#: flatcamGUI/PreferencesUI.py:2492 +#: flatcamGUI/PreferencesUI.py:2533 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -9386,11 +9993,11 @@ msgstr "" "Aici se setează formatul Excellon când nu se utilizează\n" "coordonate cu zecimale." -#: flatcamGUI/PreferencesUI.py:2526 +#: flatcamGUI/PreferencesUI.py:2567 msgid "Format" msgstr "Format" -#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:2538 +#: flatcamGUI/PreferencesUI.py:2569 flatcamGUI/PreferencesUI.py:2579 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -9409,15 +10016,15 @@ msgstr "" "- LZ = zerourile prefix sunt pastrate și cele sufix eliminate\n" "- TZ = zerourile prefix sunt eliminate și cele sufix pastrate." -#: flatcamGUI/PreferencesUI.py:2535 +#: flatcamGUI/PreferencesUI.py:2576 msgid "Decimal" msgstr "Zecimale" -#: flatcamGUI/PreferencesUI.py:2536 +#: flatcamGUI/PreferencesUI.py:2577 msgid "No-Decimal" msgstr "Fără zecimale" -#: flatcamGUI/PreferencesUI.py:2562 +#: flatcamGUI/PreferencesUI.py:2603 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -9429,11 +10036,11 @@ msgstr "" "- LZ = zerourile prefix sunt pastrate și cele sufix eliminate\n" "- TZ = zerourile prefix sunt eliminate și cele sufix pastrate." -#: flatcamGUI/PreferencesUI.py:2572 +#: flatcamGUI/PreferencesUI.py:2613 msgid "Slot type" msgstr "Tip slot" -#: flatcamGUI/PreferencesUI.py:2575 flatcamGUI/PreferencesUI.py:2585 +#: flatcamGUI/PreferencesUI.py:2616 flatcamGUI/PreferencesUI.py:2626 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -9447,19 +10054,19 @@ msgstr "" "Dacă sunt Găurite (G85) sloturile vor fi exportate\n" "folosind comanda slotului găurit (G85)." -#: flatcamGUI/PreferencesUI.py:2582 +#: flatcamGUI/PreferencesUI.py:2623 msgid "Routed" msgstr "Decupate" -#: flatcamGUI/PreferencesUI.py:2583 +#: flatcamGUI/PreferencesUI.py:2624 msgid "Drilled(G85)" msgstr "Găurite(G85)" -#: flatcamGUI/PreferencesUI.py:2615 +#: flatcamGUI/PreferencesUI.py:2656 msgid "A list of Excellon Editor parameters." msgstr "O listă de parametri ai Editorului Excellon." -#: flatcamGUI/PreferencesUI.py:2625 +#: flatcamGUI/PreferencesUI.py:2666 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -9473,31 +10080,43 @@ msgstr "" "Creste performanta cand se muta un număr mai mare de \n" "elemente geometrice." -#: flatcamGUI/PreferencesUI.py:2638 +#: flatcamGUI/PreferencesUI.py:2679 flatcamGUI/PreferencesUI.py:3863 msgid "New Tool Dia" msgstr "Dia. nou unealtă" -#: flatcamGUI/PreferencesUI.py:2663 +#: flatcamGUI/PreferencesUI.py:2704 msgid "Linear Drill Array" msgstr "Arie lineară de găuri" -#: flatcamGUI/PreferencesUI.py:2709 +#: flatcamGUI/PreferencesUI.py:2750 msgid "Circular Drill Array" msgstr "Arie circ. de găuri" -#: flatcamGUI/PreferencesUI.py:2798 +#: flatcamGUI/PreferencesUI.py:2820 +msgid "" +"Angle at which the slot is placed.\n" +"The precision is of max 2 decimals.\n" +"Min value is: -359.99 degrees.\n" +"Max value is: 360.00 degrees." +msgstr "" +"Unghiul la care este plasat slotul.\n" +"Precizia este de maxim 2 zecimale.\n" +"Valoarea minimă este: -359,99 grade.\n" +"Valoarea maximă este: 360,00 grade." + +#: flatcamGUI/PreferencesUI.py:2839 msgid "Linear Slot Array" msgstr "Arie lineară de Sloturi" -#: flatcamGUI/PreferencesUI.py:2859 +#: flatcamGUI/PreferencesUI.py:2900 msgid "Circular Slot Array" msgstr "Arie circ. de Sloturi" -#: flatcamGUI/PreferencesUI.py:2898 +#: flatcamGUI/PreferencesUI.py:2939 msgid "Geometry General" msgstr "Geometrie General" -#: flatcamGUI/PreferencesUI.py:2919 +#: flatcamGUI/PreferencesUI.py:2960 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -9505,11 +10124,11 @@ msgstr "" "Numărul de segmente utilizate pentru\n" "aproximarea lineara a Geometriilor circulare." -#: flatcamGUI/PreferencesUI.py:2950 +#: flatcamGUI/PreferencesUI.py:2991 msgid "Geometry Options" msgstr "Opțiuni Geometrie" -#: flatcamGUI/PreferencesUI.py:2957 +#: flatcamGUI/PreferencesUI.py:2998 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -9518,11 +10137,11 @@ msgstr "" "Crează un obiect CNCJob care urmăreste conturul\n" "acestui obiect tip Geometrie." -#: flatcamGUI/PreferencesUI.py:2994 +#: flatcamGUI/PreferencesUI.py:3040 msgid "Depth/Pass" msgstr "Adânc./Trecere" -#: flatcamGUI/PreferencesUI.py:2996 +#: flatcamGUI/PreferencesUI.py:3042 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -9535,11 +10154,11 @@ msgstr "" "Valoarea este pozitivă desi reprezinta o fracţie\n" "a adancimii de tăiere care este o valoare negativă." -#: flatcamGUI/PreferencesUI.py:3158 +#: flatcamGUI/PreferencesUI.py:3219 msgid "Geometry Adv. Options" msgstr "Opțiuni Avans. Geometrie" -#: flatcamGUI/PreferencesUI.py:3165 +#: flatcamGUI/PreferencesUI.py:3226 msgid "" "A list of Geometry advanced parameters.\n" "Those parameters are available only for\n" @@ -9550,12 +10169,12 @@ msgstr "" "când este selectat Nivelul Avansat pentru\n" "aplicaţie in Preferințe - > General." -#: flatcamGUI/PreferencesUI.py:3175 flatcamGUI/PreferencesUI.py:5000 -#: flatcamTools/ToolSolderPaste.py:206 +#: flatcamGUI/PreferencesUI.py:3236 flatcamGUI/PreferencesUI.py:5135 +#: flatcamTools/ToolSolderPaste.py:233 msgid "Toolchange X-Y" msgstr "X,Y schimb. unealtă" -#: flatcamGUI/PreferencesUI.py:3186 +#: flatcamGUI/PreferencesUI.py:3247 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -9563,11 +10182,11 @@ msgstr "" "Înălţimea uneltei la care se gaseste la inceputul lucrului.\n" "Lasa câmpul gol daca nu folosești aceasta." -#: flatcamGUI/PreferencesUI.py:3277 +#: flatcamGUI/PreferencesUI.py:3338 msgid "Seg. X size" msgstr "Dim. seg X" -#: flatcamGUI/PreferencesUI.py:3279 +#: flatcamGUI/PreferencesUI.py:3340 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -9578,11 +10197,11 @@ msgstr "" "O valoare de 0 inseamnaca nu se face segmentare\n" "pe axa X." -#: flatcamGUI/PreferencesUI.py:3293 +#: flatcamGUI/PreferencesUI.py:3354 msgid "Seg. Y size" msgstr "Dim. seg Y" -#: flatcamGUI/PreferencesUI.py:3295 +#: flatcamGUI/PreferencesUI.py:3356 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -9593,15 +10212,15 @@ msgstr "" "O valoare de 0 inseamnaca nu se face segmentare\n" "pe axa Y." -#: flatcamGUI/PreferencesUI.py:3316 +#: flatcamGUI/PreferencesUI.py:3377 msgid "Geometry Editor" msgstr "Editor Geometrii" -#: flatcamGUI/PreferencesUI.py:3321 +#: flatcamGUI/PreferencesUI.py:3382 msgid "A list of Geometry Editor parameters." msgstr "O lista de parametri ai Editorului de Geometrii." -#: flatcamGUI/PreferencesUI.py:3331 +#: flatcamGUI/PreferencesUI.py:3392 flatcamGUI/PreferencesUI.py:5706 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -9615,11 +10234,11 @@ msgstr "" "Creste performanta cand se muta un număr mai mare de \n" "elemente geometrice." -#: flatcamGUI/PreferencesUI.py:3363 +#: flatcamGUI/PreferencesUI.py:3424 msgid "CNC Job General" msgstr "CNCJob General" -#: flatcamGUI/PreferencesUI.py:3418 +#: flatcamGUI/PreferencesUI.py:3476 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -9627,21 +10246,21 @@ msgstr "" "Numărul de segmente utilizate pentru\n" "aproximarea lineara a reprezentarilor GCodului circular." -#: flatcamGUI/PreferencesUI.py:3427 +#: flatcamGUI/PreferencesUI.py:3485 msgid "Travel dia" msgstr "Dia Deplasare" -#: flatcamGUI/PreferencesUI.py:3429 +#: flatcamGUI/PreferencesUI.py:3487 msgid "" "The width of the travel lines to be\n" "rendered in the plot." msgstr "Diametrul liniilor de deplasare care să fie redate prin afișare." -#: flatcamGUI/PreferencesUI.py:3445 +#: flatcamGUI/PreferencesUI.py:3503 msgid "Coordinates decimals" msgstr "Coord. zecimale" -#: flatcamGUI/PreferencesUI.py:3447 +#: flatcamGUI/PreferencesUI.py:3505 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -9649,11 +10268,11 @@ msgstr "" "Numărul de zecimale care să fie folosit in \n" "coordonatele X,Y,Z in codul CNC (GCode etc)." -#: flatcamGUI/PreferencesUI.py:3458 +#: flatcamGUI/PreferencesUI.py:3516 msgid "Feedrate decimals" msgstr "Feedrate zecimale" -#: flatcamGUI/PreferencesUI.py:3460 +#: flatcamGUI/PreferencesUI.py:3518 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -9661,11 +10280,11 @@ msgstr "" "Numărul de zecimale care să fie folosit in \n" "parametrul >Feedrate< in codul CNC (GCode etc)." -#: flatcamGUI/PreferencesUI.py:3471 +#: flatcamGUI/PreferencesUI.py:3529 msgid "Coordinates type" msgstr "Tip coordinate" -#: flatcamGUI/PreferencesUI.py:3473 +#: flatcamGUI/PreferencesUI.py:3531 msgid "" "The type of coordinates to be used in Gcode.\n" "Can be:\n" @@ -9677,77 +10296,83 @@ msgstr "" "- Absolut G90 -> referinta este originea x=0, y=0\n" "- Incrementator G91 -> referinta este pozitia anterioară" -#: flatcamGUI/PreferencesUI.py:3479 +#: flatcamGUI/PreferencesUI.py:3537 msgid "Absolute G90" msgstr "Absolut G90" -#: flatcamGUI/PreferencesUI.py:3480 +#: flatcamGUI/PreferencesUI.py:3538 msgid "Incremental G91" msgstr "Incrementator G91" -#: flatcamGUI/PreferencesUI.py:3497 +#: flatcamGUI/PreferencesUI.py:3548 +msgid "Force Windows style line-ending" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:3550 +msgid "" +"When checked will force a Windows style line-ending\n" +"(\\r\\n) on non-Windows OS's." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:3564 msgid "CNC Job Options" msgstr "Opțiuni CNCJob" -#: flatcamGUI/PreferencesUI.py:3500 +#: flatcamGUI/PreferencesUI.py:3567 msgid "Export G-Code" msgstr "Exportă G-Code" -#: flatcamGUI/PreferencesUI.py:3516 +#: flatcamGUI/PreferencesUI.py:3583 msgid "Prepend to G-Code" msgstr "Adaugă la inceputul G-Code" -#: flatcamGUI/PreferencesUI.py:3528 +#: flatcamGUI/PreferencesUI.py:3599 msgid "Append to G-Code" msgstr "Adaugă la sfârşitul G-Code" -#: flatcamGUI/PreferencesUI.py:3548 +#: flatcamGUI/PreferencesUI.py:3624 msgid "CNC Job Adv. Options" msgstr "Opțiuni Avans. CNCJob" -#: flatcamGUI/PreferencesUI.py:3620 -msgid "y_toolchange = Y coord for Toolchange" -msgstr "y_toolchange = coord. Y pt schimb unealtă" - -#: flatcamGUI/PreferencesUI.py:3623 +#: flatcamGUI/PreferencesUI.py:3710 msgid "Z depth for the cut" msgstr "Z adâncimea de tăiere" -#: flatcamGUI/PreferencesUI.py:3624 +#: flatcamGUI/PreferencesUI.py:3711 msgid "Z height for travel" msgstr "Z Înălţimea deplasare" -#: flatcamGUI/PreferencesUI.py:3630 +#: flatcamGUI/PreferencesUI.py:3717 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "dwelltime = durata de asteptare ca motorul să ajunga la turatia setată" -#: flatcamGUI/PreferencesUI.py:3649 +#: flatcamGUI/PreferencesUI.py:3736 msgid "Annotation Size" msgstr "Dim. anotate" -#: flatcamGUI/PreferencesUI.py:3651 +#: flatcamGUI/PreferencesUI.py:3738 msgid "The font size of the annotation text. In pixels." msgstr "Dimensiunea fontului pt. textul cu notatii. In pixeli." -#: flatcamGUI/PreferencesUI.py:3661 +#: flatcamGUI/PreferencesUI.py:3748 msgid "Annotation Color" msgstr "Culoarea anotatii" -#: flatcamGUI/PreferencesUI.py:3663 +#: flatcamGUI/PreferencesUI.py:3750 msgid "Set the font color for the annotation texts." msgstr "Setează culoarea pentru textul cu anotatii." -#: flatcamGUI/PreferencesUI.py:3689 +#: flatcamGUI/PreferencesUI.py:3776 msgid "NCC Tool Options" msgstr "Opțiuni Unealta NCC" -#: flatcamGUI/PreferencesUI.py:3702 flatcamGUI/PreferencesUI.py:4935 +#: flatcamGUI/PreferencesUI.py:3790 flatcamGUI/PreferencesUI.py:5045 msgid "Tools dia" msgstr "Dia unealtă" -#: flatcamGUI/PreferencesUI.py:3713 flatcamGUI/PreferencesUI.py:3721 -#: flatcamTools/ToolNonCopperClear.py:210 -#: flatcamTools/ToolNonCopperClear.py:218 +#: flatcamGUI/PreferencesUI.py:3801 flatcamGUI/PreferencesUI.py:3809 +#: flatcamTools/ToolNonCopperClear.py:215 +#: flatcamTools/ToolNonCopperClear.py:223 msgid "" "Default tool type:\n" "- 'V-shape'\n" @@ -9757,13 +10382,29 @@ msgstr "" "- 'Forma-V'\n" "- Circular" -#: flatcamGUI/PreferencesUI.py:3718 flatcamTools/ToolNonCopperClear.py:215 +#: flatcamGUI/PreferencesUI.py:3806 flatcamTools/ToolNonCopperClear.py:220 msgid "V-shape" msgstr "Forma-V" -#: flatcamGUI/PreferencesUI.py:3758 flatcamGUI/PreferencesUI.py:3766 -#: flatcamTools/ToolNonCopperClear.py:162 -#: flatcamTools/ToolNonCopperClear.py:170 +#: flatcamGUI/PreferencesUI.py:3846 flatcamGUI/PreferencesUI.py:3855 +#: flatcamTools/ToolNonCopperClear.py:256 +#: flatcamTools/ToolNonCopperClear.py:264 +msgid "" +"Depth of cut into material. Negative value.\n" +"In FlatCAM units." +msgstr "" +"Adancimea de tăiere in material. Valoare negative.\n" +"In unitătile FlatCAM." + +#: flatcamGUI/PreferencesUI.py:3865 +#, fuzzy +#| msgid "Diameter for the new tool to add in the Tool Table" +msgid "The new tool diameter (cut width) to add in the tool table." +msgstr "Diametrul pentru noua unealtă care să fie adăugată in Tabela de Unelte" + +#: flatcamGUI/PreferencesUI.py:3877 flatcamGUI/PreferencesUI.py:3885 +#: flatcamTools/ToolNonCopperClear.py:164 +#: flatcamTools/ToolNonCopperClear.py:172 msgid "" "Milling type when the selected tool is of type: 'iso_op':\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -9774,15 +10415,15 @@ msgstr "" "uneltei\n" "- conventional -> pentru cazul când nu exista o compensare a 'backlash-ului'" -#: flatcamGUI/PreferencesUI.py:3775 flatcamGUI/PreferencesUI.py:4167 -#: flatcamTools/ToolNonCopperClear.py:176 flatcamTools/ToolPaint.py:153 +#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4274 +#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153 msgid "Tool order" msgstr "Ordine unelte" -#: flatcamGUI/PreferencesUI.py:3776 flatcamGUI/PreferencesUI.py:3786 -#: flatcamGUI/PreferencesUI.py:4168 flatcamGUI/PreferencesUI.py:4178 -#: flatcamTools/ToolNonCopperClear.py:177 -#: flatcamTools/ToolNonCopperClear.py:187 flatcamTools/ToolPaint.py:154 +#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3905 +#: flatcamGUI/PreferencesUI.py:4275 flatcamGUI/PreferencesUI.py:4285 +#: flatcamTools/ToolNonCopperClear.py:182 +#: flatcamTools/ToolNonCopperClear.py:192 flatcamTools/ToolPaint.py:154 #: flatcamTools/ToolPaint.py:164 msgid "" "This set the way that the tools in the tools table are used.\n" @@ -9802,27 +10443,17 @@ msgstr "" "AVERTIZARE: folosirea prelucrării 'resturi' va seta automat ordonarea\n" "în sens invers și va dezactiva acest control." -#: flatcamGUI/PreferencesUI.py:3784 flatcamGUI/PreferencesUI.py:4176 -#: flatcamTools/ToolNonCopperClear.py:185 flatcamTools/ToolPaint.py:162 +#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4283 +#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162 msgid "Forward" msgstr "Înainte" -#: flatcamGUI/PreferencesUI.py:3785 flatcamGUI/PreferencesUI.py:4177 -#: flatcamTools/ToolNonCopperClear.py:186 flatcamTools/ToolPaint.py:163 +#: flatcamGUI/PreferencesUI.py:3904 flatcamGUI/PreferencesUI.py:4284 +#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163 msgid "Reverse" msgstr "Înapoi" -#: flatcamGUI/PreferencesUI.py:3798 flatcamGUI/PreferencesUI.py:3807 -#: flatcamTools/ToolNonCopperClear.py:293 -#: flatcamTools/ToolNonCopperClear.py:301 -msgid "" -"Depth of cut into material. Negative value.\n" -"In FlatCAM units." -msgstr "" -"Adancimea de tăiere in material. Valoare negative.\n" -"In unitătile FlatCAM." - -#: flatcamGUI/PreferencesUI.py:3817 flatcamTools/ToolNonCopperClear.py:310 +#: flatcamGUI/PreferencesUI.py:3917 flatcamTools/ToolNonCopperClear.py:321 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -9848,12 +10479,13 @@ 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/PreferencesUI.py:3838 flatcamTools/ToolNonCopperClear.py:330 +#: flatcamGUI/PreferencesUI.py:3938 flatcamGUI/PreferencesUI.py:5772 +#: flatcamTools/ToolCopperThieving.py:111 flatcamTools/ToolNonCopperClear.py:341 msgid "Bounding box margin." msgstr "Marginea pentru forma înconjurătoare." -#: flatcamGUI/PreferencesUI.py:3851 flatcamGUI/PreferencesUI.py:4227 -#: flatcamTools/ToolNonCopperClear.py:341 +#: flatcamGUI/PreferencesUI.py:3951 flatcamGUI/PreferencesUI.py:4334 +#: flatcamTools/ToolNonCopperClear.py:352 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." "
Seed-based: Outwards from seed.
Line-based: Parallel " @@ -9863,22 +10495,22 @@ msgstr "" "
Punct-samanta: De la punctul samanta, spre expterior.
Linii " "drepte: Linii paralele." -#: flatcamGUI/PreferencesUI.py:3865 flatcamGUI/PreferencesUI.py:4241 -#: flatcamTools/ToolNonCopperClear.py:355 flatcamTools/ToolPaint.py:269 +#: flatcamGUI/PreferencesUI.py:3967 flatcamGUI/PreferencesUI.py:4348 +#: flatcamTools/ToolNonCopperClear.py:366 flatcamTools/ToolPaint.py:269 msgid "Connect" msgstr "Conectează" -#: flatcamGUI/PreferencesUI.py:3875 flatcamGUI/PreferencesUI.py:4251 -#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:278 +#: flatcamGUI/PreferencesUI.py:3978 flatcamGUI/PreferencesUI.py:4358 +#: flatcamTools/ToolNonCopperClear.py:375 flatcamTools/ToolPaint.py:278 msgid "Contour" msgstr "Contur" -#: flatcamGUI/PreferencesUI.py:3885 flatcamTools/ToolNonCopperClear.py:373 +#: flatcamGUI/PreferencesUI.py:3989 flatcamTools/ToolNonCopperClear.py:384 #: flatcamTools/ToolPaint.py:287 msgid "Rest M." msgstr "Rest M." -#: flatcamGUI/PreferencesUI.py:3887 flatcamTools/ToolNonCopperClear.py:375 +#: flatcamGUI/PreferencesUI.py:3991 flatcamTools/ToolNonCopperClear.py:386 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -9896,9 +10528,8 @@ msgstr "" "final. Aceasta deaorece unele unelte nu vor putea genera geometrie.\n" "Daca nu este bifat, foloseşte algoritmul standard." -#: flatcamGUI/PreferencesUI.py:3902 flatcamGUI/PreferencesUI.py:3914 -#: flatcamTools/ToolNonCopperClear.py:390 -#: flatcamTools/ToolNonCopperClear.py:402 +#: flatcamGUI/PreferencesUI.py:4007 flatcamTools/ToolNonCopperClear.py:401 +#: flatcamTools/ToolNonCopperClear.py:413 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -9910,28 +10541,47 @@ msgstr "" "de traseele de cupru.\n" "Valoarea poate fi cuprinsă între 0 și 10 unități FlatCAM." -#: flatcamGUI/PreferencesUI.py:3912 flatcamTools/ToolNonCopperClear.py:400 +#: flatcamGUI/PreferencesUI.py:4018 flatcamTools/ToolNonCopperClear.py:411 msgid "Offset value" msgstr "Valoare Ofset" -#: flatcamGUI/PreferencesUI.py:3929 flatcamTools/ToolNonCopperClear.py:426 +#: flatcamGUI/PreferencesUI.py:4020 +#, fuzzy +#| msgid "" +#| "If used, it will add an offset to the copper features.\n" +#| "The copper clearing will finish to a distance\n" +#| "from the copper features.\n" +#| "The value can be between 0 and 10 FlatCAM units." +msgid "" +"If used, it will add an offset to the copper features.\n" +"The copper clearing will finish to a distance\n" +"from the copper features.\n" +"The value can be between 0.0 and 9999.9 FlatCAM units." +msgstr "" +"Dacă este folosit, va adăuga un offset la traseele de cupru.\n" +"Curătarea de cupru se va termina la o anume distanță\n" +"de traseele de cupru.\n" +"Valoarea poate fi cuprinsă între 0 și 10 unități FlatCAM." + +#: flatcamGUI/PreferencesUI.py:4035 flatcamGUI/PreferencesUI.py:5784 +#: flatcamTools/ToolCopperThieving.py:123 flatcamTools/ToolNonCopperClear.py:437 msgid "Itself" msgstr "Însuşi" -#: flatcamGUI/PreferencesUI.py:3930 flatcamGUI/PreferencesUI.py:4272 +#: flatcamGUI/PreferencesUI.py:4036 flatcamGUI/PreferencesUI.py:4379 msgid "Area" msgstr "Aria" -#: flatcamGUI/PreferencesUI.py:3931 +#: flatcamGUI/PreferencesUI.py:4037 msgid "Ref" msgstr "Ref" -#: flatcamGUI/PreferencesUI.py:3932 flatcamGUI/PreferencesUI.py:4451 +#: flatcamGUI/PreferencesUI.py:4038 flatcamGUI/PreferencesUI.py:4558 #: flatcamTools/ToolFilm.py:202 msgid "Reference" msgstr "Referinţă" -#: flatcamGUI/PreferencesUI.py:3934 flatcamTools/ToolNonCopperClear.py:432 +#: flatcamGUI/PreferencesUI.py:4040 msgid "" "- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" @@ -9951,19 +10601,19 @@ msgstr "" "- „Obiect de referință” - va face o curățare fără cupru în zona\n" "specificată de un alt obiect." -#: flatcamGUI/PreferencesUI.py:3945 flatcamGUI/PreferencesUI.py:4280 +#: flatcamGUI/PreferencesUI.py:4052 flatcamGUI/PreferencesUI.py:4387 msgid "Normal" msgstr "Normal" -#: flatcamGUI/PreferencesUI.py:3946 flatcamGUI/PreferencesUI.py:4281 +#: flatcamGUI/PreferencesUI.py:4053 flatcamGUI/PreferencesUI.py:4388 msgid "Progressive" msgstr "Progresiv" -#: flatcamGUI/PreferencesUI.py:3947 +#: flatcamGUI/PreferencesUI.py:4054 msgid "NCC Plotting" msgstr "Afisare NCC" -#: flatcamGUI/PreferencesUI.py:3949 +#: flatcamGUI/PreferencesUI.py:4056 msgid "" "- 'Normal' - normal plotting, done at the end of the NCC job\n" "- 'Progressive' - after each shape is generated it will be plotted." @@ -9971,11 +10621,11 @@ msgstr "" "- 'Normal' - afisare normală, efectuată la sfarsitul activitătii NCC\n" "- 'Progresiv' - forma se afisează imediat ce a fost generată." -#: flatcamGUI/PreferencesUI.py:3963 +#: flatcamGUI/PreferencesUI.py:4070 msgid "Cutout Tool Options" msgstr "Opțiuni Unealta Decupare" -#: flatcamGUI/PreferencesUI.py:3980 flatcamTools/ToolCutOut.py:114 +#: flatcamGUI/PreferencesUI.py:4087 flatcamTools/ToolCutOut.py:114 msgid "" "Diameter of the tool used to cutout\n" "the PCB shape out of the surrounding material." @@ -9983,11 +10633,11 @@ msgstr "" "Diametrul uneltei folosita pt decuparea\n" "PCB-ului din materialului inconjurator." -#: flatcamGUI/PreferencesUI.py:3992 flatcamTools/ToolCutOut.py:95 +#: flatcamGUI/PreferencesUI.py:4099 flatcamTools/ToolCutOut.py:95 msgid "Obj kind" msgstr "Tipul de obiect" -#: flatcamGUI/PreferencesUI.py:3994 flatcamTools/ToolCutOut.py:97 +#: flatcamGUI/PreferencesUI.py:4101 flatcamTools/ToolCutOut.py:97 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -9999,16 +10649,16 @@ msgstr "" "tip panel, care este făcut\n" "din mai multe contururi PCB." -#: flatcamGUI/PreferencesUI.py:4001 flatcamGUI/PreferencesUI.py:4271 +#: flatcamGUI/PreferencesUI.py:4108 flatcamGUI/PreferencesUI.py:4378 #: flatcamTools/ToolCutOut.py:103 msgid "Single" msgstr "Unic" -#: flatcamGUI/PreferencesUI.py:4002 flatcamTools/ToolCutOut.py:104 +#: flatcamGUI/PreferencesUI.py:4109 flatcamTools/ToolCutOut.py:104 msgid "Panel" msgstr "Panel" -#: flatcamGUI/PreferencesUI.py:4008 flatcamTools/ToolCutOut.py:125 +#: flatcamGUI/PreferencesUI.py:4115 flatcamTools/ToolCutOut.py:125 msgid "" "Margin over bounds. A positive value here\n" "will make the cutout of the PCB further from\n" @@ -10018,11 +10668,11 @@ msgstr "" "va face decuparea distanțat cu aceasta valoare \n" "fata de PCB-ul efectiv" -#: flatcamGUI/PreferencesUI.py:4020 +#: flatcamGUI/PreferencesUI.py:4127 msgid "Gap size" msgstr "Dim. punte" -#: flatcamGUI/PreferencesUI.py:4022 flatcamTools/ToolCutOut.py:137 +#: flatcamGUI/PreferencesUI.py:4129 flatcamTools/ToolCutOut.py:137 msgid "" "The size of the bridge gaps in the cutout\n" "used to keep the board connected to\n" @@ -10033,11 +10683,11 @@ msgstr "" "in a mentine ataşat PCB-ul la materialul de unde \n" "este decupat." -#: flatcamGUI/PreferencesUI.py:4035 flatcamTools/ToolCutOut.py:173 +#: flatcamGUI/PreferencesUI.py:4142 flatcamTools/ToolCutOut.py:173 msgid "Gaps" msgstr "Punţi" -#: flatcamGUI/PreferencesUI.py:4037 +#: flatcamGUI/PreferencesUI.py:4144 msgid "" "Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" @@ -10061,11 +10711,11 @@ msgstr "" "- 2tb = 2* sus - 2* jos\n" "- 8 = 2* stânga - 2* dreapta - 2* sus - 2* jos" -#: flatcamGUI/PreferencesUI.py:4059 flatcamTools/ToolCutOut.py:154 +#: flatcamGUI/PreferencesUI.py:4166 flatcamTools/ToolCutOut.py:154 msgid "Convex Sh." msgstr "Formă Conv." -#: flatcamGUI/PreferencesUI.py:4061 flatcamTools/ToolCutOut.py:156 +#: flatcamGUI/PreferencesUI.py:4168 flatcamTools/ToolCutOut.py:156 msgid "" "Create a convex shape surrounding the entire PCB.\n" "Used only if the source object type is Gerber." @@ -10074,11 +10724,11 @@ msgstr "" "tot PCB-ul. Forma sa este convexa.\n" "Se foloseste doar daca obiectul sursă este de tip Gerber." -#: flatcamGUI/PreferencesUI.py:4075 +#: flatcamGUI/PreferencesUI.py:4182 msgid "2Sided Tool Options" msgstr "Opțiuni Unealta 2Fețe" -#: flatcamGUI/PreferencesUI.py:4081 +#: flatcamGUI/PreferencesUI.py:4188 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -10086,36 +10736,36 @@ msgstr "" "O unealtă care ajuta in crearea de PCB-uri cu 2 fețe\n" "folosind găuri de aliniere." -#: flatcamGUI/PreferencesUI.py:4095 flatcamTools/ToolDblSided.py:247 +#: flatcamGUI/PreferencesUI.py:4202 flatcamTools/ToolDblSided.py:247 msgid "Drill dia" msgstr "Dia gaură" -#: flatcamGUI/PreferencesUI.py:4097 flatcamTools/ToolDblSided.py:238 +#: flatcamGUI/PreferencesUI.py:4204 flatcamTools/ToolDblSided.py:238 #: flatcamTools/ToolDblSided.py:249 msgid "Diameter of the drill for the alignment holes." msgstr "Diametrul găurii pentru găurile de aliniere." -#: flatcamGUI/PreferencesUI.py:4106 flatcamTools/ToolDblSided.py:128 +#: flatcamGUI/PreferencesUI.py:4213 flatcamTools/ToolDblSided.py:128 msgid "Mirror Axis:" msgstr "Axe oglindire:" -#: flatcamGUI/PreferencesUI.py:4108 flatcamTools/ToolDblSided.py:130 +#: flatcamGUI/PreferencesUI.py:4215 flatcamTools/ToolDblSided.py:130 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Oglindește vertical (X) sau orizontal (Y)." -#: flatcamGUI/PreferencesUI.py:4117 flatcamTools/ToolDblSided.py:139 +#: flatcamGUI/PreferencesUI.py:4224 flatcamTools/ToolDblSided.py:139 msgid "Point" msgstr "Punct" -#: flatcamGUI/PreferencesUI.py:4118 flatcamTools/ToolDblSided.py:140 +#: flatcamGUI/PreferencesUI.py:4225 flatcamTools/ToolDblSided.py:140 msgid "Box" msgstr "Forma" -#: flatcamGUI/PreferencesUI.py:4119 +#: flatcamGUI/PreferencesUI.py:4226 msgid "Axis Ref" msgstr "Axa de Ref" -#: flatcamGUI/PreferencesUI.py:4121 flatcamTools/ToolDblSided.py:143 +#: flatcamGUI/PreferencesUI.py:4228 flatcamTools/ToolDblSided.py:143 msgid "" "The axis should pass through a point or cut\n" " a specified box (in a FlatCAM object) through \n" @@ -10124,19 +10774,19 @@ msgstr "" "Axa de referinţă ar trebui să treacă printr-un punct ori să strabata\n" " o forma (obiect FlatCAM) prin mijloc." -#: flatcamGUI/PreferencesUI.py:4137 +#: flatcamGUI/PreferencesUI.py:4244 msgid "Paint Tool Options" msgstr "Opțiuni Unealta Paint" -#: flatcamGUI/PreferencesUI.py:4143 +#: flatcamGUI/PreferencesUI.py:4250 msgid "Parameters:" msgstr "Parametri:" -#: flatcamGUI/PreferencesUI.py:4261 flatcamTools/ToolPaint.py:302 +#: flatcamGUI/PreferencesUI.py:4368 flatcamTools/ToolPaint.py:302 msgid "Selection" msgstr "Selecţie" -#: flatcamGUI/PreferencesUI.py:4263 flatcamTools/ToolPaint.py:304 +#: flatcamGUI/PreferencesUI.py:4370 flatcamTools/ToolPaint.py:304 #: flatcamTools/ToolPaint.py:320 msgid "" "How to select Polygons to be painted.\n" @@ -10159,15 +10809,15 @@ msgstr "" "- „Obiect de referință” - va face o curățare fără cupru în zona\n" "specificată de un alt obiect." -#: flatcamGUI/PreferencesUI.py:4274 +#: flatcamGUI/PreferencesUI.py:4381 msgid "Ref." msgstr "Ref." -#: flatcamGUI/PreferencesUI.py:4282 +#: flatcamGUI/PreferencesUI.py:4389 msgid "Paint Plotting" msgstr "Afisare Paint" -#: flatcamGUI/PreferencesUI.py:4284 +#: flatcamGUI/PreferencesUI.py:4391 msgid "" "- 'Normal' - normal plotting, done at the end of the Paint job\n" "- 'Progressive' - after each shape is generated it will be plotted." @@ -10175,11 +10825,11 @@ msgstr "" "- 'Normal' - afisare normală, efectuată la sfarsitul activitătii Paint\n" "- 'Progresiv' - forma se afisează imediat ce a fost generată." -#: flatcamGUI/PreferencesUI.py:4298 +#: flatcamGUI/PreferencesUI.py:4405 msgid "Film Tool Options" msgstr "Opțiuni Unealta Film" -#: flatcamGUI/PreferencesUI.py:4304 +#: flatcamGUI/PreferencesUI.py:4411 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -10188,11 +10838,11 @@ msgstr "" "Crează un film PCB dintr-un obiect Gerber sau tip Geometrie.\n" "Fişierul este salvat in format SVG." -#: flatcamGUI/PreferencesUI.py:4315 +#: flatcamGUI/PreferencesUI.py:4422 msgid "Film Type" msgstr "Tip film" -#: flatcamGUI/PreferencesUI.py:4317 flatcamTools/ToolFilm.py:270 +#: flatcamGUI/PreferencesUI.py:4424 flatcamTools/ToolFilm.py:270 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -10206,19 +10856,19 @@ msgstr "" "Negativ = traseele vor fi albe pe un fundal negru.\n" "Formatul fişierului pt filmul salvat este SVG." -#: flatcamGUI/PreferencesUI.py:4328 +#: flatcamGUI/PreferencesUI.py:4435 msgid "Film Color" msgstr "Film Color" -#: flatcamGUI/PreferencesUI.py:4330 +#: flatcamGUI/PreferencesUI.py:4437 msgid "Set the film color when positive film is selected." msgstr "Setați culoarea filmului atunci când este selectat filmul pozitiv." -#: flatcamGUI/PreferencesUI.py:4353 flatcamTools/ToolFilm.py:286 +#: flatcamGUI/PreferencesUI.py:4460 flatcamTools/ToolFilm.py:286 msgid "Border" msgstr "Bordură" -#: flatcamGUI/PreferencesUI.py:4355 flatcamTools/ToolFilm.py:288 +#: flatcamGUI/PreferencesUI.py:4462 flatcamTools/ToolFilm.py:288 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -10235,11 +10885,11 @@ msgstr "" "Va crea o bara solidă neagră in jurul printului efectiv permitand o\n" "delimitare exactă." -#: flatcamGUI/PreferencesUI.py:4372 flatcamTools/ToolFilm.py:253 +#: flatcamGUI/PreferencesUI.py:4479 flatcamTools/ToolFilm.py:253 msgid "Scale Stroke" msgstr "Scalează" -#: flatcamGUI/PreferencesUI.py:4374 flatcamTools/ToolFilm.py:255 +#: flatcamGUI/PreferencesUI.py:4481 flatcamTools/ToolFilm.py:255 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 " @@ -10249,11 +10899,11 @@ msgstr "" "Scalează grosimea conturului fiecarui element din fişierul SVG.\n" "Elementele mai mici vor fi afectate mai mult." -#: flatcamGUI/PreferencesUI.py:4381 flatcamTools/ToolFilm.py:130 +#: flatcamGUI/PreferencesUI.py:4488 flatcamTools/ToolFilm.py:130 msgid "Film Adjustments" msgstr "Reglarea filmelor" -#: flatcamGUI/PreferencesUI.py:4383 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/PreferencesUI.py:4490 flatcamTools/ToolFilm.py:132 msgid "" "Sometime the printers will distort the print shape, especially the Laser " "types.\n" @@ -10264,11 +10914,11 @@ msgstr "" "Această secțiune oferă instrumentele pentru a compensa distorsiunile de " "tipărire." -#: flatcamGUI/PreferencesUI.py:4390 flatcamTools/ToolFilm.py:139 +#: flatcamGUI/PreferencesUI.py:4497 flatcamTools/ToolFilm.py:139 msgid "Scale Film geometry" msgstr "Scalați geo film" -#: flatcamGUI/PreferencesUI.py:4392 flatcamTools/ToolFilm.py:141 +#: flatcamGUI/PreferencesUI.py:4499 flatcamTools/ToolFilm.py:141 msgid "" "A value greater than 1 will stretch the film\n" "while a value less than 1 will jolt it." @@ -10276,21 +10926,21 @@ msgstr "" "O valoare mai mare de 1 va întinde filmul\n" "în timp ce o valoare mai mică de 1 il va compacta." -#: flatcamGUI/PreferencesUI.py:4402 flatcamGUI/PreferencesUI.py:4821 +#: flatcamGUI/PreferencesUI.py:4509 flatcamGUI/PreferencesUI.py:4930 #: flatcamTools/ToolFilm.py:151 flatcamTools/ToolTransform.py:147 msgid "X factor" msgstr "Factor X" -#: flatcamGUI/PreferencesUI.py:4411 flatcamGUI/PreferencesUI.py:4834 +#: flatcamGUI/PreferencesUI.py:4518 flatcamGUI/PreferencesUI.py:4943 #: flatcamTools/ToolFilm.py:160 flatcamTools/ToolTransform.py:168 msgid "Y factor" msgstr "Factor Y" -#: flatcamGUI/PreferencesUI.py:4421 flatcamTools/ToolFilm.py:172 +#: flatcamGUI/PreferencesUI.py:4528 flatcamTools/ToolFilm.py:172 msgid "Skew Film geometry" msgstr "Deformeaza Geo Film" -#: flatcamGUI/PreferencesUI.py:4423 flatcamTools/ToolFilm.py:174 +#: flatcamGUI/PreferencesUI.py:4530 flatcamTools/ToolFilm.py:174 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -10298,17 +10948,17 @@ msgstr "" "Valorile pozitive vor înclina spre dreapta\n" "în timp ce valorile negative vor înclina spre stânga." -#: flatcamGUI/PreferencesUI.py:4433 flatcamGUI/PreferencesUI.py:4790 +#: flatcamGUI/PreferencesUI.py:4540 flatcamGUI/PreferencesUI.py:4899 #: flatcamTools/ToolFilm.py:184 flatcamTools/ToolTransform.py:97 msgid "X angle" msgstr "Unghi X" -#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:4804 +#: flatcamGUI/PreferencesUI.py:4549 flatcamGUI/PreferencesUI.py:4913 #: flatcamTools/ToolFilm.py:193 flatcamTools/ToolTransform.py:119 msgid "Y angle" msgstr "Unghi Y" -#: flatcamGUI/PreferencesUI.py:4453 flatcamTools/ToolFilm.py:204 +#: flatcamGUI/PreferencesUI.py:4560 flatcamTools/ToolFilm.py:204 msgid "" "The reference point to be used as origin for the skew.\n" "It can be one of the four points of the geometry bounding box." @@ -10317,43 +10967,46 @@ msgstr "" "Poate fi unul dintre cele patru puncte ale căsuței de delimitare a " "geometriei." -#: flatcamGUI/PreferencesUI.py:4456 flatcamTools/ToolFilm.py:207 +#: flatcamGUI/PreferencesUI.py:4563 flatcamTools/ToolCalibrateExcellon.py:151 +#: flatcamTools/ToolFilm.py:207 msgid "Bottom Left" msgstr "Stânga jos" -#: flatcamGUI/PreferencesUI.py:4457 flatcamTools/ToolFilm.py:208 +#: flatcamGUI/PreferencesUI.py:4564 flatcamTools/ToolCalibrateExcellon.py:204 +#: flatcamTools/ToolFilm.py:208 msgid "Top Left" msgstr "Stânga sus" -#: flatcamGUI/PreferencesUI.py:4458 flatcamTools/ToolFilm.py:209 +#: flatcamGUI/PreferencesUI.py:4565 flatcamTools/ToolCalibrateExcellon.py:180 +#: flatcamTools/ToolFilm.py:209 msgid "Bottom Right" msgstr "Dreapta-jos" -#: flatcamGUI/PreferencesUI.py:4459 flatcamTools/ToolFilm.py:210 +#: flatcamGUI/PreferencesUI.py:4566 flatcamTools/ToolFilm.py:210 msgid "Top right" msgstr "Dreapta-sus" -#: flatcamGUI/PreferencesUI.py:4467 flatcamTools/ToolFilm.py:221 +#: flatcamGUI/PreferencesUI.py:4574 flatcamTools/ToolFilm.py:221 msgid "Mirror Film geometry" msgstr "Oglindeste Geo Film" -#: flatcamGUI/PreferencesUI.py:4469 flatcamTools/ToolFilm.py:223 +#: flatcamGUI/PreferencesUI.py:4576 flatcamTools/ToolFilm.py:223 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Oglindeste geometria filmului pe axa selectată sau pe ambele." -#: flatcamGUI/PreferencesUI.py:4481 flatcamTools/ToolFilm.py:235 +#: flatcamGUI/PreferencesUI.py:4588 flatcamTools/ToolFilm.py:235 msgid "Both" msgstr "Ambele" -#: flatcamGUI/PreferencesUI.py:4483 flatcamTools/ToolFilm.py:237 +#: flatcamGUI/PreferencesUI.py:4590 flatcamTools/ToolFilm.py:237 msgid "Mirror axis" msgstr "Axe oglindire" -#: flatcamGUI/PreferencesUI.py:4496 +#: flatcamGUI/PreferencesUI.py:4603 msgid "Panelize Tool Options" msgstr "Opțiuni Unealta Panelizare" -#: flatcamGUI/PreferencesUI.py:4502 +#: flatcamGUI/PreferencesUI.py:4609 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -10363,11 +11016,11 @@ msgstr "" "unde fiecare element este o copie a obiectului sursa, separat la o\n" "distanţă X, Y unul de celalalt." -#: flatcamGUI/PreferencesUI.py:4517 flatcamTools/ToolPanelize.py:159 +#: flatcamGUI/PreferencesUI.py:4626 flatcamTools/ToolPanelize.py:159 msgid "Spacing cols" msgstr "Sep. coloane" -#: flatcamGUI/PreferencesUI.py:4519 flatcamTools/ToolPanelize.py:161 +#: flatcamGUI/PreferencesUI.py:4628 flatcamTools/ToolPanelize.py:161 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -10375,11 +11028,11 @@ msgstr "" "Spatiul de separare între coloane.\n" "In unitatile curente." -#: flatcamGUI/PreferencesUI.py:4531 flatcamTools/ToolPanelize.py:171 +#: flatcamGUI/PreferencesUI.py:4640 flatcamTools/ToolPanelize.py:171 msgid "Spacing rows" msgstr "Sep. linii" -#: flatcamGUI/PreferencesUI.py:4533 flatcamTools/ToolPanelize.py:173 +#: flatcamGUI/PreferencesUI.py:4642 flatcamTools/ToolPanelize.py:173 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -10387,35 +11040,35 @@ msgstr "" "Spatiul de separare între linii.\n" "In unitatile curente." -#: flatcamGUI/PreferencesUI.py:4544 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/PreferencesUI.py:4653 flatcamTools/ToolPanelize.py:182 msgid "Columns" msgstr "Coloane" -#: flatcamGUI/PreferencesUI.py:4546 flatcamTools/ToolPanelize.py:184 +#: flatcamGUI/PreferencesUI.py:4655 flatcamTools/ToolPanelize.py:184 msgid "Number of columns of the desired panel" msgstr "Numărul de coloane ale panel-ului dorit" -#: flatcamGUI/PreferencesUI.py:4556 flatcamTools/ToolPanelize.py:192 +#: flatcamGUI/PreferencesUI.py:4665 flatcamTools/ToolPanelize.py:192 msgid "Rows" msgstr "Linii" -#: flatcamGUI/PreferencesUI.py:4558 flatcamTools/ToolPanelize.py:194 +#: flatcamGUI/PreferencesUI.py:4667 flatcamTools/ToolPanelize.py:194 msgid "Number of rows of the desired panel" msgstr "Numărul de linii ale panel-ului dorit" -#: flatcamGUI/PreferencesUI.py:4564 flatcamTools/ToolPanelize.py:200 +#: flatcamGUI/PreferencesUI.py:4673 flatcamTools/ToolPanelize.py:200 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/PreferencesUI.py:4565 flatcamTools/ToolPanelize.py:201 +#: flatcamGUI/PreferencesUI.py:4674 flatcamTools/ToolPanelize.py:201 msgid "Geo" msgstr "Geo" -#: flatcamGUI/PreferencesUI.py:4566 flatcamTools/ToolPanelize.py:202 +#: flatcamGUI/PreferencesUI.py:4675 flatcamTools/ToolPanelize.py:202 msgid "Panel Type" msgstr "Tip panel" -#: flatcamGUI/PreferencesUI.py:4568 +#: flatcamGUI/PreferencesUI.py:4677 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -10425,11 +11078,11 @@ msgstr "" "- Gerber\n" "- Geometrie" -#: flatcamGUI/PreferencesUI.py:4577 +#: flatcamGUI/PreferencesUI.py:4686 msgid "Constrain within" msgstr "Constrange" -#: flatcamGUI/PreferencesUI.py:4579 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/PreferencesUI.py:4688 flatcamTools/ToolPanelize.py:214 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -10443,11 +11096,11 @@ msgstr "" "panelul final va contine numai acel număr de linii/coloane care se inscrie\n" "complet in aria desemnata." -#: flatcamGUI/PreferencesUI.py:4592 flatcamTools/ToolPanelize.py:226 +#: flatcamGUI/PreferencesUI.py:4701 flatcamTools/ToolPanelize.py:226 msgid "Width (DX)" msgstr "Lătime (Dx)" -#: flatcamGUI/PreferencesUI.py:4594 flatcamTools/ToolPanelize.py:228 +#: flatcamGUI/PreferencesUI.py:4703 flatcamTools/ToolPanelize.py:228 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -10455,11 +11108,11 @@ msgstr "" "Lăţimea (Dx) in care panelul trebuie să se inscrie.\n" "In unitati curente." -#: flatcamGUI/PreferencesUI.py:4605 flatcamTools/ToolPanelize.py:237 +#: flatcamGUI/PreferencesUI.py:4714 flatcamTools/ToolPanelize.py:237 msgid "Height (DY)" msgstr "Inăltime (Dy)" -#: flatcamGUI/PreferencesUI.py:4607 flatcamTools/ToolPanelize.py:239 +#: flatcamGUI/PreferencesUI.py:4716 flatcamTools/ToolPanelize.py:239 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -10467,15 +11120,15 @@ msgstr "" "Înălţimea (Dy) in care panelul trebuie să se inscrie.\n" "In unitati curente." -#: flatcamGUI/PreferencesUI.py:4621 +#: flatcamGUI/PreferencesUI.py:4730 msgid "Calculators Tool Options" msgstr "Opțiuni Unealta Calculatoare" -#: flatcamGUI/PreferencesUI.py:4625 flatcamTools/ToolCalculators.py:25 +#: flatcamGUI/PreferencesUI.py:4734 flatcamTools/ToolCalculators.py:25 msgid "V-Shape Tool Calculator" msgstr "Calculator Unealta V-Shape" -#: flatcamGUI/PreferencesUI.py:4627 +#: flatcamGUI/PreferencesUI.py:4736 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -10485,11 +11138,11 @@ msgstr "" "avand diametrul vârfului și unghiul la vârf cat și\n" "adâncimea de tăiere, ca parametri." -#: flatcamGUI/PreferencesUI.py:4642 flatcamTools/ToolCalculators.py:94 +#: flatcamGUI/PreferencesUI.py:4751 flatcamTools/ToolCalculators.py:94 msgid "Tip Diameter" msgstr "Dia vârf" -#: flatcamGUI/PreferencesUI.py:4644 flatcamTools/ToolCalculators.py:100 +#: flatcamGUI/PreferencesUI.py:4753 flatcamTools/ToolCalculators.py:102 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -10497,11 +11150,11 @@ msgstr "" "Acesta este diametrul la vârf al uneltei.\n" "Este specificat de producator." -#: flatcamGUI/PreferencesUI.py:4656 flatcamTools/ToolCalculators.py:103 +#: flatcamGUI/PreferencesUI.py:4765 flatcamTools/ToolCalculators.py:105 msgid "Tip Angle" msgstr "V-Unghi" -#: flatcamGUI/PreferencesUI.py:4658 +#: flatcamGUI/PreferencesUI.py:4767 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -10509,7 +11162,7 @@ msgstr "" "Acesta este unghiul la vârf al uneltei.\n" "Este specificat de producator." -#: flatcamGUI/PreferencesUI.py:4672 +#: flatcamGUI/PreferencesUI.py:4781 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -10517,11 +11170,11 @@ msgstr "" "Aceasta este adâncimea la care se taie in material.\n" "In obiectul CNCJob este parametrul >Z tăiere<." -#: flatcamGUI/PreferencesUI.py:4679 flatcamTools/ToolCalculators.py:27 +#: flatcamGUI/PreferencesUI.py:4788 flatcamTools/ToolCalculators.py:27 msgid "ElectroPlating Calculator" msgstr "Calculator ElectroPlacare" -#: flatcamGUI/PreferencesUI.py:4681 flatcamTools/ToolCalculators.py:154 +#: flatcamGUI/PreferencesUI.py:4790 flatcamTools/ToolCalculators.py:158 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -10533,31 +11186,31 @@ msgstr "" "- clorura paladiu\n" "- hipofosfit de calciu." -#: flatcamGUI/PreferencesUI.py:4695 flatcamTools/ToolCalculators.py:163 +#: flatcamGUI/PreferencesUI.py:4804 flatcamTools/ToolCalculators.py:167 msgid "Board Length" msgstr "Lung. plăcii" -#: flatcamGUI/PreferencesUI.py:4697 flatcamTools/ToolCalculators.py:168 +#: flatcamGUI/PreferencesUI.py:4806 flatcamTools/ToolCalculators.py:173 msgid "This is the board length. In centimeters." msgstr "" "Aceasta este lungimea PCB-ului.\n" "In centimetri." -#: flatcamGUI/PreferencesUI.py:4707 flatcamTools/ToolCalculators.py:170 +#: flatcamGUI/PreferencesUI.py:4816 flatcamTools/ToolCalculators.py:175 msgid "Board Width" msgstr "Lăt. plăcii" -#: flatcamGUI/PreferencesUI.py:4709 flatcamTools/ToolCalculators.py:175 +#: flatcamGUI/PreferencesUI.py:4818 flatcamTools/ToolCalculators.py:181 msgid "This is the board width.In centimeters." msgstr "" "Aceasta este lăţimea PCB-ului.\n" "In centimetri." -#: flatcamGUI/PreferencesUI.py:4714 flatcamTools/ToolCalculators.py:177 +#: flatcamGUI/PreferencesUI.py:4823 flatcamTools/ToolCalculators.py:183 msgid "Current Density" msgstr "Densitate I" -#: flatcamGUI/PreferencesUI.py:4720 flatcamTools/ToolCalculators.py:182 +#: flatcamGUI/PreferencesUI.py:4829 flatcamTools/ToolCalculators.py:190 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -10565,11 +11218,11 @@ msgstr "" "Densitatea de curent care să treaca prin placa.\n" "In ASF (amperi pe picior la patrat)." -#: flatcamGUI/PreferencesUI.py:4726 flatcamTools/ToolCalculators.py:185 +#: flatcamGUI/PreferencesUI.py:4835 flatcamTools/ToolCalculators.py:193 msgid "Copper Growth" msgstr "Grosime Cu" -#: flatcamGUI/PreferencesUI.py:4732 flatcamTools/ToolCalculators.py:190 +#: flatcamGUI/PreferencesUI.py:4841 flatcamTools/ToolCalculators.py:200 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -10577,11 +11230,11 @@ msgstr "" "Cat de gros se dorește să fie stratul de cupru depus.\n" "In microni." -#: flatcamGUI/PreferencesUI.py:4745 +#: flatcamGUI/PreferencesUI.py:4854 msgid "Transform Tool Options" msgstr "Opțiuni Unealta Transformare" -#: flatcamGUI/PreferencesUI.py:4751 +#: flatcamGUI/PreferencesUI.py:4860 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -10589,19 +11242,20 @@ msgstr "" "Diverse transformări care pot fi aplicate\n" "asupra unui obiect FlatCAM." -#: flatcamGUI/PreferencesUI.py:4782 +#: flatcamGUI/PreferencesUI.py:4891 flatcamTools/ToolCalibrateExcellon.py:338 +#: flatcamTools/ToolCalibrateExcellon.py:367 msgid "Skew" msgstr "Deformare" -#: flatcamGUI/PreferencesUI.py:4823 flatcamTools/ToolTransform.py:149 +#: flatcamGUI/PreferencesUI.py:4932 flatcamTools/ToolTransform.py:149 msgid "Factor for scaling on X axis." msgstr "Factor de scalare pe axa X." -#: flatcamGUI/PreferencesUI.py:4836 flatcamTools/ToolTransform.py:170 +#: flatcamGUI/PreferencesUI.py:4945 flatcamTools/ToolTransform.py:170 msgid "Factor for scaling on Y axis." msgstr "Factor de scalare pe axa Y." -#: flatcamGUI/PreferencesUI.py:4844 flatcamTools/ToolTransform.py:193 +#: flatcamGUI/PreferencesUI.py:4953 flatcamTools/ToolTransform.py:193 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -10609,7 +11263,7 @@ msgstr "" "Scalează obiectele selectate folosind\n" "Factor Scal_X pentru ambele axe." -#: flatcamGUI/PreferencesUI.py:4852 flatcamTools/ToolTransform.py:201 +#: flatcamGUI/PreferencesUI.py:4961 flatcamTools/ToolTransform.py:201 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -10622,27 +11276,27 @@ msgstr "" "centrul formei inconjuatoare care cuprinde\n" "toate obiectele selectate." -#: flatcamGUI/PreferencesUI.py:4868 flatcamTools/ToolTransform.py:216 +#: flatcamGUI/PreferencesUI.py:4977 flatcamTools/ToolTransform.py:216 msgid "X val" msgstr "Val X" -#: flatcamGUI/PreferencesUI.py:4870 flatcamTools/ToolTransform.py:218 +#: flatcamGUI/PreferencesUI.py:4979 flatcamTools/ToolTransform.py:218 msgid "Distance to offset on X axis. In current units." msgstr "Distanta la care se face ofset pe axa X. In unitatile curente." -#: flatcamGUI/PreferencesUI.py:4881 flatcamTools/ToolTransform.py:237 +#: flatcamGUI/PreferencesUI.py:4990 flatcamTools/ToolTransform.py:237 msgid "Y val" msgstr "Val Y" -#: flatcamGUI/PreferencesUI.py:4883 flatcamTools/ToolTransform.py:239 +#: flatcamGUI/PreferencesUI.py:4992 flatcamTools/ToolTransform.py:239 msgid "Distance to offset on Y axis. In current units." msgstr "Distanta la care se face ofset pe axa Y. In unitatile curente." -#: flatcamGUI/PreferencesUI.py:4889 flatcamTools/ToolTransform.py:284 +#: flatcamGUI/PreferencesUI.py:4998 flatcamTools/ToolTransform.py:284 msgid "Mirror Reference" msgstr "Referinţă Oglindire" -#: flatcamGUI/PreferencesUI.py:4891 flatcamTools/ToolTransform.py:286 +#: flatcamGUI/PreferencesUI.py:5000 flatcamTools/ToolTransform.py:286 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -10665,11 +11319,11 @@ msgstr "" "in forma (x, y).\n" "La final apasă butonul de oglindire pe axa dorită" -#: flatcamGUI/PreferencesUI.py:4902 +#: flatcamGUI/PreferencesUI.py:5011 msgid "Mirror Reference point" msgstr "Punct referinţă Oglindire" -#: flatcamGUI/PreferencesUI.py:4904 +#: flatcamGUI/PreferencesUI.py:5013 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" @@ -10680,11 +11334,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 si" -#: flatcamGUI/PreferencesUI.py:4921 +#: flatcamGUI/PreferencesUI.py:5030 msgid "SolderPaste Tool Options" msgstr "Opțiuni Unealta Pasta Fludor" -#: flatcamGUI/PreferencesUI.py:4926 +#: flatcamGUI/PreferencesUI.py:5036 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -10692,49 +11346,49 @@ msgstr "" "O unealtă care crează cod G-Code pentru dispensarea de pastă de fludor\n" "pe padurile unui PCB." -#: flatcamGUI/PreferencesUI.py:4937 +#: flatcamGUI/PreferencesUI.py:5047 msgid "Diameters of nozzle tools, separated by ','" msgstr "Diametrele uneltelor (nozzle), separate prin virgula." -#: flatcamGUI/PreferencesUI.py:4944 +#: flatcamGUI/PreferencesUI.py:5055 msgid "New Nozzle Dia" msgstr "Dia nou" -#: flatcamGUI/PreferencesUI.py:4946 flatcamTools/ToolSolderPaste.py:102 +#: flatcamGUI/PreferencesUI.py:5057 flatcamTools/ToolSolderPaste.py:106 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Valoarea pentru diametrul unei noi unelte (nozzle) pentru adaugare in Tabela " "de Unelte" -#: flatcamGUI/PreferencesUI.py:4954 flatcamTools/ToolSolderPaste.py:165 +#: flatcamGUI/PreferencesUI.py:5073 flatcamTools/ToolSolderPaste.py:176 msgid "Z Dispense Start" msgstr "Z start disp." -#: flatcamGUI/PreferencesUI.py:4956 flatcamTools/ToolSolderPaste.py:167 +#: flatcamGUI/PreferencesUI.py:5075 flatcamTools/ToolSolderPaste.py:178 msgid "The height (Z) when solder paste dispensing starts." msgstr "Înălţimea (Z) când incepe dispensarea de pastă de fludor." -#: flatcamGUI/PreferencesUI.py:4963 flatcamTools/ToolSolderPaste.py:173 +#: flatcamGUI/PreferencesUI.py:5086 flatcamTools/ToolSolderPaste.py:188 msgid "Z Dispense" msgstr "Z disp." -#: flatcamGUI/PreferencesUI.py:4965 flatcamTools/ToolSolderPaste.py:175 +#: flatcamGUI/PreferencesUI.py:5088 flatcamTools/ToolSolderPaste.py:190 msgid "The height (Z) when doing solder paste dispensing." msgstr "Înălţimea (Z) in timp ce se face dispensarea de pastă de fludor." -#: flatcamGUI/PreferencesUI.py:4972 flatcamTools/ToolSolderPaste.py:181 +#: flatcamGUI/PreferencesUI.py:5099 flatcamTools/ToolSolderPaste.py:200 msgid "Z Dispense Stop" msgstr "Z stop disp." -#: flatcamGUI/PreferencesUI.py:4974 flatcamTools/ToolSolderPaste.py:183 +#: flatcamGUI/PreferencesUI.py:5101 flatcamTools/ToolSolderPaste.py:202 msgid "The height (Z) when solder paste dispensing stops." msgstr "Înălţimea (Z) când se opreste dispensarea de pastă de fludor." -#: flatcamGUI/PreferencesUI.py:4981 flatcamTools/ToolSolderPaste.py:189 +#: flatcamGUI/PreferencesUI.py:5112 flatcamTools/ToolSolderPaste.py:212 msgid "Z Travel" msgstr "Z deplasare" -#: flatcamGUI/PreferencesUI.py:4983 flatcamTools/ToolSolderPaste.py:191 +#: flatcamGUI/PreferencesUI.py:5114 flatcamTools/ToolSolderPaste.py:214 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -10742,15 +11396,15 @@ msgstr "" "Înălţimea (Z) când se face deplasare între pad-uri.\n" "(fără dispensare de pastă de fludor)." -#: flatcamGUI/PreferencesUI.py:4991 flatcamTools/ToolSolderPaste.py:198 +#: flatcamGUI/PreferencesUI.py:5126 flatcamTools/ToolSolderPaste.py:225 msgid "Z Toolchange" msgstr "Z schimb. unealtă" -#: flatcamGUI/PreferencesUI.py:4993 flatcamTools/ToolSolderPaste.py:200 +#: flatcamGUI/PreferencesUI.py:5128 flatcamTools/ToolSolderPaste.py:227 msgid "The height (Z) for tool (nozzle) change." msgstr "Înălţimea (Z) când se schimbă unealta (nozzle-ul)." -#: flatcamGUI/PreferencesUI.py:5002 flatcamTools/ToolSolderPaste.py:208 +#: flatcamGUI/PreferencesUI.py:5137 flatcamTools/ToolSolderPaste.py:235 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -10758,26 +11412,26 @@ msgstr "" "Coordonatele X, Y pentru schimbarea uneltei (nozzle).\n" "Formatul este (x,y) unde x și y sunt numere Reale." -#: flatcamGUI/PreferencesUI.py:5010 flatcamTools/ToolSolderPaste.py:215 +#: flatcamGUI/PreferencesUI.py:5149 flatcamTools/ToolSolderPaste.py:246 msgid "Feedrate X-Y" msgstr "Feedrate X-Y" -#: flatcamGUI/PreferencesUI.py:5012 flatcamTools/ToolSolderPaste.py:217 +#: flatcamGUI/PreferencesUI.py:5151 flatcamTools/ToolSolderPaste.py:248 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Viteza de deplasare a uneltei când se deplasează in planul X-Y." -#: flatcamGUI/PreferencesUI.py:5021 flatcamTools/ToolSolderPaste.py:225 +#: flatcamGUI/PreferencesUI.py:5164 flatcamTools/ToolSolderPaste.py:260 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." msgstr "" "Viteza de deplasare a uneltei când se misca in plan vertical (planul Z)." -#: flatcamGUI/PreferencesUI.py:5029 flatcamTools/ToolSolderPaste.py:232 +#: flatcamGUI/PreferencesUI.py:5176 flatcamTools/ToolSolderPaste.py:271 msgid "Feedrate Z Dispense" msgstr "Feedrate Z disp." -#: flatcamGUI/PreferencesUI.py:5031 +#: flatcamGUI/PreferencesUI.py:5178 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -10785,11 +11439,11 @@ msgstr "" "Viteza de deplasare la mișcarea pe verticala spre\n" "poziţia de dispensare (in planul Z)." -#: flatcamGUI/PreferencesUI.py:5039 flatcamTools/ToolSolderPaste.py:241 +#: flatcamGUI/PreferencesUI.py:5189 flatcamTools/ToolSolderPaste.py:283 msgid "Spindle Speed FWD" msgstr "Viteza motor inainte" -#: flatcamGUI/PreferencesUI.py:5041 flatcamTools/ToolSolderPaste.py:243 +#: flatcamGUI/PreferencesUI.py:5191 flatcamTools/ToolSolderPaste.py:285 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -10797,19 +11451,19 @@ msgstr "" "Viteza motorului de dispensare in timp ce impinge pastă de fludor\n" "prin orificiul uneltei de dispensare." -#: flatcamGUI/PreferencesUI.py:5049 flatcamTools/ToolSolderPaste.py:250 +#: flatcamGUI/PreferencesUI.py:5203 flatcamTools/ToolSolderPaste.py:296 msgid "Dwell FWD" msgstr "Pauza FWD" -#: flatcamGUI/PreferencesUI.py:5051 flatcamTools/ToolSolderPaste.py:252 +#: flatcamGUI/PreferencesUI.py:5205 flatcamTools/ToolSolderPaste.py:298 msgid "Pause after solder dispensing." msgstr "Pauza dupa dispensarea de pastă de fludor." -#: flatcamGUI/PreferencesUI.py:5058 flatcamTools/ToolSolderPaste.py:258 +#: flatcamGUI/PreferencesUI.py:5215 flatcamTools/ToolSolderPaste.py:307 msgid "Spindle Speed REV" msgstr "Viteza motor inapoi" -#: flatcamGUI/PreferencesUI.py:5060 flatcamTools/ToolSolderPaste.py:260 +#: flatcamGUI/PreferencesUI.py:5217 flatcamTools/ToolSolderPaste.py:309 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -10817,11 +11471,11 @@ msgstr "" "Viteza motorului de dispensare in timp ce retrage pasta de fludor\n" "prin orificiul uneltei de dispensare." -#: flatcamGUI/PreferencesUI.py:5068 flatcamTools/ToolSolderPaste.py:267 +#: flatcamGUI/PreferencesUI.py:5229 flatcamTools/ToolSolderPaste.py:320 msgid "Dwell REV" msgstr "Pauza REV" -#: flatcamGUI/PreferencesUI.py:5070 flatcamTools/ToolSolderPaste.py:269 +#: flatcamGUI/PreferencesUI.py:5231 flatcamTools/ToolSolderPaste.py:322 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -10829,15 +11483,15 @@ msgstr "" "Pauza dupa ce pasta de fludor a fost retrasă,\n" "necesară pt a ajunge la un echilibru al presiunilor." -#: flatcamGUI/PreferencesUI.py:5079 flatcamTools/ToolSolderPaste.py:277 +#: flatcamGUI/PreferencesUI.py:5240 flatcamTools/ToolSolderPaste.py:330 msgid "Files that control the GCode generation." msgstr "Fişiere care controlează generarea codului G-Code." -#: flatcamGUI/PreferencesUI.py:5094 +#: flatcamGUI/PreferencesUI.py:5255 msgid "Substractor Tool Options" msgstr "Opțiuni Unealta Substracţie" -#: flatcamGUI/PreferencesUI.py:5099 +#: flatcamGUI/PreferencesUI.py:5260 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -10845,22 +11499,22 @@ msgstr "" "O unealtă pentru scăderea unui obiect Gerber sau Geometry\n" "din altul de același tip." -#: flatcamGUI/PreferencesUI.py:5104 flatcamTools/ToolSub.py:142 +#: flatcamGUI/PreferencesUI.py:5265 flatcamTools/ToolSub.py:142 msgid "Close paths" msgstr "Închide căile" -#: flatcamGUI/PreferencesUI.py:5105 +#: flatcamGUI/PreferencesUI.py:5266 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Verificând aceasta, se vor închide căile tăiate de obiectul tăietor de tip " "Geometrie." -#: flatcamGUI/PreferencesUI.py:5116 +#: flatcamGUI/PreferencesUI.py:5277 msgid "Check Rules Tool Options" msgstr "Opțiuni Unealta Verificare Reguli" -#: flatcamGUI/PreferencesUI.py:5121 +#: flatcamGUI/PreferencesUI.py:5282 msgid "" "A tool to check if Gerber files are within a set\n" "of Manufacturing Rules." @@ -10868,20 +11522,20 @@ msgstr "" "Un instrument pentru a verifica dacă fișierele Gerber se află într-un set\n" "de Norme de fabricație." -#: flatcamGUI/PreferencesUI.py:5131 flatcamTools/ToolRulesCheck.py:256 +#: flatcamGUI/PreferencesUI.py:5292 flatcamTools/ToolRulesCheck.py:256 #: flatcamTools/ToolRulesCheck.py:900 msgid "Trace Size" msgstr "Dim. traseu" -#: flatcamGUI/PreferencesUI.py:5133 flatcamTools/ToolRulesCheck.py:258 +#: flatcamGUI/PreferencesUI.py:5294 flatcamTools/ToolRulesCheck.py:258 msgid "This checks if the minimum size for traces is met." msgstr "Aceasta verifică dacă dimensiunea minimă a traseelor este respectată." -#: flatcamGUI/PreferencesUI.py:5143 flatcamGUI/PreferencesUI.py:5163 -#: flatcamGUI/PreferencesUI.py:5183 flatcamGUI/PreferencesUI.py:5203 -#: flatcamGUI/PreferencesUI.py:5223 flatcamGUI/PreferencesUI.py:5243 -#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5283 -#: flatcamGUI/PreferencesUI.py:5305 flatcamGUI/PreferencesUI.py:5325 +#: flatcamGUI/PreferencesUI.py:5304 flatcamGUI/PreferencesUI.py:5324 +#: flatcamGUI/PreferencesUI.py:5344 flatcamGUI/PreferencesUI.py:5364 +#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5404 +#: flatcamGUI/PreferencesUI.py:5424 flatcamGUI/PreferencesUI.py:5444 +#: flatcamGUI/PreferencesUI.py:5466 flatcamGUI/PreferencesUI.py:5486 #: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290 #: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336 #: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382 @@ -10890,16 +11544,16 @@ msgstr "Aceasta verifică dacă dimensiunea minimă a traseelor este respectată msgid "Min value" msgstr "Val. min" -#: flatcamGUI/PreferencesUI.py:5145 flatcamTools/ToolRulesCheck.py:270 +#: flatcamGUI/PreferencesUI.py:5306 flatcamTools/ToolRulesCheck.py:270 msgid "Minimum acceptable trace size." msgstr "Dimensiunea minimă acceptabilă a traseelor." -#: flatcamGUI/PreferencesUI.py:5150 flatcamTools/ToolRulesCheck.py:277 +#: flatcamGUI/PreferencesUI.py:5311 flatcamTools/ToolRulesCheck.py:277 #: flatcamTools/ToolRulesCheck.py:1128 flatcamTools/ToolRulesCheck.py:1158 msgid "Copper to Copper clearance" msgstr "Distanta de la cupru până la cupru" -#: flatcamGUI/PreferencesUI.py:5152 flatcamTools/ToolRulesCheck.py:279 +#: flatcamGUI/PreferencesUI.py:5313 flatcamTools/ToolRulesCheck.py:279 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10907,23 +11561,23 @@ msgstr "" "Aceasta verifică dacă distanța minimă dintre traseele cupru\n" "este îndeplinita." -#: flatcamGUI/PreferencesUI.py:5165 flatcamGUI/PreferencesUI.py:5185 -#: flatcamGUI/PreferencesUI.py:5205 flatcamGUI/PreferencesUI.py:5225 -#: flatcamGUI/PreferencesUI.py:5245 flatcamGUI/PreferencesUI.py:5265 -#: flatcamGUI/PreferencesUI.py:5327 flatcamTools/ToolRulesCheck.py:292 +#: flatcamGUI/PreferencesUI.py:5326 flatcamGUI/PreferencesUI.py:5346 +#: flatcamGUI/PreferencesUI.py:5366 flatcamGUI/PreferencesUI.py:5386 +#: flatcamGUI/PreferencesUI.py:5406 flatcamGUI/PreferencesUI.py:5426 +#: flatcamGUI/PreferencesUI.py:5488 flatcamTools/ToolRulesCheck.py:292 #: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338 #: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384 #: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455 msgid "Minimum acceptable clearance value." msgstr "Valoarea minimă acceptabilă a distantei." -#: flatcamGUI/PreferencesUI.py:5170 flatcamTools/ToolRulesCheck.py:300 +#: flatcamGUI/PreferencesUI.py:5331 flatcamTools/ToolRulesCheck.py:300 #: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1194 #: flatcamTools/ToolRulesCheck.py:1207 flatcamTools/ToolRulesCheck.py:1214 msgid "Copper to Outline clearance" msgstr "Distanta de la Cupru până la contur" -#: flatcamGUI/PreferencesUI.py:5172 flatcamTools/ToolRulesCheck.py:302 +#: flatcamGUI/PreferencesUI.py:5333 flatcamTools/ToolRulesCheck.py:302 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10931,11 +11585,11 @@ msgstr "" "Aceasta verifică dacă distanța minimă dintre\n" "traseele de cupru și conturul este îndeplinit." -#: flatcamGUI/PreferencesUI.py:5190 flatcamTools/ToolRulesCheck.py:323 +#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolRulesCheck.py:323 msgid "Silk to Silk Clearance" msgstr "Distanta Silk până la Silk Clearance" -#: flatcamGUI/PreferencesUI.py:5192 flatcamTools/ToolRulesCheck.py:325 +#: flatcamGUI/PreferencesUI.py:5353 flatcamTools/ToolRulesCheck.py:325 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10943,13 +11597,13 @@ msgstr "" "Acest lucru verifică dacă distanța minimă între silk (anotari)\n" "sunt îndeplinite." -#: flatcamGUI/PreferencesUI.py:5210 flatcamTools/ToolRulesCheck.py:346 +#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolRulesCheck.py:346 #: flatcamTools/ToolRulesCheck.py:1297 flatcamTools/ToolRulesCheck.py:1303 #: flatcamTools/ToolRulesCheck.py:1321 msgid "Silk to Solder Mask Clearance" msgstr "Distanta intre Silk (anotari) si Solder mask (masca fludor)" -#: flatcamGUI/PreferencesUI.py:5212 flatcamTools/ToolRulesCheck.py:348 +#: flatcamGUI/PreferencesUI.py:5373 flatcamTools/ToolRulesCheck.py:348 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10957,13 +11611,13 @@ msgstr "" "Acest lucru verifică dacă distanța minimă între Silk (anotari)\n" "și Solder Mask (masca de fludor) este îndeplinită." -#: flatcamGUI/PreferencesUI.py:5230 flatcamTools/ToolRulesCheck.py:369 +#: flatcamGUI/PreferencesUI.py:5391 flatcamTools/ToolRulesCheck.py:369 #: flatcamTools/ToolRulesCheck.py:1351 flatcamTools/ToolRulesCheck.py:1357 #: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1378 msgid "Silk to Outline Clearance" msgstr "Distanta Silk (anotari) si Contur" -#: flatcamGUI/PreferencesUI.py:5232 flatcamTools/ToolRulesCheck.py:371 +#: flatcamGUI/PreferencesUI.py:5393 flatcamTools/ToolRulesCheck.py:371 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10971,14 +11625,14 @@ msgstr "" "Acest lucru verifică dacă distanța minimă dintre Silk (anotari)\n" "și Contur este îndeplinită." -#: flatcamGUI/PreferencesUI.py:5250 flatcamTools/ToolRulesCheck.py:392 +#: flatcamGUI/PreferencesUI.py:5411 flatcamTools/ToolRulesCheck.py:392 #: flatcamTools/ToolRulesCheck.py:1389 flatcamTools/ToolRulesCheck.py:1416 msgid "Minimum Solder Mask Sliver" msgstr "" "Dim. minima a separatorului din Solder Mask\n" "(masca de fludor)" -#: flatcamGUI/PreferencesUI.py:5252 flatcamTools/ToolRulesCheck.py:394 +#: flatcamGUI/PreferencesUI.py:5413 flatcamTools/ToolRulesCheck.py:394 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10986,13 +11640,13 @@ msgstr "" "Acest lucru verifică dacă distanta minimă între\n" "elementele soldermask (masca de fludor) este îndeplinită." -#: flatcamGUI/PreferencesUI.py:5270 flatcamTools/ToolRulesCheck.py:415 +#: flatcamGUI/PreferencesUI.py:5431 flatcamTools/ToolRulesCheck.py:415 #: flatcamTools/ToolRulesCheck.py:1454 flatcamTools/ToolRulesCheck.py:1460 #: flatcamTools/ToolRulesCheck.py:1476 flatcamTools/ToolRulesCheck.py:1483 msgid "Minimum Annular Ring" msgstr "Inel anular minim" -#: flatcamGUI/PreferencesUI.py:5272 flatcamTools/ToolRulesCheck.py:417 +#: flatcamGUI/PreferencesUI.py:5433 flatcamTools/ToolRulesCheck.py:417 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -11000,16 +11654,16 @@ msgstr "" "Acest lucru verifică dacă inelul de cupru minim rămas prin găurire\n" "unde se întâlnește o gaură cu pad-ul depășește valoarea minimă." -#: flatcamGUI/PreferencesUI.py:5285 flatcamTools/ToolRulesCheck.py:430 +#: flatcamGUI/PreferencesUI.py:5446 flatcamTools/ToolRulesCheck.py:430 msgid "Minimum acceptable ring value." msgstr "Valoarea minimă acceptabilă a inelului." -#: flatcamGUI/PreferencesUI.py:5292 flatcamTools/ToolRulesCheck.py:440 +#: flatcamGUI/PreferencesUI.py:5453 flatcamTools/ToolRulesCheck.py:440 #: flatcamTools/ToolRulesCheck.py:844 msgid "Hole to Hole Clearance" msgstr "Distanta de la Gaură la Gaură" -#: flatcamGUI/PreferencesUI.py:5294 flatcamTools/ToolRulesCheck.py:442 +#: flatcamGUI/PreferencesUI.py:5455 flatcamTools/ToolRulesCheck.py:442 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -11017,16 +11671,16 @@ msgstr "" "Acest lucru verifică dacă distanța minimă dintre o gaură\n" "și o altă gaură este îndeplinită." -#: flatcamGUI/PreferencesUI.py:5307 flatcamTools/ToolRulesCheck.py:478 +#: flatcamGUI/PreferencesUI.py:5468 flatcamTools/ToolRulesCheck.py:478 msgid "Minimum acceptable drill size." msgstr "Dimensiunea minimă acceptabilă a gaurii." -#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolRulesCheck.py:463 +#: flatcamGUI/PreferencesUI.py:5473 flatcamTools/ToolRulesCheck.py:463 #: flatcamTools/ToolRulesCheck.py:818 msgid "Hole Size" msgstr "Dimens. gaura" -#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolRulesCheck.py:465 +#: flatcamGUI/PreferencesUI.py:5475 flatcamTools/ToolRulesCheck.py:465 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -11034,11 +11688,11 @@ msgstr "" "Acest lucru verifică dacă\n" "dimensiunile găurilor sunt peste prag." -#: flatcamGUI/PreferencesUI.py:5339 +#: flatcamGUI/PreferencesUI.py:5500 msgid "Optimal Tool Options" msgstr "Opțiuni Unealta Optim" -#: flatcamGUI/PreferencesUI.py:5345 +#: flatcamGUI/PreferencesUI.py:5506 msgid "" "A tool to find the minimum distance between\n" "every two Gerber geometric elements" @@ -11046,46 +11700,279 @@ msgstr "" "Un instrument pentru a găsi distanța minimă între\n" "la fiecare două elemente geometrice Gerber" -#: flatcamGUI/PreferencesUI.py:5360 flatcamTools/ToolOptimal.py:78 +#: flatcamGUI/PreferencesUI.py:5521 flatcamTools/ToolOptimal.py:78 msgid "Precision" msgstr "Precizie" -#: flatcamGUI/PreferencesUI.py:5362 +#: flatcamGUI/PreferencesUI.py:5523 msgid "Number of decimals for the distances and coordinates in this tool." msgstr "" "Numărul de zecimale pentru distanțele și coordonatele din acest instrument." -#: flatcamGUI/PreferencesUI.py:5376 +#: flatcamGUI/PreferencesUI.py:5537 +#, fuzzy +#| msgid "NCC Tool Options" +msgid "QRCode Tool Options" +msgstr "Opțiuni Unealta NCC" + +#: flatcamGUI/PreferencesUI.py:5543 +msgid "" +"A tool to create a QRCode that can be inserted\n" +"into a selected Gerber file, or it can be exported as a file." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5555 flatcamTools/ToolQRCode.py:99 +#, fuzzy +#| msgid "Conversion" +msgid "Version" +msgstr "Conversii" + +#: flatcamGUI/PreferencesUI.py:5557 flatcamTools/ToolQRCode.py:101 +msgid "" +"QRCode version can have values from 1 (21x21 boxes)\n" +"to 40 (177x177 boxes)." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5568 flatcamTools/ToolQRCode.py:112 +#, fuzzy +#| msgid "Corrections" +msgid "Error correction" +msgstr "Corecţii" + +#: flatcamGUI/PreferencesUI.py:5570 flatcamGUI/PreferencesUI.py:5581 +#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125 +#, python-format +msgid "" +"Parameter that controls the error correction used for the QR Code.\n" +"L = maximum 7%% errors can be corrected\n" +"M = maximum 15%% errors can be corrected\n" +"Q = maximum 25%% errors can be corrected\n" +"H = maximum 30%% errors can be corrected." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5591 flatcamTools/ToolQRCode.py:135 +#, fuzzy +#| msgid "Font Size" +msgid "Box Size" +msgstr "Dim. Font" + +#: flatcamGUI/PreferencesUI.py:5593 flatcamTools/ToolQRCode.py:137 +msgid "" +"Box size control the overall size of the QRcode\n" +"by adjusting the size of each box in the code." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5604 flatcamTools/ToolQRCode.py:148 +#, fuzzy +#| msgid "Border" +msgid "Border Size" +msgstr "Bordură" + +#: flatcamGUI/PreferencesUI.py:5606 flatcamTools/ToolQRCode.py:150 +msgid "" +"Size of the QRCode border. How many boxes thick is the border.\n" +"Default value is 4. The width of the clearance around the QRCode." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5617 flatcamTools/ToolQRCode.py:162 +#, fuzzy +#| msgid "Tool Data" +msgid "QRCode Data" +msgstr "Date unealtă" + +#: flatcamGUI/PreferencesUI.py:5619 flatcamTools/ToolQRCode.py:164 +msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5623 flatcamTools/ToolQRCode.py:168 +msgid "Add here the text to be included in the QRCode..." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5629 flatcamTools/ToolQRCode.py:174 +msgid "Polarity" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5631 flatcamTools/ToolQRCode.py:176 +msgid "" +"Choose the polarity of the QRCode.\n" +"It can be drawn in a negative way (squares are clear)\n" +"or in a positive way (squares are opaque)." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5635 flatcamTools/ToolFilm.py:266 +#: flatcamTools/ToolQRCode.py:180 +msgid "Negative" +msgstr "Negativ" + +#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolFilm.py:265 +#: flatcamTools/ToolQRCode.py:181 +msgid "Positive" +msgstr "Pozitiv" + +#: flatcamGUI/PreferencesUI.py:5638 flatcamTools/ToolQRCode.py:183 +msgid "" +"Choose the type of QRCode to be created.\n" +"If added on a Silkscreen Gerber file the QRCode may\n" +"be added as positive. If it is added to a Copper Gerber\n" +"file then perhaps the QRCode can be added as negative." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5649 flatcamGUI/PreferencesUI.py:5655 +#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200 +msgid "" +"The bounding box, meaning the empty space that surrounds\n" +"the QRCode geometry, can have a rounded or a square shape." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5652 flatcamTools/ToolQRCode.py:197 +#, fuzzy +#| msgid "Round" +msgid "Rounded" +msgstr "Rotund" + +#: flatcamGUI/PreferencesUI.py:5662 flatcamTools/ToolQRCode.py:228 +#, fuzzy +#| msgid "Film Color" +msgid "Fill Color" +msgstr "Film Color" + +#: flatcamGUI/PreferencesUI.py:5664 flatcamTools/ToolQRCode.py:230 +msgid "Set the QRCode fill color (squares color)." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5683 flatcamTools/ToolQRCode.py:252 +#, fuzzy +#| msgid "Font Color" +msgid "Back Color" +msgstr "Culoare FOnt" + +#: flatcamGUI/PreferencesUI.py:5685 flatcamTools/ToolQRCode.py:254 +msgid "Set the QRCode background color." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5725 +#, fuzzy +#| msgid "Film Tool Options" +msgid "Copper Fill Tool Options" +msgstr "Opțiuni Unealta Film" + +#: flatcamGUI/PreferencesUI.py:5737 +msgid "" +"A tool to generate a Copper fill that can be added\n" +"to a selected Gerber file." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5745 +msgid "Number of steps (lines) used to interpolate circles." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolCopperThieving.py:94 +#, fuzzy +#| msgid "Tolerance" +msgid "Clearance" +msgstr "Toleranta" + +#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolCopperThieving.py:96 +msgid "" +"This set the distance between the copper fill components\n" +"(the polygon fill may be split in multiple polygons)\n" +"and the copper traces in the Gerber file." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5785 flatcamTools/ToolCopperThieving.py:124 +#: flatcamTools/ToolNonCopperClear.py:438 flatcamTools/ToolPaint.py:315 +msgid "Area Selection" +msgstr "Selecţie zonă" + +#: flatcamGUI/PreferencesUI.py:5786 flatcamTools/ToolCopperThieving.py:125 +#: flatcamTools/ToolNonCopperClear.py:439 flatcamTools/ToolPaint.py:317 +msgid "Reference Object" +msgstr "Obiect Ref" + +#: flatcamGUI/PreferencesUI.py:5788 flatcamTools/ToolCopperThieving.py:127 +#: flatcamTools/ToolNonCopperClear.py:441 +msgid "Reference:" +msgstr "Referinţă:" + +#: flatcamGUI/PreferencesUI.py:5790 flatcamTools/ToolCopperThieving.py:129 +#, fuzzy +#| msgid "" +#| "- 'Itself' - the non copper clearing extent\n" +#| "is based on the object that is copper cleared.\n" +#| " - 'Area Selection' - left mouse click to start selection of the area to " +#| "be painted.\n" +#| "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +#| "areas.\n" +#| "- 'Reference Object' - will do non copper clearing within the area\n" +#| "specified by another object." +msgid "" +"- 'Itself' - the copper fill extent is based on the object that is copper " +"cleared.\n" +" - 'Area Selection' - left mouse click to start selection of the area to be " +"filled.\n" +"- 'Reference Object' - will do copper filling within the area specified by " +"another object." +msgstr "" +"- „Însuși” - suprafața de curățare a cuprului\n" +"se bazează pe obiectul care este curățat de cupru.\n" +"  - „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe " +"selecția zonei care va fi pictată.\n" +"Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite " +"adăugarea mai multor zone.\n" +"- „Obiect de referință” - va face o curățare fără cupru în zona\n" +"specificată de un alt obiect." + +#: flatcamGUI/PreferencesUI.py:5799 flatcamTools/ToolCopperThieving.py:168 +#: flatcamTools/ToolCutOut.py:219 +msgid "Rectangular" +msgstr "Patrulater" + +#: flatcamGUI/PreferencesUI.py:5800 flatcamTools/ToolCopperThieving.py:169 +msgid "Minimal" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5802 flatcamTools/ToolCopperThieving.py:171 +#: flatcamTools/ToolFilm.py:102 +msgid "Box Type:" +msgstr "Tip container:" + +#: flatcamGUI/PreferencesUI.py:5804 flatcamTools/ToolCopperThieving.py:173 +msgid "" +"- 'Rectangular' - the bounding box will be of rectangular shape.\n" +" - 'Minimal' - the bounding box will be the convex hull shape." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5818 msgid "Excellon File associations" msgstr "Asocieri fisiere Excellon" -#: flatcamGUI/PreferencesUI.py:5388 flatcamGUI/PreferencesUI.py:5460 -#: flatcamGUI/PreferencesUI.py:5529 flatcamGUI/PreferencesUI.py:5598 +#: flatcamGUI/PreferencesUI.py:5830 flatcamGUI/PreferencesUI.py:5902 +#: flatcamGUI/PreferencesUI.py:5971 flatcamGUI/PreferencesUI.py:6040 msgid "Restore" msgstr "Restabilire" -#: flatcamGUI/PreferencesUI.py:5389 flatcamGUI/PreferencesUI.py:5461 -#: flatcamGUI/PreferencesUI.py:5530 +#: flatcamGUI/PreferencesUI.py:5831 flatcamGUI/PreferencesUI.py:5903 +#: flatcamGUI/PreferencesUI.py:5972 msgid "Restore the extension list to the default state." msgstr "Restabiliți lista de extensii la starea implicită." -#: flatcamGUI/PreferencesUI.py:5390 flatcamGUI/PreferencesUI.py:5462 -#: flatcamGUI/PreferencesUI.py:5531 flatcamGUI/PreferencesUI.py:5600 +#: flatcamGUI/PreferencesUI.py:5832 flatcamGUI/PreferencesUI.py:5904 +#: flatcamGUI/PreferencesUI.py:5973 flatcamGUI/PreferencesUI.py:6042 msgid "Delete All" msgstr "Sterge tot" -#: flatcamGUI/PreferencesUI.py:5391 flatcamGUI/PreferencesUI.py:5463 -#: flatcamGUI/PreferencesUI.py:5532 +#: flatcamGUI/PreferencesUI.py:5833 flatcamGUI/PreferencesUI.py:5905 +#: flatcamGUI/PreferencesUI.py:5974 msgid "Delete all extensions from the list." msgstr "Ștergeți toate extensiile din listă." -#: flatcamGUI/PreferencesUI.py:5399 flatcamGUI/PreferencesUI.py:5471 -#: flatcamGUI/PreferencesUI.py:5540 +#: flatcamGUI/PreferencesUI.py:5841 flatcamGUI/PreferencesUI.py:5913 +#: flatcamGUI/PreferencesUI.py:5982 msgid "Extensions list" msgstr "Lista de extensii" -#: flatcamGUI/PreferencesUI.py:5401 flatcamGUI/PreferencesUI.py:5473 -#: flatcamGUI/PreferencesUI.py:5542 +#: flatcamGUI/PreferencesUI.py:5843 flatcamGUI/PreferencesUI.py:5915 +#: flatcamGUI/PreferencesUI.py:5984 msgid "" "List of file extensions to be\n" "associated with FlatCAM." @@ -11093,43 +11980,43 @@ msgstr "" "Listă de extensii fisiere care să fie\n" "associate cu FlatCAM." -#: flatcamGUI/PreferencesUI.py:5421 flatcamGUI/PreferencesUI.py:5493 -#: flatcamGUI/PreferencesUI.py:5561 flatcamGUI/PreferencesUI.py:5632 +#: flatcamGUI/PreferencesUI.py:5863 flatcamGUI/PreferencesUI.py:5935 +#: flatcamGUI/PreferencesUI.py:6003 flatcamGUI/PreferencesUI.py:6074 msgid "Extension" msgstr "Extensie fișier" -#: flatcamGUI/PreferencesUI.py:5422 flatcamGUI/PreferencesUI.py:5494 -#: flatcamGUI/PreferencesUI.py:5562 +#: flatcamGUI/PreferencesUI.py:5864 flatcamGUI/PreferencesUI.py:5936 +#: flatcamGUI/PreferencesUI.py:6004 msgid "A file extension to be added or deleted to the list." msgstr "O extensie de fișier care trebuie adăugată sau ștersă din listă." -#: flatcamGUI/PreferencesUI.py:5430 flatcamGUI/PreferencesUI.py:5502 -#: flatcamGUI/PreferencesUI.py:5570 +#: flatcamGUI/PreferencesUI.py:5872 flatcamGUI/PreferencesUI.py:5944 +#: flatcamGUI/PreferencesUI.py:6012 msgid "Add Extension" msgstr "Adaugă Extensie" -#: flatcamGUI/PreferencesUI.py:5431 flatcamGUI/PreferencesUI.py:5503 -#: flatcamGUI/PreferencesUI.py:5571 +#: flatcamGUI/PreferencesUI.py:5873 flatcamGUI/PreferencesUI.py:5945 +#: flatcamGUI/PreferencesUI.py:6013 msgid "Add a file extension to the list" msgstr "Adăugați o extensie de fișier la listă" -#: flatcamGUI/PreferencesUI.py:5432 flatcamGUI/PreferencesUI.py:5504 -#: flatcamGUI/PreferencesUI.py:5572 +#: flatcamGUI/PreferencesUI.py:5874 flatcamGUI/PreferencesUI.py:5946 +#: flatcamGUI/PreferencesUI.py:6014 msgid "Delete Extension" msgstr "Ștergeți Extensia" -#: flatcamGUI/PreferencesUI.py:5433 flatcamGUI/PreferencesUI.py:5505 -#: flatcamGUI/PreferencesUI.py:5573 +#: flatcamGUI/PreferencesUI.py:5875 flatcamGUI/PreferencesUI.py:5947 +#: flatcamGUI/PreferencesUI.py:6015 msgid "Delete a file extension from the list" msgstr "Ștergeți o extensie de fișier din listă" -#: flatcamGUI/PreferencesUI.py:5440 flatcamGUI/PreferencesUI.py:5512 -#: flatcamGUI/PreferencesUI.py:5580 +#: flatcamGUI/PreferencesUI.py:5882 flatcamGUI/PreferencesUI.py:5954 +#: flatcamGUI/PreferencesUI.py:6022 msgid "Apply Association" msgstr "Aplicați Asociere" -#: flatcamGUI/PreferencesUI.py:5441 flatcamGUI/PreferencesUI.py:5513 -#: flatcamGUI/PreferencesUI.py:5581 +#: flatcamGUI/PreferencesUI.py:5883 flatcamGUI/PreferencesUI.py:5955 +#: flatcamGUI/PreferencesUI.py:6023 msgid "" "Apply the file associations between\n" "FlatCAM and the files with above extensions.\n" @@ -11141,32 +12028,32 @@ msgstr "" "Vor fi active după următorul login.\n" "Functionează numai pt Windows." -#: flatcamGUI/PreferencesUI.py:5458 +#: flatcamGUI/PreferencesUI.py:5900 msgid "GCode File associations" msgstr "Asocierile de fisiere G-Code" -#: flatcamGUI/PreferencesUI.py:5527 +#: flatcamGUI/PreferencesUI.py:5969 msgid "Gerber File associations" msgstr "Asocierile de fisiere Gerber" -#: flatcamGUI/PreferencesUI.py:5596 +#: flatcamGUI/PreferencesUI.py:6038 msgid "Autocompleter Keywords" msgstr "Cuvinte cheie pt autocomplete" -#: flatcamGUI/PreferencesUI.py:5599 +#: flatcamGUI/PreferencesUI.py:6041 msgid "Restore the autocompleter keywords list to the default state." msgstr "" "Restaurați lista cuvinte cheie pentru autocompletere la starea implicită." -#: flatcamGUI/PreferencesUI.py:5601 +#: flatcamGUI/PreferencesUI.py:6043 msgid "Delete all autocompleter keywords from the list." msgstr "Ștergeți din listă toate cuvintele cheie pentru autocompletare." -#: flatcamGUI/PreferencesUI.py:5609 +#: flatcamGUI/PreferencesUI.py:6051 msgid "Keywords list" msgstr "Lista de cuvinte cheie" -#: flatcamGUI/PreferencesUI.py:5611 +#: flatcamGUI/PreferencesUI.py:6053 msgid "" "List of keywords used by\n" "the autocompleter in FlatCAM.\n" @@ -11178,23 +12065,23 @@ msgstr "" "Autocompleterul este instalat\n" "în Editorul de coduri și pentru Shell Tcl." -#: flatcamGUI/PreferencesUI.py:5633 +#: flatcamGUI/PreferencesUI.py:6075 msgid "A keyword to be added or deleted to the list." msgstr "Un cuvânt cheie care trebuie adăugat sau șters la listă." -#: flatcamGUI/PreferencesUI.py:5641 +#: flatcamGUI/PreferencesUI.py:6083 msgid "Add keyword" msgstr "Adăugați cuvant cheie" -#: flatcamGUI/PreferencesUI.py:5642 +#: flatcamGUI/PreferencesUI.py:6084 msgid "Add a keyword to the list" msgstr "Adăugați un cuvânt cheie la listă" -#: flatcamGUI/PreferencesUI.py:5643 +#: flatcamGUI/PreferencesUI.py:6085 msgid "Delete keyword" msgstr "Ștergeți cuvântul cheie" -#: flatcamGUI/PreferencesUI.py:5644 +#: flatcamGUI/PreferencesUI.py:6086 msgid "Delete a keyword from the list" msgstr "Ștergeți un cuvânt cheie din listă" @@ -11326,7 +12213,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:107 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." @@ -11334,7 +12221,7 @@ msgstr "" "Acesta este unghiul uneltei la vârf.\n" "Producatorul il specifica in foaia de catalog." -#: flatcamTools/ToolCalculators.py:116 +#: flatcamTools/ToolCalculators.py:120 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." @@ -11342,11 +12229,11 @@ msgstr "" "Acest param. este adâncimea de tăiere in material.\n" "In obiectul CNCJob este parametrul >Z tăiere<." -#: flatcamTools/ToolCalculators.py:119 +#: flatcamTools/ToolCalculators.py:123 msgid "Tool Diameter" msgstr "Dia unealtă" -#: flatcamTools/ToolCalculators.py:124 +#: flatcamTools/ToolCalculators.py:128 msgid "" "This is the tool diameter to be entered into\n" "FlatCAM Gerber section.\n" @@ -11356,11 +12243,11 @@ msgstr "" "sectiunea FlatCAM Gerber.\n" "In sectiunea CNCJob este numit >Dia unealtă<." -#: flatcamTools/ToolCalculators.py:135 flatcamTools/ToolCalculators.py:221 +#: flatcamTools/ToolCalculators.py:139 flatcamTools/ToolCalculators.py:235 msgid "Calculate" msgstr "Calculează" -#: flatcamTools/ToolCalculators.py:138 +#: flatcamTools/ToolCalculators.py:142 msgid "" "Calculate either the Cut Z or the effective tool diameter,\n" " depending on which is desired and which is known. " @@ -11369,11 +12256,11 @@ msgstr "" "uneltei,\n" "depinzand de care dintre acestea este cunoscuta. " -#: flatcamTools/ToolCalculators.py:195 +#: flatcamTools/ToolCalculators.py:205 msgid "Current Value" msgstr "Intensitate" -#: flatcamTools/ToolCalculators.py:200 +#: flatcamTools/ToolCalculators.py:212 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." @@ -11381,11 +12268,11 @@ msgstr "" "Intensitatea curentului electric care se va seta\n" "in sursa de alimentare. In Amperi." -#: flatcamTools/ToolCalculators.py:204 +#: flatcamTools/ToolCalculators.py:216 msgid "Time" msgstr "Durată" -#: flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:223 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." @@ -11393,7 +12280,7 @@ msgstr "" "TImpul necesar (calculat) pentru\n" "efectuarea procedurii. In minute." -#: flatcamTools/ToolCalculators.py:224 +#: flatcamTools/ToolCalculators.py:238 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" @@ -11401,10 +12288,426 @@ msgstr "" "Calculează intensitatea curentului cat și durata procedurii\n" "in funcţie de parametrii de mai sus" -#: flatcamTools/ToolCalculators.py:271 +#: flatcamTools/ToolCalculators.py:285 msgid "Calc. Tool" msgstr "Unealta Calc" +#: flatcamTools/ToolCalibrateExcellon.py:33 +#, fuzzy +#| msgid "Creating Excellon." +msgid "Calibrate Excellon" +msgstr "In curs de creere Excellon." + +#: flatcamTools/ToolCalibrateExcellon.py:68 +#, fuzzy +#| msgid "The FlatCAM object to be used as non copper clearing reference." +msgid "Excellon Object to be used as a source for reference points." +msgstr "" +"Obiectul FlatCAM pentru a fi utilizat ca referință pt. curățarea de cupru." + +#: flatcamTools/ToolCalibrateExcellon.py:75 +#, fuzzy +#| msgid "Slot Parameters" +msgid "GCode Parameters" +msgstr "Parametrii pt slot" + +#: flatcamTools/ToolCalibrateExcellon.py:77 +msgid "Parameters used when creating the GCode in this tool." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:84 +#, fuzzy +#| msgid "" +#| "The height (Z) for travel between pads\n" +#| "(without dispensing solder paste)." +msgid "Height (Z) for travelling between the points." +msgstr "" +"Înălţimea (Z) când se face deplasare între pad-uri.\n" +"(fără dispensare de pastă de fludor)." + +#: flatcamTools/ToolCalibrateExcellon.py:96 +#, fuzzy +#| msgid "Gerber Specification" +msgid "Verification Z" +msgstr "Specificatii Gerber" + +#: flatcamTools/ToolCalibrateExcellon.py:98 +msgid "Height (Z) for checking the point." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:110 +msgid "Zero Z tool" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:112 +msgid "" +"Include a sequence to zero the height (Z)\n" +"of the verification tool." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:121 +msgid "Height (Z) for mounting the verification probe." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:143 +msgid "Calibration Points" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:145 +msgid "" +"Contain the expected calibration points and the\n" +"ones measured." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:153 +#: flatcamTools/ToolCalibrateExcellon.py:182 +#: flatcamTools/ToolCalibrateExcellon.py:206 +#: flatcamTools/ToolCalibrateExcellon.py:230 flatcamTools/ToolSub.py:73 +#: flatcamTools/ToolSub.py:119 +msgid "Target" +msgstr "Tintă" + +#: flatcamTools/ToolCalibrateExcellon.py:155 +#, fuzzy +#| msgid "Set Origin" +msgid "Cal. Origin" +msgstr "Setează Originea" + +#: flatcamTools/ToolCalibrateExcellon.py:184 +#: flatcamTools/ToolCalibrateExcellon.py:208 +#: flatcamTools/ToolCalibrateExcellon.py:232 +msgid "Found Delta" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:228 +#, fuzzy +#| msgid "Top right" +msgid "Top Right" +msgstr "Dreapta-sus" + +#: flatcamTools/ToolCalibrateExcellon.py:252 +#: flatcamTools/ToolSolderPaste.py:148 +msgid "STEP 1" +msgstr "PAS 1" + +#: flatcamTools/ToolCalibrateExcellon.py:254 +msgid "" +"Pick four points by clicking inside the drill holes.\n" +"Those four points should be in the four\n" +"(as much as possible) corners of the Excellon object." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:261 +msgid "Acquire Calibration Points" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:263 +msgid "" +"Pick four points by clicking inside the drill holes.\n" +"Those four points should be in the four squares of\n" +"the Excellon object." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:271 +#: flatcamTools/ToolSolderPaste.py:358 +msgid "STEP 2" +msgstr "PAS 2" + +#: flatcamTools/ToolCalibrateExcellon.py:273 +#: flatcamTools/ToolCalibrateExcellon.py:281 +msgid "" +"Generate GCode file to locate and align the PCB by using\n" +"the four points acquired above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:279 +#: flatcamTools/ToolSolderPaste.py:341 +msgid "Generate GCode" +msgstr "Genereaa GCode" + +#: flatcamTools/ToolCalibrateExcellon.py:288 +#: flatcamTools/ToolSolderPaste.py:387 +msgid "STEP 3" +msgstr "PAS 3" + +#: flatcamTools/ToolCalibrateExcellon.py:290 +#: flatcamTools/ToolCalibrateExcellon.py:299 +msgid "" +"Calculate Scale and Skew factors based on the differences (delta)\n" +"found when checking the PCB pattern. The differences must be filled\n" +"in the fields Found (Delta)." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:297 +#, fuzzy +#| msgid "Calculators" +msgid "Calculate Factors" +msgstr "Calculatoare" + +#: flatcamTools/ToolCalibrateExcellon.py:334 +msgid "Apply Scale factors on the calibration points." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:369 +msgid "Apply Skew factors on the calibration points." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:374 +#: flatcamTools/ToolSolderPaste.py:433 +msgid "STEP 4" +msgstr "PAS 4" + +#: flatcamTools/ToolCalibrateExcellon.py:376 +#: flatcamTools/ToolCalibrateExcellon.py:384 +msgid "" +"Generate verification GCode file adjusted with\n" +"the factors above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:382 +#, fuzzy +#| msgid "Generate GCode" +msgid "Generate Adjusted GCode" +msgstr "Genereaa GCode" + +#: flatcamTools/ToolCalibrateExcellon.py:390 +#, fuzzy +#| msgid "STEP 1" +msgid "STEP 5" +msgstr "PAS 1" + +#: flatcamTools/ToolCalibrateExcellon.py:392 +msgid "" +"Ajust the Excellon and Cutout Geometry objects\n" +"with the factors determined, and verified, above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:404 +#, fuzzy +#| msgid "Excellon Object to be mirrored." +msgid "Excellon Object to be adjusted." +msgstr "Obiectul Excellon care va fi oglindit." + +#: flatcamTools/ToolCalibrateExcellon.py:417 +#, fuzzy +#| msgid "Geometry Obj to be mirrored." +msgid "Geometry Object to be adjusted." +msgstr "Obiectul Geometrie care va fi oglindit." + +#: flatcamTools/ToolCalibrateExcellon.py:424 +#, fuzzy +#| msgid "Edit Object\tE" +msgid "Adjust Objects" +msgstr "Editare Obiect\tE" + +#: flatcamTools/ToolCalibrateExcellon.py:426 +msgid "" +"Adjust (scale and / or skew) the objects\n" +"with the factors determined above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:476 +#, fuzzy +#| msgid "Calc. Tool" +msgid "Cal Exc Tool" +msgstr "Unealta Calc" + +#: flatcamTools/ToolCalibrateExcellon.py:507 flatcamTools/ToolDblSided.py:468 +msgid "There is no Excellon object loaded ..." +msgstr "Nici-un obiect tip Excellon nu este incărcat ..." + +#: flatcamTools/ToolCalibrateExcellon.py:510 +#, fuzzy +#| msgid "Click inside the desired polygon." +msgid "Click inside the First drill point. Bottom Left..." +msgstr "Click in interiorul poligonului care se dorește să fie 'pictat'." + +#: flatcamTools/ToolCalibrateExcellon.py:538 +msgid "Click inside the Second drill point. Bottom Right..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:542 +#, fuzzy +#| msgid "Click inside the desired polygon." +msgid "Click inside the Third drill point. Top Left..." +msgstr "Click in interiorul poligonului care se dorește să fie 'pictat'." + +#: flatcamTools/ToolCalibrateExcellon.py:546 +msgid "Click inside the Fourth drill point. Top Right..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:550 +msgid "Done. All four points have been acquired." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:564 +#, fuzzy +#| msgid "Generate GCode" +msgid "Verification GCode" +msgstr "Genereaa GCode" + +#: flatcamTools/ToolCalibrateExcellon.py:580 +msgid "Cancelled. Four points are needed for GCode generation." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:74 +msgid "Gerber Object to which will be added a copper fill." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:89 +#, fuzzy +#| msgid "Diameter for the new tool." +msgid "Parameters used for this tool." +msgstr "Diametrul pt noua unealtă." + +#: flatcamTools/ToolCopperThieving.py:136 flatcamTools/ToolNonCopperClear.py:453 +#: flatcamTools/ToolPaint.py:332 +msgid "Ref. Type" +msgstr "Tip Ref" + +#: flatcamTools/ToolCopperThieving.py:138 +#, fuzzy +#| msgid "" +#| "The type of FlatCAM object to be used as non copper clearing reference.\n" +#| "It can be Gerber, Excellon or Geometry." +msgid "" +"The type of FlatCAM object to be used as copper filling reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" +"Tipul de obiect FlatCAM care trebuie utilizat ca referință pt. curățarea de " +"non-cupru.\n" +"Poate fi Gerber, Excellon sau Geometry." + +#: flatcamTools/ToolCopperThieving.py:142 flatcamTools/ToolDblSided.py:190 +#: flatcamTools/ToolNonCopperClear.py:459 flatcamTools/ToolPaint.py:338 +#, fuzzy +#| msgid "Reference Object" +msgid "Reference Gerber" +msgstr "Obiect Ref" + +#: flatcamTools/ToolCopperThieving.py:143 flatcamTools/ToolDblSided.py:191 +#: flatcamTools/ToolNonCopperClear.py:460 flatcamTools/ToolPaint.py:339 +#, fuzzy +#| msgid "Open Excellon" +msgid "Reference Excellon" +msgstr "Încarcă Excellon" + +#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:192 +#: flatcamTools/ToolNonCopperClear.py:461 flatcamTools/ToolPaint.py:340 +#, fuzzy +#| msgid "Generate Geometry" +msgid "Reference Geometry" +msgstr "Genereza Geometrie" + +#: flatcamTools/ToolCopperThieving.py:149 flatcamTools/ToolNonCopperClear.py:464 +#: flatcamTools/ToolPaint.py:343 +msgid "Ref. Object" +msgstr "Obiect Ref" + +#: flatcamTools/ToolCopperThieving.py:151 flatcamTools/ToolNonCopperClear.py:466 +#: flatcamTools/ToolPaint.py:345 +msgid "The FlatCAM object to be used as non copper clearing reference." +msgstr "" +"Obiectul FlatCAM pentru a fi utilizat ca referință pt. curățarea de cupru." + +#: flatcamTools/ToolCopperThieving.py:182 +msgid "Insert Copper Fill" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:184 +msgid "" +"Will add a polygon (may be split in multiple parts)\n" +"that will surround the actual Gerber traces at a certain distance." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:298 flatcamTools/ToolDblSided.py:425 +#: flatcamTools/ToolOptimal.py:321 flatcamTools/ToolQRCode.py:392 +msgid "There is no Gerber object loaded ..." +msgstr "Nu este nici-un obiect Gerber incărcat ..." + +#: flatcamTools/ToolCopperThieving.py:308 flatcamTools/ToolCopperThieving.py:341 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:572 +#: flatcamTools/ToolNonCopperClear.py:1140 +#: flatcamTools/ToolNonCopperClear.py:1181 +#: flatcamTools/ToolNonCopperClear.py:1213 flatcamTools/ToolPaint.py:1082 +#: flatcamTools/ToolPanelize.py:384 flatcamTools/ToolPanelize.py:399 +#: flatcamTools/ToolSub.py:261 flatcamTools/ToolSub.py:276 +#: flatcamTools/ToolSub.py:463 flatcamTools/ToolSub.py:478 +#: tclCommands/TclCommandCopperClear.py:135 +#: tclCommands/TclCommandCopperClear.py:212 tclCommands/TclCommandPaint.py:137 +msgid "Could not retrieve object" +msgstr "Nu s-a putut incărca obiectul" + +#: flatcamTools/ToolCopperThieving.py:318 flatcamTools/ToolNonCopperClear.py:1194 +msgid "Click the start point of the area." +msgstr "Faceți clic pe punctul de pornire al zonei." + +#: flatcamTools/ToolCopperThieving.py:369 +#, fuzzy +#| msgid "Click the end point of the paint area." +msgid "Click the end point of the filling area." +msgstr "Faceți clic pe punctul final al zonei de pictat." + +#: flatcamTools/ToolCopperThieving.py:375 flatcamTools/ToolNonCopperClear.py:1250 +#: flatcamTools/ToolPaint.py:1124 +msgid "Zone added. Click to start adding next zone or right click to finish." +msgstr "" +"Zona adăugată. Faceți clic stanga pt a continua adăugarea de zone sau click " +"dreapta pentru a termina." + +#: flatcamTools/ToolCopperThieving.py:490 flatcamTools/ToolCopperThieving.py:492 +#, fuzzy +#| msgid "Non-Copper Clearing" +msgid "Copper filling" +msgstr "Curățăre Non-Cu" + +#: flatcamTools/ToolCopperThieving.py:500 +#, fuzzy +#| msgid "NCC Tool started. Reading parameters." +msgid "Copper Filling Tool started. Reading parameters." +msgstr "Unealta NCC a pornit. Se citesc parametrii." + +#: flatcamTools/ToolCopperThieving.py:516 +#, fuzzy +#| msgid "NCC Tool. Preparing non-copper polygons." +msgid "Copper Filling Tool. Preparing isolation polygons." +msgstr "Unealta NCC. Se pregătesc poligoanele non-cupru." + +#: flatcamTools/ToolCopperThieving.py:561 +msgid "Copper Filling Tool. Preparing areas to fill with copper." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:597 +#, fuzzy +#| msgid "Geometry not supported for cutout" +msgid "Geometry not supported for bounding box" +msgstr "Geometria nu este acceptată pentru decupaj" + +#: flatcamTools/ToolCopperThieving.py:604 flatcamTools/ToolNonCopperClear.py:1501 +#: flatcamTools/ToolPaint.py:2510 +msgid "No object available." +msgstr "Nici-un obiect disponibil." + +#: flatcamTools/ToolCopperThieving.py:647 flatcamTools/ToolNonCopperClear.py:1543 +msgid "The reference object type is not supported." +msgstr "Tipul de obiect de referintă nu este acceptat." + +#: flatcamTools/ToolCopperThieving.py:652 +msgid "Copper Filling Tool. Appending new geometry and buffering." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:692 +#, fuzzy +#| msgid "Drill Tool dia" +msgid "Copper Fill Tool done." +msgstr "Dia. Burghiu Găurire" + +#: flatcamTools/ToolCopperThieving.py:749 +#, fuzzy +#| msgid "Drill Tool dia" +msgid "Copper Fill Tool exit." +msgstr "Dia. Burghiu Găurire" + #: flatcamTools/ToolCutOut.py:36 msgid "Cutout PCB" msgstr "Decupare PCB" @@ -11490,10 +12793,6 @@ msgstr "" "Forma decupajului poate avea orice forma.\n" "Folositor când PCB-ul are o forma neregulata." -#: flatcamTools/ToolCutOut.py:219 -msgid "Rectangular" -msgstr "Patrulater" - #: flatcamTools/ToolCutOut.py:221 msgid "" "The resulting cutout shape is\n" @@ -11586,18 +12885,6 @@ msgstr "" "apasarea tastei CTRL, operatia se va repeta automat pana când\n" "se va apasa tasta 'Escape'." -#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:572 -#: flatcamTools/ToolNonCopperClear.py:1136 -#: flatcamTools/ToolNonCopperClear.py:1177 -#: flatcamTools/ToolNonCopperClear.py:1209 flatcamTools/ToolPaint.py:1082 -#: flatcamTools/ToolPanelize.py:384 flatcamTools/ToolPanelize.py:399 -#: flatcamTools/ToolSub.py:261 flatcamTools/ToolSub.py:276 -#: flatcamTools/ToolSub.py:463 flatcamTools/ToolSub.py:478 -#: tclCommands/TclCommandCopperClear.py:131 -#: tclCommands/TclCommandCopperClear.py:208 tclCommands/TclCommandPaint.py:133 -msgid "Could not retrieve object" -msgstr "Nu s-a putut incărca obiectul" - #: flatcamTools/ToolCutOut.py:406 msgid "" "There is no object selected for Cutout.\n" @@ -11641,9 +12928,9 @@ msgstr "" msgid "Any form CutOut operation finished." msgstr "Operatia de decupaj cu formă liberă s-a terminat." -#: flatcamTools/ToolCutOut.py:576 flatcamTools/ToolNonCopperClear.py:1140 +#: flatcamTools/ToolCutOut.py:576 flatcamTools/ToolNonCopperClear.py:1144 #: flatcamTools/ToolPaint.py:978 flatcamTools/ToolPanelize.py:389 -#: tclCommands/TclCommandBbox.py:66 tclCommands/TclCommandNregions.py:65 +#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70 msgid "Object not found" msgstr "Obiectul nu a fost gasit" @@ -11760,21 +13047,6 @@ msgstr "" "pe\n" "canvas sau le puteti introduce manual." -#: flatcamTools/ToolDblSided.py:190 flatcamTools/ToolNonCopperClear.py:451 -#: flatcamTools/ToolPaint.py:338 -msgid "Gerber Reference Box Object" -msgstr "Obiectul container al Gerber de referinţă" - -#: flatcamTools/ToolDblSided.py:191 flatcamTools/ToolNonCopperClear.py:452 -#: flatcamTools/ToolPaint.py:339 -msgid "Excellon Reference Box Object" -msgstr "Obiectul container al Excellon de referinţă" - -#: flatcamTools/ToolDblSided.py:192 flatcamTools/ToolNonCopperClear.py:453 -#: flatcamTools/ToolPaint.py:340 -msgid "Geometry Reference Box Object" -msgstr "Obiectul container al Geo de referinţă" - #: flatcamTools/ToolDblSided.py:200 msgid "Alignment Drill Coordinates" msgstr "Dia. găuri de aliniere" @@ -11876,10 +13148,6 @@ msgstr "" msgid "Excellon object with alignment drills created..." msgstr "Obiectul Excellon conținând găurile de aliniere a fost creat ..." -#: flatcamTools/ToolDblSided.py:425 flatcamTools/ToolOptimal.py:310 -msgid "There is no Gerber object loaded ..." -msgstr "Nu este nici-un obiect Gerber incărcat ..." - #: flatcamTools/ToolDblSided.py:429 flatcamTools/ToolDblSided.py:472 #: flatcamTools/ToolDblSided.py:516 msgid "Only Gerber, Excellon and Geometry objects can be mirrored." @@ -11902,10 +13170,6 @@ msgstr "Nu este incărcat nici-un obiect container ..." msgid "was mirrored" msgstr "a fost oglindit" -#: flatcamTools/ToolDblSided.py:468 -msgid "There is no Excellon object loaded ..." -msgstr "Nici-un obiect tip Excellon nu este incărcat ..." - #: flatcamTools/ToolDblSided.py:483 msgid "" "There are no Point coordinates in the Point field. Add coords and try " @@ -12087,10 +13351,6 @@ msgstr "Obiect Film" msgid "Object for which to create the film." msgstr "Obiectul pt care se crează filmul." -#: flatcamTools/ToolFilm.py:102 -msgid "Box Type:" -msgstr "Tip container:" - #: flatcamTools/ToolFilm.py:104 msgid "" "Specify the type of object to be used as an container for\n" @@ -12118,14 +13378,6 @@ msgstr "" "De obicei este conturul PCB dar se poate folosi și obiectul pt care\n" "se crează filmul." -#: flatcamTools/ToolFilm.py:265 -msgid "Positive" -msgstr "Pozitiv" - -#: flatcamTools/ToolFilm.py:266 -msgid "Negative" -msgstr "Negativ" - #: flatcamTools/ToolFilm.py:268 msgid "Film Type:" msgstr "Tip film:" @@ -12515,16 +13767,27 @@ msgstr "" "Dacă nu are succes, atunci curățarea din cupru nu va reuși.\n" "- Curățare -> curățarea obișnuită de cupru." -#: flatcamTools/ToolNonCopperClear.py:204 +#: flatcamTools/ToolNonCopperClear.py:209 msgid "Tool Selection" msgstr "Selecţie Unealtă" -#: flatcamTools/ToolNonCopperClear.py:227 -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:273 +msgid "" +"Diameter for the new tool to add in the Tool Table.\n" +"If the tool is V-shape type then this value is automatically\n" +"calculated from the other parameters." +msgstr "" -#: flatcamTools/ToolNonCopperClear.py:272 flatcamTools/ToolPaint.py:202 -#: flatcamTools/ToolSolderPaste.py:122 +#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190 +msgid "" +"Add a new tool to the Tool Table\n" +"with the diameter specified above." +msgstr "" +"Adaugă o noua unelata in Tabela de Unelte,\n" +"cu diametrul specificat mai sus." + +#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202 +#: flatcamTools/ToolSolderPaste.py:129 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row(s) in the Tool Table." @@ -12532,23 +13795,35 @@ msgstr "" "Șterge o selecţie de unelte in Tabela de Unelte,\n" "efectuata prin selectia liniilot din Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:427 flatcamTools/ToolPaint.py:315 -msgid "Area Selection" -msgstr "Selecţie zonă" +#: flatcamTools/ToolNonCopperClear.py:443 +#, fuzzy +#| msgid "" +#| "- 'Itself' - the non copper clearing extent\n" +#| "is based on the object that is copper cleared.\n" +#| " - 'Area Selection' - left mouse click to start selection of the area to " +#| "be painted.\n" +#| "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple " +#| "areas.\n" +#| "- 'Reference Object' - will do non copper clearing within the area\n" +#| "specified by another object." +msgid "" +"- 'Itself' - the non copper clearing extent is based on the object that is " +"copper cleared.\n" +" - 'Area Selection' - left mouse click to start selection of the area to be " +"painted.\n" +"- 'Reference Object' - will do non copper clearing within the area specified " +"by another object." +msgstr "" +"- „Însuși” - suprafața de curățare a cuprului\n" +"se bazează pe obiectul care este curățat de cupru.\n" +"  - „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe " +"selecția zonei care va fi pictată.\n" +"Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite " +"adăugarea mai multor zone.\n" +"- „Obiect de referință” - va face o curățare fără cupru în zona\n" +"specificată de un alt obiect." -#: flatcamTools/ToolNonCopperClear.py:428 flatcamTools/ToolPaint.py:317 -msgid "Reference Object" -msgstr "Obiect Ref" - -#: flatcamTools/ToolNonCopperClear.py:430 -msgid "Reference:" -msgstr "Referinţă:" - -#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:332 -msgid "Ref. Type" -msgstr "Tip Ref" - -#: flatcamTools/ToolNonCopperClear.py:447 +#: flatcamTools/ToolNonCopperClear.py:455 msgid "" "The type of FlatCAM object to be used as non copper clearing reference.\n" "It can be Gerber, Excellon or Geometry." @@ -12557,153 +13832,121 @@ msgstr "" "non-cupru.\n" "Poate fi Gerber, Excellon sau Geometry." -#: flatcamTools/ToolNonCopperClear.py:456 flatcamTools/ToolPaint.py:343 -msgid "Ref. Object" -msgstr "Obiect Ref" - -#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:345 -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:471 +#: flatcamTools/ToolNonCopperClear.py:479 msgid "Generate Geometry" msgstr "Genereza Geometrie" -#: flatcamTools/ToolNonCopperClear.py:555 flatcamTools/ToolPaint.py:469 -#: flatcamTools/ToolSolderPaste.py:463 -msgid "New Tool" -msgstr "O Noua Unealtă" - -#: flatcamTools/ToolNonCopperClear.py:961 flatcamTools/ToolPaint.py:741 -#: flatcamTools/ToolSolderPaste.py:794 +#: flatcamTools/ToolNonCopperClear.py:965 flatcamTools/ToolPaint.py:741 +#: flatcamTools/ToolSolderPaste.py:846 msgid "Please enter a tool diameter to add, in Float format." msgstr "Introduce diametrul unei unelte pt a fi adăugată, in format Real." -#: flatcamTools/ToolNonCopperClear.py:992 flatcamTools/ToolPaint.py:766 +#: flatcamTools/ToolNonCopperClear.py:996 flatcamTools/ToolPaint.py:766 msgid "Adding tool cancelled. Tool already in Tool Table." msgstr "" "Adăugarea unei unelte noi este anulată. Unealta există deja in Tabela de " "Unelte." -#: flatcamTools/ToolNonCopperClear.py:997 flatcamTools/ToolPaint.py:772 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:772 msgid "New tool added to Tool Table." msgstr "O noua unealtă a fost adăugată in Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:1041 flatcamTools/ToolPaint.py:818 +#: flatcamTools/ToolNonCopperClear.py:1045 flatcamTools/ToolPaint.py:818 msgid "Tool from Tool Table was edited." msgstr "O unealtă din Tabela de Unelte a fost editata." -#: flatcamTools/ToolNonCopperClear.py:1052 flatcamTools/ToolPaint.py:830 -#: flatcamTools/ToolSolderPaste.py:885 +#: flatcamTools/ToolNonCopperClear.py:1056 flatcamTools/ToolPaint.py:830 +#: flatcamTools/ToolSolderPaste.py:937 msgid "Edit cancelled. New diameter value is already in the Tool Table." msgstr "" "Editare eșuată. Noua valoare pt diametrul uneltei este deja in Tabela de " "Unelte." -#: flatcamTools/ToolNonCopperClear.py:1099 flatcamTools/ToolPaint.py:928 +#: flatcamTools/ToolNonCopperClear.py:1103 flatcamTools/ToolPaint.py:928 msgid "Delete failed. Select a tool to delete." msgstr "Ștergere eșuată. Selectează o unealtă pt ștergere." -#: flatcamTools/ToolNonCopperClear.py:1104 flatcamTools/ToolPaint.py:934 +#: flatcamTools/ToolNonCopperClear.py:1108 flatcamTools/ToolPaint.py:934 msgid "Tool(s) deleted from Tool Table." msgstr "Au fost șterse unelte din Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1126 msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" "Valoarea de suprapunere trebuie sa ia valori intre 0 (inclusiv) si 1 " "(exclusiv), " -#: flatcamTools/ToolNonCopperClear.py:1156 +#: flatcamTools/ToolNonCopperClear.py:1160 msgid "Wrong Tool Dia value format entered, use a number." msgstr "Diametrul uneltei este in format gresit, foloseşte un număr Real." -#: flatcamTools/ToolNonCopperClear.py:1165 flatcamTools/ToolPaint.py:1008 +#: flatcamTools/ToolNonCopperClear.py:1169 flatcamTools/ToolPaint.py:1008 msgid "No selected tools in Tool Table." msgstr "Nu sunt unelte selectate in Tabela de Unelte." -#: flatcamTools/ToolNonCopperClear.py:1190 -msgid "Click the start point of the area." -msgstr "Faceți clic pe punctul de pornire al zonei." - -#: flatcamTools/ToolNonCopperClear.py:1240 flatcamTools/ToolPaint.py:1118 +#: flatcamTools/ToolNonCopperClear.py:1244 flatcamTools/ToolPaint.py:1118 msgid "Click the end point of the paint area." msgstr "Faceți clic pe punctul final al zonei de pictat." -#: flatcamTools/ToolNonCopperClear.py:1246 flatcamTools/ToolPaint.py:1124 -msgid "Zone added. Click to start adding next zone or right click to finish." -msgstr "" -"Zona adăugată. Faceți clic stanga pt a continua adăugarea de zone sau click " -"dreapta pentru a termina." - -#: flatcamTools/ToolNonCopperClear.py:1387 -#: flatcamTools/ToolNonCopperClear.py:1389 +#: flatcamTools/ToolNonCopperClear.py:1398 +#: flatcamTools/ToolNonCopperClear.py:1400 msgid "Non-Copper clearing ..." msgstr "Curățare Non-Cupru ..." -#: flatcamTools/ToolNonCopperClear.py:1399 +#: flatcamTools/ToolNonCopperClear.py:1410 msgid "NCC Tool started. Reading parameters." msgstr "Unealta NCC a pornit. Se citesc parametrii." -#: flatcamTools/ToolNonCopperClear.py:1462 +#: flatcamTools/ToolNonCopperClear.py:1473 msgid "NCC Tool. Preparing non-copper polygons." msgstr "Unealta NCC. Se pregătesc poligoanele non-cupru." -#: flatcamTools/ToolNonCopperClear.py:1490 flatcamTools/ToolPaint.py:2518 -msgid "No object available." -msgstr "Nici-un obiect disponibil." - -#: flatcamTools/ToolNonCopperClear.py:1532 -msgid "The reference object type is not supported." -msgstr "Tipul de obiect de referintă nu este acceptat." - -#: flatcamTools/ToolNonCopperClear.py:1558 +#: flatcamTools/ToolNonCopperClear.py:1569 msgid "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" "Unelata NCC. S-a terminat pregătirea poligoanelor non-cupru. Taskul de " "curatare normal de cupru a inceput." -#: flatcamTools/ToolNonCopperClear.py:1590 +#: flatcamTools/ToolNonCopperClear.py:1601 msgid "NCC Tool. Calculate 'empty' area." msgstr "Unealta NCC. Calculează aria 'goală'." -#: flatcamTools/ToolNonCopperClear.py:1605 -#: flatcamTools/ToolNonCopperClear.py:1703 -#: flatcamTools/ToolNonCopperClear.py:1715 -#: flatcamTools/ToolNonCopperClear.py:1953 -#: flatcamTools/ToolNonCopperClear.py:2049 -#: flatcamTools/ToolNonCopperClear.py:2061 +#: flatcamTools/ToolNonCopperClear.py:1616 +#: flatcamTools/ToolNonCopperClear.py:1714 +#: flatcamTools/ToolNonCopperClear.py:1726 +#: flatcamTools/ToolNonCopperClear.py:1964 +#: flatcamTools/ToolNonCopperClear.py:2060 +#: flatcamTools/ToolNonCopperClear.py:2072 msgid "Buffering finished" msgstr "Buferarea terminată" -#: flatcamTools/ToolNonCopperClear.py:1722 -#: flatcamTools/ToolNonCopperClear.py:2067 +#: flatcamTools/ToolNonCopperClear.py:1733 +#: flatcamTools/ToolNonCopperClear.py:2078 msgid "The selected object is not suitable for copper clearing." msgstr "Obiectul selectat nu este potrivit pentru curățarea cuprului." -#: flatcamTools/ToolNonCopperClear.py:1727 -#: flatcamTools/ToolNonCopperClear.py:2072 +#: flatcamTools/ToolNonCopperClear.py:1738 +#: flatcamTools/ToolNonCopperClear.py:2083 msgid "Could not get the extent of the area to be non copper cleared." msgstr "" "Nu s-a putut obtine intinderea suprafaței care să fie curățată de cupru." -#: flatcamTools/ToolNonCopperClear.py:1734 +#: flatcamTools/ToolNonCopperClear.py:1745 msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "Unealta NCC. S-a terminat calculul suprafetei 'goale'." -#: flatcamTools/ToolNonCopperClear.py:1747 -#: flatcamTools/ToolNonCopperClear.py:2097 +#: flatcamTools/ToolNonCopperClear.py:1758 +#: flatcamTools/ToolNonCopperClear.py:2108 msgid "NCC Tool clearing with tool diameter = " msgstr "Unealta NCC cu diametrul uneltei = " -#: flatcamTools/ToolNonCopperClear.py:1750 -#: flatcamTools/ToolNonCopperClear.py:2100 +#: flatcamTools/ToolNonCopperClear.py:1761 +#: flatcamTools/ToolNonCopperClear.py:2111 msgid "started." msgstr "a inceput." -#: flatcamTools/ToolNonCopperClear.py:1892 +#: flatcamTools/ToolNonCopperClear.py:1903 msgid "" "There is no NCC Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12715,25 +13958,25 @@ msgstr "" "pictată.\n" "Schimbați parametrii Paint și încercați din nou." -#: flatcamTools/ToolNonCopperClear.py:1902 +#: flatcamTools/ToolNonCopperClear.py:1913 msgid "NCC Tool clear all done." msgstr "Unealta NCC curătare toate efectuată." -#: flatcamTools/ToolNonCopperClear.py:1904 +#: flatcamTools/ToolNonCopperClear.py:1915 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "" "Unealta NCC curătare toate efectuată dar izolatia este intreruptă pentru" -#: flatcamTools/ToolNonCopperClear.py:1907 -#: flatcamTools/ToolNonCopperClear.py:2273 +#: flatcamTools/ToolNonCopperClear.py:1918 +#: flatcamTools/ToolNonCopperClear.py:2284 msgid "tools" msgstr "unelte" -#: flatcamTools/ToolNonCopperClear.py:2269 +#: flatcamTools/ToolNonCopperClear.py:2280 msgid "NCC Tool Rest Machining clear all done." msgstr "Unealta NCC curătare cu prelucrare tip 'rest' efectuată." -#: flatcamTools/ToolNonCopperClear.py:2272 +#: flatcamTools/ToolNonCopperClear.py:2283 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" @@ -12741,7 +13984,7 @@ msgstr "" "Unealta NCC curătare toate cu prelucrare tip 'rest' efectuată dar izolatia " "este intreruptă pentru" -#: flatcamTools/ToolNonCopperClear.py:2708 +#: flatcamTools/ToolNonCopperClear.py:2719 msgid "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. " "Reload the Gerber file after this change." @@ -12777,15 +14020,15 @@ msgstr "De câte ori este găsit acest minim." msgid "Minimum points coordinates" msgstr "Coordonatele punctelor minime" -#: flatcamTools/ToolOptimal.py:114 +#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120 msgid "Coordinates for points where minimum distance was found." msgstr "Coordonate pentru puncte în care a fost găsită distanța minimă." -#: flatcamTools/ToolOptimal.py:130 flatcamTools/ToolOptimal.py:198 +#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209 msgid "Jump to selected position" msgstr "Salt la poziția selectată" -#: flatcamTools/ToolOptimal.py:132 flatcamTools/ToolOptimal.py:200 +#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211 msgid "" "Select a position in the Locations text box and then\n" "click this button." @@ -12793,11 +14036,11 @@ msgstr "" "Selectați o poziție în caseta de text Locații, apoi\n" "faceți clic pe acest buton." -#: flatcamTools/ToolOptimal.py:140 +#: flatcamTools/ToolOptimal.py:143 msgid "Other distances" msgstr "Alte distanțe" -#: flatcamTools/ToolOptimal.py:141 +#: flatcamTools/ToolOptimal.py:144 msgid "" "Will display other distances in the Gerber file ordered from\n" "the minimum to the maximum, not including the absolute minimum." @@ -12805,12 +14048,13 @@ msgstr "" "Va afișa alte distanțe din fișierul Gerber ordonate de la\n" "minim până la maxim, neincluzând minimul absolut." -#: flatcamTools/ToolOptimal.py:146 +#: flatcamTools/ToolOptimal.py:149 msgid "Other distances points coordinates" msgstr "Coordonatele altor puncte distanțe" -#: flatcamTools/ToolOptimal.py:147 flatcamTools/ToolOptimal.py:161 -#: flatcamTools/ToolOptimal.py:181 +#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164 +#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188 +#: flatcamTools/ToolOptimal.py:195 msgid "" "Other distances and the coordinates for points\n" "where the distance was found." @@ -12818,19 +14062,19 @@ msgstr "" "Alte distanțe și coordonatele pentru puncte\n" "unde a fost găsită distanța." -#: flatcamTools/ToolOptimal.py:160 +#: flatcamTools/ToolOptimal.py:163 msgid "Gerber distances" msgstr "Distanțele Gerber" -#: flatcamTools/ToolOptimal.py:180 +#: flatcamTools/ToolOptimal.py:187 msgid "Points coordinates" msgstr "Coordonatele punctelor" -#: flatcamTools/ToolOptimal.py:208 +#: flatcamTools/ToolOptimal.py:219 msgid "Find Minimum" msgstr "Găsiți Minim" -#: flatcamTools/ToolOptimal.py:210 +#: flatcamTools/ToolOptimal.py:221 msgid "" "Calculate the minimum distance between copper features,\n" "this will allow the determination of the right tool to\n" @@ -12840,16 +14084,16 @@ msgstr "" "acest lucru va permite determinarea uneltei potrivite\n" "pentru izolare sau curatare de cupru." -#: flatcamTools/ToolOptimal.py:314 +#: flatcamTools/ToolOptimal.py:325 msgid "Only Gerber objects can be evaluated." msgstr "Doar obiecte tip Gerber pot fi folosite." -#: flatcamTools/ToolOptimal.py:317 flatcamTools/ToolPanelize.py:781 +#: flatcamTools/ToolOptimal.py:328 flatcamTools/ToolPanelize.py:781 #: flatcamTools/ToolRulesCheck.py:1098 msgid "Working..." msgstr "Se lucrează..." -#: flatcamTools/ToolOptimal.py:320 +#: flatcamTools/ToolOptimal.py:331 msgid "" "Optimal Tool. Started to search for the minimum distance between copper " "features." @@ -12857,16 +14101,16 @@ msgstr "" "Unealta Optim. A început să caute distanța minimă între caracteristicile de " "cupru." -#: flatcamTools/ToolOptimal.py:330 +#: flatcamTools/ToolOptimal.py:341 msgid "Optimal Tool. Parsing geometry for aperture" msgstr "Unealta Optim. Analiza geometriei pentru apertura" -#: flatcamTools/ToolOptimal.py:341 +#: flatcamTools/ToolOptimal.py:352 msgid "Optimal Tool. Creating a buffer for the object geometry." msgstr "" "Unealta Optim. Se creeaza o Geometrie la o distanta de geometria obiectului." -#: flatcamTools/ToolOptimal.py:351 +#: flatcamTools/ToolOptimal.py:362 msgid "" "The Gerber object has one Polygon as geometry.\n" "There are no distances between geometry elements to be found." @@ -12874,17 +14118,17 @@ msgstr "" "Obiectul Gerber are un poligon ca geometrie.\n" "Nu există distanțe între elementele de geometrie care sa poata fi gasite." -#: flatcamTools/ToolOptimal.py:356 +#: flatcamTools/ToolOptimal.py:367 msgid "" "Optimal Tool. Finding the distances between each two elements. Iterations" msgstr "" "Unealta Optim. Se caută distanțele dintre fiecare două elemente. Iterații" -#: flatcamTools/ToolOptimal.py:391 +#: flatcamTools/ToolOptimal.py:402 msgid "Optimal Tool. Finding the minimum distance." msgstr "Unealta Optim. Se caută distanța minimă." -#: flatcamTools/ToolOptimal.py:407 +#: flatcamTools/ToolOptimal.py:418 msgid "Optimal Tool. Finished successfully." msgstr "Unealta Optim. Procesul s-a terminat cu succes." @@ -13073,7 +14317,7 @@ msgstr "Nu s-a putut incărca obiectul: %s" msgid "Can't do Paint on MultiGeo geometries" msgstr "Nu se poate face 'pictare' pe geometrii MultiGeo" -#: flatcamTools/ToolPaint.py:1030 flatcamTools/ToolPaint.py:1303 +#: flatcamTools/ToolPaint.py:1030 flatcamTools/ToolPaint.py:1304 msgid "Painting polygon..." msgstr "Se 'pictează' un poligon..." @@ -13081,39 +14325,39 @@ msgstr "Se 'pictează' un poligon..." msgid "Click the start point of the paint area." msgstr "Faceți clic pe punctul de pornire al zonei de pictat." -#: flatcamTools/ToolPaint.py:1259 flatcamTools/ToolPaint.py:1263 -#: flatcamTools/ToolPaint.py:1266 flatcamTools/ToolPaint.py:1305 -#: flatcamTools/ToolPaint.py:1832 flatcamTools/ToolPaint.py:1836 -#: flatcamTools/ToolPaint.py:1839 flatcamTools/ToolPaint.py:2121 -#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2129 -#: flatcamTools/ToolPaint.py:2303 flatcamTools/ToolPaint.py:2310 +#: flatcamTools/ToolPaint.py:1267 flatcamTools/ToolPaint.py:1271 +#: flatcamTools/ToolPaint.py:1274 flatcamTools/ToolPaint.py:1306 +#: flatcamTools/ToolPaint.py:1824 flatcamTools/ToolPaint.py:1828 +#: flatcamTools/ToolPaint.py:1831 flatcamTools/ToolPaint.py:2113 +#: flatcamTools/ToolPaint.py:2118 flatcamTools/ToolPaint.py:2121 +#: flatcamTools/ToolPaint.py:2295 flatcamTools/ToolPaint.py:2302 msgid "Paint Tool." msgstr "Unealta Paint." -#: flatcamTools/ToolPaint.py:1259 flatcamTools/ToolPaint.py:1263 -#: flatcamTools/ToolPaint.py:1266 +#: flatcamTools/ToolPaint.py:1267 flatcamTools/ToolPaint.py:1271 +#: flatcamTools/ToolPaint.py:1274 msgid "Normal painting polygon task started." msgstr "Taskul de pictare normal a unui polygon a inceput." -#: flatcamTools/ToolPaint.py:1260 flatcamTools/ToolPaint.py:1658 -#: flatcamTools/ToolPaint.py:1833 flatcamTools/ToolPaint.py:2123 -#: flatcamTools/ToolPaint.py:2305 +#: flatcamTools/ToolPaint.py:1268 flatcamTools/ToolPaint.py:1650 +#: flatcamTools/ToolPaint.py:1825 flatcamTools/ToolPaint.py:2115 +#: flatcamTools/ToolPaint.py:2297 msgid "Buffering geometry..." msgstr "Crează o geometrie de tipul Bufer..." -#: flatcamTools/ToolPaint.py:1300 +#: flatcamTools/ToolPaint.py:1301 msgid "No polygon found." msgstr "Nu s-a gasit nici-un poligon." -#: flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1306 msgid "Painting polygon at location" msgstr "Se pictează poligonul aflat in pozitia" -#: flatcamTools/ToolPaint.py:1388 +#: flatcamTools/ToolPaint.py:1389 msgid "Geometry could not be painted completely" msgstr "Geometria nu a fost posibil să fie 'pictată' complet" -#: flatcamTools/ToolPaint.py:1433 +#: flatcamTools/ToolPaint.py:1434 msgid "" "Could not do Paint. Try a different combination of parameters. Or a " "different strategy of paint" @@ -13121,9 +14365,9 @@ msgstr "" "Nu s-a putut face operatia de 'pictare'. Incearcă o combinaţie diferita de " "parametri. Sau o strategie diferita de 'pictare'" -#: flatcamTools/ToolPaint.py:1477 flatcamTools/ToolPaint.py:1812 -#: flatcamTools/ToolPaint.py:1962 flatcamTools/ToolPaint.py:2283 -#: flatcamTools/ToolPaint.py:2437 +#: flatcamTools/ToolPaint.py:1478 flatcamTools/ToolPaint.py:1804 +#: flatcamTools/ToolPaint.py:1954 flatcamTools/ToolPaint.py:2275 +#: flatcamTools/ToolPaint.py:2429 msgid "" "There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -13135,36 +14379,36 @@ msgstr "" "geometrice.\n" "Schimbă parametrii de 'pictare' și încearcă din nou." -#: flatcamTools/ToolPaint.py:1482 +#: flatcamTools/ToolPaint.py:1483 msgid "Paint Single Done." msgstr "Pictarea unui polygon efectuată." -#: flatcamTools/ToolPaint.py:1514 flatcamTools/ToolPaint.py:1990 -#: flatcamTools/ToolPaint.py:2465 +#: flatcamTools/ToolPaint.py:1515 flatcamTools/ToolPaint.py:1982 +#: flatcamTools/ToolPaint.py:2457 msgid "Polygon Paint started ..." msgstr "Paint pt poligon a inceput ..." -#: flatcamTools/ToolPaint.py:1575 flatcamTools/ToolPaint.py:2052 +#: flatcamTools/ToolPaint.py:1567 flatcamTools/ToolPaint.py:2044 msgid "Painting polygons..." msgstr "Se 'pictează' poligoane..." -#: flatcamTools/ToolPaint.py:1657 flatcamTools/ToolPaint.py:1660 -#: flatcamTools/ToolPaint.py:1662 +#: flatcamTools/ToolPaint.py:1649 flatcamTools/ToolPaint.py:1652 +#: flatcamTools/ToolPaint.py:1654 msgid "Paint Tool. Normal painting all task started." msgstr "Unealta Paint. Taskul de pictare a tuturor poligoanelor a inceput." -#: flatcamTools/ToolPaint.py:1696 flatcamTools/ToolPaint.py:1868 -#: flatcamTools/ToolPaint.py:2170 flatcamTools/ToolPaint.py:2346 +#: flatcamTools/ToolPaint.py:1688 flatcamTools/ToolPaint.py:1860 +#: flatcamTools/ToolPaint.py:2162 flatcamTools/ToolPaint.py:2338 msgid "Painting with tool diameter = " msgstr "Pictand cu o unealtă cu diametrul = " -#: flatcamTools/ToolPaint.py:1699 flatcamTools/ToolPaint.py:1871 -#: flatcamTools/ToolPaint.py:2173 flatcamTools/ToolPaint.py:2349 +#: flatcamTools/ToolPaint.py:1691 flatcamTools/ToolPaint.py:1863 +#: flatcamTools/ToolPaint.py:2165 flatcamTools/ToolPaint.py:2341 msgid "started" msgstr "a inceput" -#: flatcamTools/ToolPaint.py:1761 flatcamTools/ToolPaint.py:1917 -#: flatcamTools/ToolPaint.py:2233 flatcamTools/ToolPaint.py:2393 +#: flatcamTools/ToolPaint.py:1753 flatcamTools/ToolPaint.py:1909 +#: flatcamTools/ToolPaint.py:2225 flatcamTools/ToolPaint.py:2385 msgid "" "Could not do Paint All. Try a different combination of parameters. Or a " "different Method of paint" @@ -13172,35 +14416,35 @@ msgstr "" "Nu s-a efectuat op. 'Paint' pt toate poligoanele. Incearcă o combinaţie " "diferită de parametri. Sau încearcă o alta metoda de 'pictat'" -#: flatcamTools/ToolPaint.py:1821 +#: flatcamTools/ToolPaint.py:1813 msgid "Paint All Done." msgstr "Pictarea Tuturor poligoanelor efectuată." -#: flatcamTools/ToolPaint.py:1832 flatcamTools/ToolPaint.py:1836 -#: flatcamTools/ToolPaint.py:1839 +#: flatcamTools/ToolPaint.py:1824 flatcamTools/ToolPaint.py:1828 +#: flatcamTools/ToolPaint.py:1831 msgid "Rest machining painting all task started." msgstr "" "Taskul de pictare prin prelucrare 'rest' a tuturor poligoanelor a inceput." -#: flatcamTools/ToolPaint.py:1971 flatcamTools/ToolPaint.py:2446 +#: flatcamTools/ToolPaint.py:1963 flatcamTools/ToolPaint.py:2438 msgid "Paint All with Rest-Machining done." msgstr "'Paint' pentru toate poligoanele cu strategia Rest a fost efectuată." -#: flatcamTools/ToolPaint.py:2122 flatcamTools/ToolPaint.py:2126 -#: flatcamTools/ToolPaint.py:2129 +#: flatcamTools/ToolPaint.py:2114 flatcamTools/ToolPaint.py:2118 +#: flatcamTools/ToolPaint.py:2121 msgid "Normal painting area task started." msgstr "Taskul de pictare normal a unei arii a inceput." -#: flatcamTools/ToolPaint.py:2292 +#: flatcamTools/ToolPaint.py:2284 msgid "Paint Area Done." msgstr "Paint pt o zona efectuata." -#: flatcamTools/ToolPaint.py:2304 flatcamTools/ToolPaint.py:2310 +#: flatcamTools/ToolPaint.py:2296 flatcamTools/ToolPaint.py:2302 msgid "Rest machining painting area task started." msgstr "" "Taskul de pictare a unei arii cu strategia de masinare 'rest' a inceput." -#: flatcamTools/ToolPaint.py:2307 +#: flatcamTools/ToolPaint.py:2299 msgid "Paint Tool. Rest machining painting area task started." msgstr "" "Unealta Paint. Taskul de pictare a unei arii cu strategia de masinare 'rest' " @@ -13599,6 +14843,105 @@ msgstr "Arie pătratică" msgid "Convex_Hull Area" msgstr "Arie convexă" +#: flatcamTools/ToolQRCode.py:79 +#, fuzzy +#| msgid "Gerber objects for which to check rules." +msgid "Gerber Object to which the QRCode will be added." +msgstr "Obiecte Gerber pentru care trebuie verificate regulile." + +#: flatcamTools/ToolQRCode.py:92 +#, fuzzy +#| msgid "Slot Parameters" +msgid "QRCode Parameters" +msgstr "Parametrii pt slot" + +#: flatcamTools/ToolQRCode.py:94 +msgid "The parameters used to shape the QRCode." +msgstr "" + +#: flatcamTools/ToolQRCode.py:207 +#, fuzzy +#| msgid "Export G-Code" +msgid "Export QRCode" +msgstr "Exportă G-Code" + +#: flatcamTools/ToolQRCode.py:209 +msgid "" +"Show a set of controls allowing to export the QRCode\n" +"to a SVG file or an PNG file." +msgstr "" + +#: flatcamTools/ToolQRCode.py:248 +msgid "Transparent back color" +msgstr "" + +#: flatcamTools/ToolQRCode.py:273 +#, fuzzy +#| msgid "Export SVG" +msgid "Export QRCode SVG" +msgstr "Exporta SVG" + +#: flatcamTools/ToolQRCode.py:275 +msgid "Export a SVG file with the QRCode content." +msgstr "" + +#: flatcamTools/ToolQRCode.py:280 +#, fuzzy +#| msgid "Export G-Code" +msgid "Export QRCode PNG" +msgstr "Exportă G-Code" + +#: flatcamTools/ToolQRCode.py:282 +msgid "Export a PNG image file with the QRCode content." +msgstr "" + +#: flatcamTools/ToolQRCode.py:287 +#, fuzzy +#| msgid "Generate GCode" +msgid "Insert QRCode" +msgstr "Genereaa GCode" + +#: flatcamTools/ToolQRCode.py:289 +#, fuzzy +#| msgid "Generate the CNC Job object." +msgid "Create the QRCode object." +msgstr "Generează un obiect CNCJob." + +#: flatcamTools/ToolQRCode.py:381 flatcamTools/ToolQRCode.py:716 +#: flatcamTools/ToolQRCode.py:765 +#, fuzzy +#| msgid "Cancelled. There is no Tool/Drill selected" +msgid "Cancelled. There is no QRCode Data in the text box." +msgstr "Anulat. Nu este selectată nici-o unealtă sau op. de găurire" + +#: flatcamTools/ToolQRCode.py:400 +#, fuzzy +#| msgid "Generate Geometry" +msgid "Generating QRCode geometry" +msgstr "Genereza Geometrie" + +#: flatcamTools/ToolQRCode.py:440 +#, fuzzy +#| msgid "Click on the Destination point..." +msgid "Click on the Destination point ..." +msgstr "Click pe punctul de Destinaţie ..." + +#: flatcamTools/ToolQRCode.py:555 +msgid "QRCode Tool done." +msgstr "" + +#: flatcamTools/ToolQRCode.py:748 flatcamTools/ToolQRCode.py:752 +#, fuzzy +#| msgid "Export SVG" +msgid "Export PNG" +msgstr "Exporta SVG" + +#: flatcamTools/ToolQRCode.py:757 +#, fuzzy +#| msgid "Export PNG cancelled." +msgid " Export PNG cancelled." +msgstr "Exportul imagine PNG este anulat." + #: flatcamTools/ToolRulesCheck.py:33 msgid "Check Rules" msgstr "Verificați regulile" @@ -13835,15 +15178,15 @@ msgstr "Încălcări: nu există încălcări pentru regula actuală." msgid "...proccessing..." msgstr "...in procesare..." -#: flatcamTools/ToolSolderPaste.py:36 +#: flatcamTools/ToolSolderPaste.py:37 msgid "Solder Paste Tool" msgstr "Unealta DispensorPF" -#: flatcamTools/ToolSolderPaste.py:64 +#: flatcamTools/ToolSolderPaste.py:68 msgid "Gerber Solder paste object. " msgstr "Obiect Gerber cu masca pt dispensarea de pastă de fludor. " -#: flatcamTools/ToolSolderPaste.py:71 +#: flatcamTools/ToolSolderPaste.py:75 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -13851,7 +15194,7 @@ msgstr "" "Un număr de unelte (nozzle) din care algoritmul va alege pe acelea\n" "care vor fi folosite pentru dispensarea pastei de fludor." -#: flatcamTools/ToolSolderPaste.py:86 +#: flatcamTools/ToolSolderPaste.py:90 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -13866,7 +15209,7 @@ msgstr "" "Daca numai sunt unelte dar mai sunt inca paduri neacoperite de pastă de \n" "fludor, aplicaţia va afisa un mesaj de avertizare in Status Bar." -#: flatcamTools/ToolSolderPaste.py:93 +#: flatcamTools/ToolSolderPaste.py:97 msgid "" "Nozzle tool Diameter. It's value (in current FlatCAM units)\n" "is the width of the solder paste dispensed." @@ -13874,11 +15217,11 @@ msgstr "" "Diametrul uneltei Nozzle. Valoarea sa (in unitati de maura curente)\n" "este lăţimea cantiatii de pastă de fludor dispensata." -#: flatcamTools/ToolSolderPaste.py:100 +#: flatcamTools/ToolSolderPaste.py:104 msgid "New Nozzle Tool" msgstr "Unealtă noua" -#: flatcamTools/ToolSolderPaste.py:116 +#: flatcamTools/ToolSolderPaste.py:123 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -13886,15 +15229,11 @@ msgstr "" "Adaugă o unealtă nouă tip Nozzle in Tabela de Unelte\n" "cu diametrul specificat mai sus." -#: flatcamTools/ToolSolderPaste.py:128 +#: flatcamTools/ToolSolderPaste.py:135 msgid "Generate solder paste dispensing geometry." msgstr "Generează un obiect Geometrie pt dispensarea de pastă de fludor." -#: flatcamTools/ToolSolderPaste.py:141 -msgid "STEP 1" -msgstr "PAS 1" - -#: flatcamTools/ToolSolderPaste.py:143 +#: flatcamTools/ToolSolderPaste.py:150 msgid "" "First step is to select a number of nozzle tools for usage\n" "and then optionally modify the GCode parameters bellow." @@ -13903,7 +15242,7 @@ msgstr "" "utilizare și apoi in mod optional, să se modifice parametrii\n" "GCode de mai jos." -#: flatcamTools/ToolSolderPaste.py:146 +#: flatcamTools/ToolSolderPaste.py:153 msgid "" "Select tools.\n" "Modify parameters." @@ -13911,7 +15250,7 @@ msgstr "" "Selectează unelte.\n" "Modifica parametri." -#: flatcamTools/ToolSolderPaste.py:234 +#: flatcamTools/ToolSolderPaste.py:273 msgid "" "Feedrate (speed) while moving up vertically\n" " to Dispense position (on Z plane)." @@ -13919,11 +15258,7 @@ msgstr "" "Viteza de deplasare la mișcarea pe verticala spre\n" "poziţia de dispensare (in planul Z)." -#: flatcamTools/ToolSolderPaste.py:288 -msgid "Generate GCode" -msgstr "Genereaa GCode" - -#: flatcamTools/ToolSolderPaste.py:290 +#: flatcamTools/ToolSolderPaste.py:343 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -13931,11 +15266,7 @@ msgstr "" "Generează GCode pt dispensarea\n" "de pastă de fludor pe padurile PCB." -#: flatcamTools/ToolSolderPaste.py:305 -msgid "STEP 2" -msgstr "PAS 2" - -#: flatcamTools/ToolSolderPaste.py:307 +#: flatcamTools/ToolSolderPaste.py:360 msgid "" "Second step is to create a solder paste dispensing\n" "geometry out of an Solder Paste Mask Gerber file." @@ -13944,11 +15275,11 @@ msgstr "" "de pastă de fludor, dintr-un fişier Gerber cu datele mastii de plasare\n" "a pastei de fludor." -#: flatcamTools/ToolSolderPaste.py:323 +#: flatcamTools/ToolSolderPaste.py:376 msgid "Geo Result" msgstr "Rezultat Geo" -#: flatcamTools/ToolSolderPaste.py:325 +#: flatcamTools/ToolSolderPaste.py:378 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -13958,11 +15289,7 @@ msgstr "" "Numele obiectului trebuie să se termine obligatoriu\n" "in: '_solderpaste'." -#: flatcamTools/ToolSolderPaste.py:334 -msgid "STEP 3" -msgstr "PAS 3" - -#: flatcamTools/ToolSolderPaste.py:336 +#: flatcamTools/ToolSolderPaste.py:389 msgid "" "Third step is to select a solder paste dispensing geometry,\n" "and then generate a CNCJob object.\n" @@ -13978,11 +15305,11 @@ msgstr "" "mai intai trebuie generat obiectul Geometrie cu acei parametri noi și abia\n" "apoi se poate genera un obiect CNCJob actualizat." -#: flatcamTools/ToolSolderPaste.py:356 +#: flatcamTools/ToolSolderPaste.py:409 msgid "CNC Result" msgstr "Rezultat CNC" -#: flatcamTools/ToolSolderPaste.py:358 +#: flatcamTools/ToolSolderPaste.py:411 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -13994,11 +15321,11 @@ msgstr "" "numele obiectului trebuie să se termine obligatoriu in:\n" "'_solderpaste'." -#: flatcamTools/ToolSolderPaste.py:368 +#: flatcamTools/ToolSolderPaste.py:421 msgid "View GCode" msgstr "Vizualiz. GCode" -#: flatcamTools/ToolSolderPaste.py:370 +#: flatcamTools/ToolSolderPaste.py:423 msgid "" "View the generated GCode for Solder Paste dispensing\n" "on PCB pads." @@ -14006,11 +15333,11 @@ msgstr "" "Vizualizează codul GCode generat pt dispensarea de \n" "pastă de fludor pe padurile PCB-ului." -#: flatcamTools/ToolSolderPaste.py:374 +#: flatcamTools/ToolSolderPaste.py:427 msgid "Save GCode" msgstr "Salvează GCode" -#: flatcamTools/ToolSolderPaste.py:376 +#: flatcamTools/ToolSolderPaste.py:429 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -14018,11 +15345,7 @@ msgstr "" "Salvează codul GCode generat pt dispensare pastă de fludor\n" "pe padurile unui PCB, intr-un fişier pe HDD." -#: flatcamTools/ToolSolderPaste.py:380 -msgid "STEP 4" -msgstr "PAS 4" - -#: flatcamTools/ToolSolderPaste.py:382 +#: flatcamTools/ToolSolderPaste.py:435 msgid "" "Fourth step (and last) is to select a CNCJob made from \n" "a solder paste dispensing geometry, and then view/save it's GCode." @@ -14032,91 +15355,97 @@ msgstr "" "avand posibilitatea de a vizualiza continutul acestuia sau de a-l salva\n" "intr-un fişier GCode pe HDD." -#: flatcamTools/ToolSolderPaste.py:824 +#: flatcamTools/ToolSolderPaste.py:876 msgid "Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" "Adăugarea unei unelte Nozzle a fost anulată. Unealta există deja in Tabela " "de Unelte." -#: flatcamTools/ToolSolderPaste.py:830 +#: flatcamTools/ToolSolderPaste.py:882 msgid "New Nozzle tool added to Tool Table." msgstr "A fost adăugată o noua unealtă Nozzle in Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:873 +#: flatcamTools/ToolSolderPaste.py:925 msgid "Nozzle tool from Tool Table was edited." msgstr "Unealta Nozzle din Tabela de Unelte a fost editată." -#: flatcamTools/ToolSolderPaste.py:931 +#: flatcamTools/ToolSolderPaste.py:983 msgid "Delete failed. Select a Nozzle tool to delete." msgstr "Ștergerea a eșuat. Selectează o unealtă Nozzle pt a o șterge." -#: flatcamTools/ToolSolderPaste.py:937 +#: flatcamTools/ToolSolderPaste.py:989 msgid "Nozzle tool(s) deleted from Tool Table." msgstr "Uneltele (nozzle) au fost șterse din Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:993 +#: flatcamTools/ToolSolderPaste.py:1045 msgid "No SolderPaste mask Gerber object loaded." msgstr "" "Nu este incărcat ni-un obiect Gerber cu informatia măstii pt pasta de fludor." -#: flatcamTools/ToolSolderPaste.py:1011 +#: flatcamTools/ToolSolderPaste.py:1063 msgid "Creating Solder Paste dispensing geometry." msgstr "Se creează Geometrie pt dispensare pastă de fludor." -#: flatcamTools/ToolSolderPaste.py:1024 +#: flatcamTools/ToolSolderPaste.py:1076 msgid "No Nozzle tools in the tool table." msgstr "Nu sunt unelte Nozzle in Tabela de Unelte." -#: flatcamTools/ToolSolderPaste.py:1151 +#: flatcamTools/ToolSolderPaste.py:1203 msgid "Cancelled. Empty file, it has no geometry..." msgstr "Anulat. Fişier gol, nu are geometrie ..." -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1207 msgid "Solder Paste geometry generated successfully" msgstr "" "Obiectul Geometrie pt dispens. de pastă de fludor a fost generat cu succes" -#: flatcamTools/ToolSolderPaste.py:1162 +#: flatcamTools/ToolSolderPaste.py:1214 msgid "Some or all pads have no solder due of inadequate nozzle diameters..." msgstr "" "Cel puțin unele pad-uri nu au pastă de fludor datorita diametrelor uneltelor " "(nozzle) ne adecvate." -#: flatcamTools/ToolSolderPaste.py:1176 +#: flatcamTools/ToolSolderPaste.py:1228 msgid "Generating Solder Paste dispensing geometry..." msgstr "Se generează Geometria de dispensare a pastei de fludor ..." -#: flatcamTools/ToolSolderPaste.py:1197 +#: flatcamTools/ToolSolderPaste.py:1249 msgid "There is no Geometry object available." msgstr "Nu există obiect Geometrie disponibil." -#: flatcamTools/ToolSolderPaste.py:1202 +#: flatcamTools/ToolSolderPaste.py:1254 msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry." msgstr "" "Acest obiect Geometrie nu poate fi procesat Nu este o Geometrie tip " "solder_paste_tool." -#: flatcamTools/ToolSolderPaste.py:1310 +#: flatcamTools/ToolSolderPaste.py:1362 msgid "ToolSolderPaste CNCjob created" msgstr "ToolSolderPaste CNCjob a fost creat" -#: flatcamTools/ToolSolderPaste.py:1343 flatcamTools/ToolSolderPaste.py:1348 -#: flatcamTools/ToolSolderPaste.py:1403 +#: flatcamTools/ToolSolderPaste.py:1383 +#, fuzzy +#| msgid "Code Editor" +msgid "SP GCode Editor" +msgstr "Editor Cod" + +#: flatcamTools/ToolSolderPaste.py:1395 flatcamTools/ToolSolderPaste.py:1400 +#: flatcamTools/ToolSolderPaste.py:1455 msgid "" "This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object." msgstr "" "Acest obiect CNCJob nu poate fi procesat. Nu este un obiect CNCJob tip " "'solder_paste_tool'." -#: flatcamTools/ToolSolderPaste.py:1373 +#: flatcamTools/ToolSolderPaste.py:1425 msgid "No Gcode in the object" msgstr "Nu există cod GCode in acest obiect" -#: flatcamTools/ToolSolderPaste.py:1413 +#: flatcamTools/ToolSolderPaste.py:1465 msgid "Export GCode ..." msgstr "Exporta GCode ..." -#: flatcamTools/ToolSolderPaste.py:1461 +#: flatcamTools/ToolSolderPaste.py:1513 msgid "Solder paste dispenser GCode file saved to" msgstr "Fişierul GCode pt dispensare pastă de fludor este salvat in" @@ -14124,10 +15453,6 @@ msgstr "Fişierul GCode pt dispensare pastă de fludor este salvat in" msgid "Gerber Objects" msgstr "Obiecte Gerber" -#: flatcamTools/ToolSub.py:73 flatcamTools/ToolSub.py:119 -msgid "Target" -msgstr "Tintă" - #: flatcamTools/ToolSub.py:75 msgid "" "Gerber object from which to subtract\n" @@ -14398,7 +15723,7 @@ msgstr "Obiectele tip CNCJob nu pot fi deplasate." msgid "Offset on the" msgstr "Ofset pe" -#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:68 +#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73 msgid "Expected FlatCAMGerber or FlatCAMGeometry, got" msgstr "Se astepta un obiect FlatCAMGerber sau FlatCAMGeometry, s-a primit" @@ -14411,16 +15736,16 @@ msgstr "" msgid "TclCommand Bounds done." msgstr "TclCommand Bounds executata." -#: tclCommands/TclCommandCopperClear.py:237 tclCommands/TclCommandPaint.py:235 +#: tclCommands/TclCommandCopperClear.py:241 tclCommands/TclCommandPaint.py:239 msgid "Expected -box ." msgstr "Asteptăm -box ." -#: tclCommands/TclCommandCopperClear.py:246 tclCommands/TclCommandPaint.py:244 -#: tclCommands/TclCommandScale.py:63 +#: tclCommands/TclCommandCopperClear.py:250 tclCommands/TclCommandPaint.py:248 +#: tclCommands/TclCommandScale.py:75 msgid "Could not retrieve box object" msgstr "Nu s-a putut incărca obiectul" -#: tclCommands/TclCommandCopperClear.py:268 +#: tclCommands/TclCommandCopperClear.py:272 msgid "" "None of the following args: 'ref', 'all' were found or none was set to 1.\n" "Copper clearing failed." @@ -14429,11 +15754,11 @@ msgstr "" "nici unul nu a fost setat la 1.\n" "Curatarea de cupru a eșuat." -#: tclCommands/TclCommandPaint.py:212 +#: tclCommands/TclCommandPaint.py:216 msgid "Expected -x and -y ." msgstr "Asteptam -x si -y ." -#: tclCommands/TclCommandPaint.py:263 +#: tclCommands/TclCommandPaint.py:267 msgid "" "There was none of the following args: 'ref', 'single', 'all'.\n" "Paint failed." @@ -14441,29 +15766,68 @@ msgstr "" "Nu a existat niciunul din următoarele argumente: „ref”, „single”, „all”.\n" "Pictura nu a reușit." -#: tclCommands/TclCommandScale.py:83 +#: tclCommands/TclCommandScale.py:95 msgid "Expected -origin or -origin or -origin
." msgstr "" "Asteptam -origin sau -origin sau -origin
." -#: tclCommands/TclCommandScale.py:92 +#: tclCommands/TclCommandScale.py:104 msgid "Expected -x -y ." msgstr "Asteptam -x -y ." -#: tclCommands/TclCommandSetOrigin.py:87 +#: tclCommands/TclCommandSetOrigin.py:91 msgid "Expected a pair of (x, y) coordinates. Got" msgstr "Se așteaptă o pereche de coordonate (x, y). S-au primit" -#: tclCommands/TclCommandSetOrigin.py:94 +#: tclCommands/TclCommandSetOrigin.py:98 msgid "Origin set by offsetting all loaded objects with " msgstr "Originea setată prin ofsetarea tuturor obiectelor încărcate cu " -#: tclCommands/TclCommandSubtractRectangle.py:49 +#: tclCommands/TclCommandSubtractRectangle.py:58 msgid "No Geometry name in args. Provide a name and try again." msgstr "" "Nici-un nume de Geometrie in argumente. Furnizați un nume și încercați din " "nou." +#~ msgid "Program Author" +#~ msgstr "Autorul Programului" + +#~ msgid "Export G-Code ..." +#~ msgstr "Exporta G-Code ..." + +#~ msgid "&View" +#~ msgstr "&Vizualizare" + +#~ msgid "&Tool" +#~ msgstr "Unelte" + +#~ msgid "APP. DEFAULTS" +#~ msgstr "Default for App" + +#~ msgid "PROJ. OPTIONS " +#~ msgstr "Opțiuni Proiect " + +#~ msgid "" +#~ "Select from the Tools Table above\n" +#~ "the hole dias that are to be drilled.\n" +#~ "Use the # column to make the selection." +#~ msgstr "" +#~ "Selecteaa din Tabela de Unelte de mai sus\n" +#~ "acele găuri care vor fi frezate.\n" +#~ "Foloseste coloanal # pt a face această selectie." + +#~ msgid "y_toolchange = Y coord for Toolchange" +#~ msgstr "y_toolchange = coord. Y pt schimb unealtă" + +#~ msgid "Gerber Reference Box Object" +#~ msgstr "Obiectul container al Gerber de referinţă" + +#~ msgid "Excellon Reference Box Object" +#~ msgstr "Obiectul container al Excellon de referinţă" + +#~ msgid "Geometry Reference Box Object" +#~ msgstr "Obiectul container al Geo de referinţă" + #, fuzzy #~| msgid "{l_save}/Project_{date}" #~ msgid "{l_save}/FlatCAM_Bookmarks_{date}" @@ -14684,9 +16048,6 @@ msgstr "" #~ msgid "geo" #~ msgstr "geo" -#~ msgid "Start" -#~ msgstr "Start" - #~ msgid "Stop" #~ msgstr "Stop" @@ -16965,9 +18326,6 @@ msgstr "" #~ msgid "[WARNING_NOTCL] Move cancelled. No shape selected." #~ msgstr "[WARNING_NOTCL] Mutare anulata. Nici-o forma nu este selectată." -#~ msgid "Click on the Destination point..." -#~ msgstr "Click pe punctul de Destinaţie ..." - #~ msgid "Copy as &Geom" #~ msgstr "Copiază ca &Geo" diff --git a/locale_template/strings.pot b/locale_template/strings.pot index 26a3e978..4e89810b 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-10-19 22:04+0300\n" +"POT-Creation-Date: 2019-11-11 02:35+0200\n" "PO-Revision-Date: 2019-03-25 15:08+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.2.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Basepath: ..\n" "X-Poedit-SearchPath-0: .\n" @@ -23,206 +23,204 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:413 +#: FlatCAMApp.py:913 msgid "FlatCAM is initializing ..." msgstr "" -#: FlatCAMApp.py:1362 +#: FlatCAMApp.py:1438 msgid "Could not find the Language files. The App strings are missing." msgstr "" -#: FlatCAMApp.py:1763 +#: FlatCAMApp.py:1517 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started." msgstr "" -#: FlatCAMApp.py:1779 +#: FlatCAMApp.py:1535 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started.\n" "Canvas initialization finished in" msgstr "" -#: FlatCAMApp.py:1985 -msgid "Detachable Tabs" -msgstr "" - -#: FlatCAMApp.py:2485 +#: FlatCAMApp.py:2230 msgid "" "Type >help< to get started\n" "\n" msgstr "" -#: FlatCAMApp.py:2710 FlatCAMApp.py:8839 +#: FlatCAMApp.py:2481 FlatCAMApp.py:8817 msgid "New Project - Not saved" msgstr "" -#: FlatCAMApp.py:2784 FlatCAMApp.py:8897 FlatCAMApp.py:8933 FlatCAMApp.py:8973 -#: FlatCAMApp.py:9737 FlatCAMApp.py:10993 FlatCAMApp.py:11046 +#: FlatCAMApp.py:2556 FlatCAMApp.py:8885 FlatCAMApp.py:8922 FlatCAMApp.py:8963 +#: FlatCAMApp.py:9743 FlatCAMApp.py:10983 FlatCAMApp.py:11042 msgid "" "Canvas initialization started.\n" "Canvas initialization finished in" msgstr "" -#: FlatCAMApp.py:2786 +#: FlatCAMApp.py:2558 msgid "Executing Tcl Script ..." msgstr "" -#: FlatCAMApp.py:2839 ObjectCollection.py:90 flatcamTools/ToolImage.py:219 +#: FlatCAMApp.py:2612 ObjectCollection.py:90 flatcamTools/ToolImage.py:219 #: flatcamTools/ToolPcbWizard.py:300 flatcamTools/ToolPcbWizard.py:323 msgid "Open cancelled." msgstr "" -#: FlatCAMApp.py:2855 +#: FlatCAMApp.py:2628 msgid "Open Config file failed." msgstr "" -#: FlatCAMApp.py:2870 +#: FlatCAMApp.py:2643 msgid "Open Script file failed." msgstr "" -#: FlatCAMApp.py:2896 +#: FlatCAMApp.py:2669 msgid "Open Excellon file failed." msgstr "" -#: FlatCAMApp.py:2909 +#: FlatCAMApp.py:2682 msgid "Open GCode file failed." msgstr "" -#: FlatCAMApp.py:2922 +#: FlatCAMApp.py:2695 msgid "Open Gerber file failed." msgstr "" -#: FlatCAMApp.py:3246 +#: FlatCAMApp.py:3031 msgid "Select a Geometry, Gerber or Excellon Object to edit." msgstr "" -#: FlatCAMApp.py:3260 +#: FlatCAMApp.py:3046 msgid "" -"Simultanoeus editing of tools geometry in a MultiGeo Geometry is not possible.\n" +"Simultaneous editing of tools geometry in a MultiGeo Geometry is not possible.\n" "Edit only one geometry at a time." msgstr "" -#: FlatCAMApp.py:3315 +#: FlatCAMApp.py:3101 msgid "Editor is activated ..." msgstr "" -#: FlatCAMApp.py:3336 +#: FlatCAMApp.py:3122 msgid "Do you want to save the edited object?" msgstr "" -#: FlatCAMApp.py:3337 flatcamGUI/FlatCAMGUI.py:1924 +#: FlatCAMApp.py:3123 flatcamGUI/FlatCAMGUI.py:1935 msgid "Close Editor" msgstr "" -#: FlatCAMApp.py:3340 FlatCAMApp.py:5036 FlatCAMApp.py:7636 FlatCAMApp.py:8746 -#: FlatCAMTranslation.py:97 FlatCAMTranslation.py:171 flatcamGUI/PreferencesUI.py:930 +#: FlatCAMApp.py:3126 FlatCAMApp.py:4788 FlatCAMApp.py:7565 FlatCAMApp.py:7591 +#: FlatCAMApp.py:8724 FlatCAMTranslation.py:97 FlatCAMTranslation.py:171 +#: flatcamGUI/PreferencesUI.py:941 msgid "Yes" msgstr "" -#: FlatCAMApp.py:3341 FlatCAMApp.py:5037 FlatCAMApp.py:7637 FlatCAMApp.py:8747 -#: FlatCAMTranslation.py:98 FlatCAMTranslation.py:172 flatcamGUI/PreferencesUI.py:931 -#: flatcamGUI/PreferencesUI.py:3783 flatcamGUI/PreferencesUI.py:4175 -#: flatcamTools/ToolNonCopperClear.py:184 flatcamTools/ToolPaint.py:161 +#: FlatCAMApp.py:3127 FlatCAMApp.py:4789 FlatCAMApp.py:7566 FlatCAMApp.py:7592 +#: FlatCAMApp.py:8725 FlatCAMTranslation.py:98 FlatCAMTranslation.py:172 +#: flatcamGUI/PreferencesUI.py:942 flatcamGUI/PreferencesUI.py:3902 +#: flatcamGUI/PreferencesUI.py:4282 flatcamTools/ToolNonCopperClear.py:189 +#: flatcamTools/ToolPaint.py:161 msgid "No" msgstr "" -#: FlatCAMApp.py:3342 FlatCAMApp.py:5038 FlatCAMApp.py:5908 FlatCAMApp.py:7034 -#: FlatCAMApp.py:8748 +#: FlatCAMApp.py:3128 FlatCAMApp.py:4790 FlatCAMApp.py:5603 FlatCAMApp.py:6889 +#: FlatCAMApp.py:8726 msgid "Cancel" msgstr "" -#: FlatCAMApp.py:3370 +#: FlatCAMApp.py:3156 msgid "Object empty after edit." msgstr "" -#: FlatCAMApp.py:3419 FlatCAMApp.py:3439 FlatCAMApp.py:3454 +#: FlatCAMApp.py:3205 FlatCAMApp.py:3225 FlatCAMApp.py:3240 msgid "Select a Gerber, Geometry or Excellon Object to update." msgstr "" -#: FlatCAMApp.py:3423 +#: FlatCAMApp.py:3209 msgid "is updated, returning to App..." msgstr "" -#: FlatCAMApp.py:3819 FlatCAMApp.py:3873 FlatCAMApp.py:4900 +#: FlatCAMApp.py:3605 FlatCAMApp.py:3655 FlatCAMApp.py:4651 msgid "Could not load defaults file." msgstr "" -#: FlatCAMApp.py:3832 FlatCAMApp.py:3882 FlatCAMApp.py:4910 +#: FlatCAMApp.py:3617 FlatCAMApp.py:3664 FlatCAMApp.py:4661 msgid "Failed to parse defaults file." msgstr "" -#: FlatCAMApp.py:3853 FlatCAMApp.py:3857 +#: FlatCAMApp.py:3635 FlatCAMApp.py:3639 msgid "Import FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:3864 +#: FlatCAMApp.py:3646 msgid "FlatCAM preferences import cancelled." msgstr "" -#: FlatCAMApp.py:3887 +#: FlatCAMApp.py:3669 msgid "Imported Defaults from" msgstr "" -#: FlatCAMApp.py:3907 FlatCAMApp.py:3912 flatcamGUI/FlatCAMGUI.py:3972 +#: FlatCAMApp.py:3689 FlatCAMApp.py:3694 msgid "Export FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:3920 +#: FlatCAMApp.py:3702 msgid "FlatCAM preferences export cancelled." msgstr "" -#: FlatCAMApp.py:3929 FlatCAMApp.py:9920 FlatCAMApp.py:10047 FlatCAMApp.py:10189 -#: FlatCAMApp.py:10248 FlatCAMApp.py:10365 FlatCAMApp.py:10504 FlatCAMObj.py:6312 -#: flatcamEditors/FlatCAMTextEditor.py:217 flatcamGUI/FlatCAMGUI.py:3990 -#: flatcamTools/ToolSolderPaste.py:1453 +#: FlatCAMApp.py:3711 FlatCAMApp.py:9926 FlatCAMApp.py:10053 FlatCAMApp.py:10195 +#: FlatCAMApp.py:10254 FlatCAMApp.py:10372 FlatCAMApp.py:10511 FlatCAMCommon.py:378 +#: FlatCAMCommon.py:1060 FlatCAMObj.py:6374 flatcamEditors/FlatCAMTextEditor.py:217 +#: flatcamTools/ToolSolderPaste.py:1505 msgid "" "Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." msgstr "" -#: FlatCAMApp.py:3942 +#: FlatCAMApp.py:3724 msgid "Could not load preferences file." msgstr "" -#: FlatCAMApp.py:3962 +#: FlatCAMApp.py:3744 msgid "Failed to write defaults to file." msgstr "" -#: FlatCAMApp.py:3968 +#: FlatCAMApp.py:3750 msgid "Exported preferences to" msgstr "" -#: FlatCAMApp.py:3985 +#: FlatCAMApp.py:3767 msgid "FlatCAM Preferences Folder opened." msgstr "" -#: FlatCAMApp.py:4068 +#: FlatCAMApp.py:3850 msgid "Failed to open recent files file for writing." msgstr "" -#: FlatCAMApp.py:4079 +#: FlatCAMApp.py:3861 msgid "Failed to open recent projects file for writing." msgstr "" -#: FlatCAMApp.py:4165 flatcamParsers/ParseExcellon.py:880 -#: flatcamTools/ToolSolderPaste.py:1239 +#: FlatCAMApp.py:3947 flatcamParsers/ParseExcellon.py:880 +#: flatcamTools/ToolSolderPaste.py:1291 msgid "An internal error has ocurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:4166 +#: FlatCAMApp.py:3948 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" "\n" msgstr "" -#: FlatCAMApp.py:4187 +#: FlatCAMApp.py:3969 msgid "Converting units to " msgstr "" -#: FlatCAMApp.py:4278 +#: FlatCAMApp.py:4061 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -245,46 +243,47 @@ msgid "" "\n" msgstr "" -#: FlatCAMApp.py:4340 FlatCAMApp.py:4343 FlatCAMApp.py:4346 FlatCAMApp.py:4349 -#: FlatCAMApp.py:4352 FlatCAMApp.py:4355 +#: FlatCAMApp.py:4123 FlatCAMApp.py:4126 FlatCAMApp.py:4129 FlatCAMApp.py:4132 +#: FlatCAMApp.py:4135 FlatCAMApp.py:4138 #, python-brace-format msgid "[selected] {kind} created/selected: {name}" msgstr "" -#: FlatCAMApp.py:4370 FlatCAMApp.py:7114 FlatCAMObj.py:265 FlatCAMObj.py:280 -#: FlatCAMObj.py:296 FlatCAMObj.py:376 flatcamTools/ToolMove.py:220 +#: FlatCAMApp.py:4153 FlatCAMApp.py:6969 FlatCAMObj.py:264 FlatCAMObj.py:279 +#: FlatCAMObj.py:295 FlatCAMObj.py:375 flatcamTools/ToolCopperThieving.py:718 +#: flatcamTools/ToolMove.py:220 flatcamTools/ToolQRCode.py:694 msgid "Plotting" msgstr "" -#: FlatCAMApp.py:4464 flatcamGUI/FlatCAMGUI.py:462 +#: FlatCAMApp.py:4214 flatcamGUI/FlatCAMGUI.py:454 msgid "About FlatCAM" msgstr "" -#: FlatCAMApp.py:4490 +#: FlatCAMApp.py:4240 msgid "2D Computer-Aided Printed Circuit Board Manufacturing" msgstr "" -#: FlatCAMApp.py:4491 +#: FlatCAMApp.py:4241 msgid "Development" msgstr "" -#: FlatCAMApp.py:4492 +#: FlatCAMApp.py:4242 msgid "DOWNLOAD" msgstr "" -#: FlatCAMApp.py:4493 +#: FlatCAMApp.py:4243 msgid "Issue tracker" msgstr "" -#: FlatCAMApp.py:4497 FlatCAMApp.py:4830 flatcamGUI/FlatCAMGUI.py:3792 +#: FlatCAMApp.py:4247 FlatCAMApp.py:4581 msgid "Close" msgstr "" -#: FlatCAMApp.py:4512 +#: FlatCAMApp.py:4262 msgid "Licensed under the MIT license" msgstr "" -#: FlatCAMApp.py:4521 +#: FlatCAMApp.py:4271 msgid "" "Permission is hereby granted, free of charge, to any person obtaining a copy\n" "of this software and associated documentation files (the \"Software\"), to deal\n" @@ -305,7 +304,7 @@ msgid "" "THE SOFTWARE." msgstr "" -#: FlatCAMApp.py:4543 +#: FlatCAMApp.py:4293 msgid "" "Some of the icons used are from the following sources:
Icons made by Freepik from Icons by Icons8" msgstr "" -#: FlatCAMApp.py:4574 +#: FlatCAMApp.py:4324 msgid "Splash" msgstr "" -#: FlatCAMApp.py:4580 +#: FlatCAMApp.py:4330 msgid "Programmers" msgstr "" -#: FlatCAMApp.py:4586 +#: FlatCAMApp.py:4336 msgid "Translators" msgstr "" -#: FlatCAMApp.py:4592 +#: FlatCAMApp.py:4342 msgid "License" msgstr "" -#: FlatCAMApp.py:4598 +#: FlatCAMApp.py:4348 msgid "Attributions" msgstr "" -#: FlatCAMApp.py:4621 +#: FlatCAMApp.py:4371 msgid "Programmer" msgstr "" -#: FlatCAMApp.py:4622 +#: FlatCAMApp.py:4372 msgid "Status" msgstr "" -#: FlatCAMApp.py:4623 FlatCAMApp.py:4694 +#: FlatCAMApp.py:4373 FlatCAMApp.py:4444 msgid "E-mail" msgstr "" -#: FlatCAMApp.py:4631 +#: FlatCAMApp.py:4381 msgid "BETA Maintainer >= 2019" msgstr "" -#: FlatCAMApp.py:4691 +#: FlatCAMApp.py:4441 msgid "Language" msgstr "" -#: FlatCAMApp.py:4692 +#: FlatCAMApp.py:4442 msgid "Translator" msgstr "" -#: FlatCAMApp.py:4693 +#: FlatCAMApp.py:4443 msgid "Corrections" msgstr "" -#: FlatCAMApp.py:4802 FlatCAMApp.py:4810 FlatCAMApp.py:7654 flatcamGUI/FlatCAMGUI.py:446 +#: FlatCAMApp.py:4552 FlatCAMApp.py:4560 FlatCAMApp.py:7610 flatcamGUI/FlatCAMGUI.py:438 msgid "Bookmarks Manager" msgstr "" -#: FlatCAMApp.py:4821 +#: FlatCAMApp.py:4572 msgid "" "This entry will resolve to another website if:\n" "\n" @@ -377,37 +376,37 @@ msgid "" "use the YouTube channel link from the Help menu." msgstr "" -#: FlatCAMApp.py:4828 +#: FlatCAMApp.py:4579 msgid "Alternative website" msgstr "" -#: FlatCAMApp.py:5031 FlatCAMTranslation.py:166 +#: FlatCAMApp.py:4783 FlatCAMTranslation.py:166 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" msgstr "" -#: FlatCAMApp.py:5034 FlatCAMApp.py:8744 FlatCAMTranslation.py:169 +#: FlatCAMApp.py:4786 FlatCAMApp.py:8722 FlatCAMTranslation.py:169 msgid "Save changes" msgstr "" -#: FlatCAMApp.py:5264 +#: FlatCAMApp.py:5027 msgid "Selected Excellon file extensions registered with FlatCAM." msgstr "" -#: FlatCAMApp.py:5286 +#: FlatCAMApp.py:5049 msgid "Selected GCode file extensions registered with FlatCAM." msgstr "" -#: FlatCAMApp.py:5308 +#: FlatCAMApp.py:5071 msgid "Selected Gerber file extensions registered with FlatCAM." msgstr "" -#: FlatCAMApp.py:5469 FlatCAMApp.py:5525 FlatCAMApp.py:5553 +#: FlatCAMApp.py:5259 FlatCAMApp.py:5316 FlatCAMApp.py:5344 msgid "At least two objects are required for join. Objects currently selected" msgstr "" -#: FlatCAMApp.py:5478 +#: FlatCAMApp.py:5268 msgid "" "Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility is to " @@ -417,800 +416,847 @@ msgid "" "Check the generated GCODE." msgstr "" -#: FlatCAMApp.py:5520 +#: FlatCAMApp.py:5280 +msgid "Multigeo. Geometry merging finished" +msgstr "" + +#: FlatCAMApp.py:5289 +msgid "Geometry merging finished" +msgstr "" + +#: FlatCAMApp.py:5311 msgid "Failed. Excellon joining works only on Excellon objects." msgstr "" -#: FlatCAMApp.py:5548 +#: FlatCAMApp.py:5321 +msgid "Excellon merging finished" +msgstr "" + +#: FlatCAMApp.py:5339 msgid "Failed. Gerber joining works only on Gerber objects." msgstr "" -#: FlatCAMApp.py:5578 FlatCAMApp.py:5615 +#: FlatCAMApp.py:5349 +msgid "Gerber merging finished" +msgstr "" + +#: FlatCAMApp.py:5369 FlatCAMApp.py:5404 msgid "Failed. Select a Geometry Object and try again." msgstr "" -#: FlatCAMApp.py:5583 FlatCAMApp.py:5620 +#: FlatCAMApp.py:5373 FlatCAMApp.py:5409 msgid "Expected a FlatCAMGeometry, got" msgstr "" -#: FlatCAMApp.py:5597 +#: FlatCAMApp.py:5386 msgid "A Geometry object was converted to MultiGeo type." msgstr "" -#: FlatCAMApp.py:5635 +#: FlatCAMApp.py:5424 msgid "A Geometry object was converted to SingleGeo type." msgstr "" -#: FlatCAMApp.py:5902 +#: FlatCAMApp.py:5597 msgid "Toggle Units" msgstr "" -#: FlatCAMApp.py:5904 +#: FlatCAMApp.py:5599 msgid "Change project units ..." msgstr "" -#: FlatCAMApp.py:5905 +#: FlatCAMApp.py:5600 msgid "" "Changing the units of the project causes all geometrical properties of all objects to be " "scaled accordingly.\n" "Continue?" msgstr "" -#: FlatCAMApp.py:5907 FlatCAMApp.py:6957 FlatCAMApp.py:7033 FlatCAMApp.py:9057 -#: FlatCAMApp.py:9071 FlatCAMApp.py:9419 FlatCAMApp.py:9430 +#: FlatCAMApp.py:5602 FlatCAMApp.py:6812 FlatCAMApp.py:6888 FlatCAMApp.py:9049 +#: FlatCAMApp.py:9063 FlatCAMApp.py:9411 FlatCAMApp.py:9422 msgid "Ok" msgstr "" -#: FlatCAMApp.py:5956 +#: FlatCAMApp.py:5649 msgid "Converted units to" msgstr "" -#: FlatCAMApp.py:5968 +#: FlatCAMApp.py:5661 msgid " Units conversion cancelled." msgstr "" -#: FlatCAMApp.py:6945 flatcamTools/ToolNonCopperClear.py:564 -#: flatcamTools/ToolNonCopperClear.py:967 flatcamTools/ToolPaint.py:478 -#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSolderPaste.py:799 +#: FlatCAMApp.py:6534 +msgid "Detachable Tabs" +msgstr "" + +#: FlatCAMApp.py:6749 FlatCAMApp.py:7400 FlatCAMApp.py:7463 FlatCAMApp.py:7529 +msgid "Preferences" +msgstr "" + +#: FlatCAMApp.py:6800 flatcamTools/ToolNonCopperClear.py:576 +#: flatcamTools/ToolNonCopperClear.py:971 flatcamTools/ToolPaint.py:478 +#: flatcamTools/ToolSolderPaste.py:524 flatcamTools/ToolSolderPaste.py:851 msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "" -#: FlatCAMApp.py:6950 flatcamTools/ToolNonCopperClear.py:568 flatcamTools/ToolPaint.py:482 -#: flatcamTools/ToolSolderPaste.py:476 +#: FlatCAMApp.py:6805 flatcamTools/ToolNonCopperClear.py:580 flatcamTools/ToolPaint.py:482 +#: flatcamTools/ToolSolderPaste.py:528 msgid "Adding Tool cancelled" msgstr "" -#: FlatCAMApp.py:6953 +#: FlatCAMApp.py:6808 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." msgstr "" -#: FlatCAMApp.py:7028 +#: FlatCAMApp.py:6883 msgid "Delete objects" msgstr "" -#: FlatCAMApp.py:7031 +#: FlatCAMApp.py:6886 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" msgstr "" -#: FlatCAMApp.py:7062 +#: FlatCAMApp.py:6917 msgid "Object(s) deleted" msgstr "" -#: FlatCAMApp.py:7066 +#: FlatCAMApp.py:6921 msgid "Failed. No object(s) selected..." msgstr "" -#: FlatCAMApp.py:7068 +#: FlatCAMApp.py:6923 msgid "Save the work in Editor and try again ..." msgstr "" -#: FlatCAMApp.py:7098 +#: FlatCAMApp.py:6953 msgid "Object deleted" msgstr "" -#: FlatCAMApp.py:7125 +#: FlatCAMApp.py:6980 msgid "Click to set the origin ..." msgstr "" -#: FlatCAMApp.py:7147 +#: FlatCAMApp.py:7002 msgid "Setting Origin..." msgstr "" -#: FlatCAMApp.py:7159 +#: FlatCAMApp.py:7014 msgid "Origin set" msgstr "" -#: FlatCAMApp.py:7166 +#: FlatCAMApp.py:7021 msgid "Origin coordinates specified but incomplete." msgstr "" -#: FlatCAMApp.py:7224 +#: FlatCAMApp.py:7079 msgid "Jump to ..." msgstr "" -#: FlatCAMApp.py:7225 +#: FlatCAMApp.py:7080 msgid "Enter the coordinates in format X,Y:" msgstr "" -#: FlatCAMApp.py:7233 +#: FlatCAMApp.py:7088 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "" -#: FlatCAMApp.py:7281 flatcamEditors/FlatCAMExcEditor.py:3488 -#: flatcamEditors/FlatCAMExcEditor.py:3496 flatcamEditors/FlatCAMGeoEditor.py:3901 -#: flatcamEditors/FlatCAMGeoEditor.py:3916 flatcamEditors/FlatCAMGrbEditor.py:1068 +#: FlatCAMApp.py:7136 flatcamEditors/FlatCAMExcEditor.py:3517 +#: flatcamEditors/FlatCAMExcEditor.py:3525 flatcamEditors/FlatCAMGeoEditor.py:3896 +#: flatcamEditors/FlatCAMGeoEditor.py:3911 flatcamEditors/FlatCAMGrbEditor.py:1068 #: flatcamEditors/FlatCAMGrbEditor.py:1172 flatcamEditors/FlatCAMGrbEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:1704 flatcamEditors/FlatCAMGrbEditor.py:4300 -#: flatcamEditors/FlatCAMGrbEditor.py:4315 flatcamGUI/FlatCAMGUI.py:2769 -#: flatcamGUI/FlatCAMGUI.py:2781 +#: flatcamEditors/FlatCAMGrbEditor.py:1704 flatcamEditors/FlatCAMGrbEditor.py:4319 +#: flatcamEditors/FlatCAMGrbEditor.py:4334 flatcamGUI/FlatCAMGUI.py:2831 +#: flatcamGUI/FlatCAMGUI.py:2843 msgid "Done." msgstr "" -#: FlatCAMApp.py:7425 FlatCAMApp.py:7493 +#: FlatCAMApp.py:7280 FlatCAMApp.py:7351 msgid "No object is selected. Select an object and try again." msgstr "" -#: FlatCAMApp.py:7513 +#: FlatCAMApp.py:7371 msgid "Aborting. The current task will be gracefully closed as soon as possible..." msgstr "" -#: FlatCAMApp.py:7519 +#: FlatCAMApp.py:7377 msgid "The current task was gracefully closed on user request..." msgstr "" -#: FlatCAMApp.py:7536 FlatCAMApp.py:7600 -msgid "Preferences" -msgstr "" - -#: FlatCAMApp.py:7596 +#: FlatCAMApp.py:7460 msgid "Preferences edited but not saved." msgstr "" -#: FlatCAMApp.py:7631 +#: FlatCAMApp.py:7474 FlatCAMApp.py:7486 FlatCAMApp.py:7503 FlatCAMApp.py:7520 +#: FlatCAMApp.py:7580 FlatCAMCommon.py:1127 FlatCAMObj.py:3992 +msgid "Tools Database" +msgstr "" + +#: FlatCAMApp.py:7500 +msgid "Tools in Tools Database edited but not saved." +msgstr "" + +#: FlatCAMApp.py:7524 +msgid "Tool from DB added in Tool Table." +msgstr "" + +#: FlatCAMApp.py:7526 +msgid "Adding tool from DB is not allowed for this object." +msgstr "" + +#: FlatCAMApp.py:7560 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" msgstr "" -#: FlatCAMApp.py:7633 flatcamGUI/FlatCAMGUI.py:214 flatcamGUI/FlatCAMGUI.py:1097 +#: FlatCAMApp.py:7562 flatcamGUI/FlatCAMGUI.py:214 flatcamGUI/FlatCAMGUI.py:1086 msgid "Save Preferences" msgstr "" -#: FlatCAMApp.py:7646 +#: FlatCAMApp.py:7574 msgid "Preferences saved." msgstr "" -#: FlatCAMApp.py:7651 FlatCAMApp.py:9645 FlatCAMApp.py:10999 FlatCAMObj.py:6070 -#: flatcamTools/ToolSolderPaste.py:1329 +#: FlatCAMApp.py:7586 +msgid "" +"One or more Tools are edited.\n" +"Do you want to update the Tools Database?" +msgstr "" + +#: FlatCAMApp.py:7588 +msgid "Save Tools Database" +msgstr "" + +#: FlatCAMApp.py:7607 FlatCAMApp.py:9649 FlatCAMObj.py:6105 msgid "Code Editor" msgstr "" -#: FlatCAMApp.py:7669 +#: FlatCAMApp.py:7625 msgid "No object selected to Flip on Y axis." msgstr "" -#: FlatCAMApp.py:7695 +#: FlatCAMApp.py:7651 msgid "Flip on Y axis done." msgstr "" -#: FlatCAMApp.py:7698 FlatCAMApp.py:7741 flatcamEditors/FlatCAMGrbEditor.py:5756 +#: FlatCAMApp.py:7653 FlatCAMApp.py:7695 flatcamEditors/FlatCAMGrbEditor.py:5775 msgid "Flip action was not executed." msgstr "" -#: FlatCAMApp.py:7712 +#: FlatCAMApp.py:7667 msgid "No object selected to Flip on X axis." msgstr "" -#: FlatCAMApp.py:7738 +#: FlatCAMApp.py:7693 msgid "Flip on X axis done." msgstr "" -#: FlatCAMApp.py:7755 +#: FlatCAMApp.py:7709 msgid "No object selected to Rotate." msgstr "" -#: FlatCAMApp.py:7758 FlatCAMApp.py:7806 FlatCAMApp.py:7839 +#: FlatCAMApp.py:7712 FlatCAMApp.py:7759 FlatCAMApp.py:7792 msgid "Transform" msgstr "" -#: FlatCAMApp.py:7758 FlatCAMApp.py:7806 FlatCAMApp.py:7839 +#: FlatCAMApp.py:7712 FlatCAMApp.py:7759 FlatCAMApp.py:7792 msgid "Enter the Angle value:" msgstr "" -#: FlatCAMApp.py:7789 +#: FlatCAMApp.py:7743 msgid "Rotation done." msgstr "" -#: FlatCAMApp.py:7792 +#: FlatCAMApp.py:7745 msgid "Rotation movement was not executed." msgstr "" -#: FlatCAMApp.py:7804 +#: FlatCAMApp.py:7757 msgid "No object selected to Skew/Shear on X axis." msgstr "" -#: FlatCAMApp.py:7826 +#: FlatCAMApp.py:7779 msgid "Skew on X axis done." msgstr "" -#: FlatCAMApp.py:7837 +#: FlatCAMApp.py:7790 msgid "No object selected to Skew/Shear on Y axis." msgstr "" -#: FlatCAMApp.py:7859 +#: FlatCAMApp.py:7812 msgid "Skew on Y axis done." msgstr "" -#: FlatCAMApp.py:7988 FlatCAMApp.py:8035 flatcamGUI/FlatCAMGUI.py:424 +#: FlatCAMApp.py:7960 FlatCAMApp.py:8007 flatcamGUI/FlatCAMGUI.py:416 #: flatcamGUI/FlatCAMGUI.py:1431 msgid "Select All" msgstr "" -#: FlatCAMApp.py:7992 FlatCAMApp.py:8039 flatcamGUI/FlatCAMGUI.py:427 +#: FlatCAMApp.py:7964 FlatCAMApp.py:8011 flatcamGUI/FlatCAMGUI.py:419 msgid "Deselect All" msgstr "" -#: FlatCAMApp.py:8055 +#: FlatCAMApp.py:8027 msgid "All objects are selected." msgstr "" -#: FlatCAMApp.py:8063 +#: FlatCAMApp.py:8035 msgid "Objects selection is cleared." msgstr "" -#: FlatCAMApp.py:8077 flatcamGUI/FlatCAMGUI.py:1427 +#: FlatCAMApp.py:8049 flatcamGUI/FlatCAMGUI.py:1424 msgid "Grid On/Off" msgstr "" -#: FlatCAMApp.py:8090 flatcamEditors/FlatCAMGeoEditor.py:944 -#: flatcamEditors/FlatCAMGrbEditor.py:2495 flatcamEditors/FlatCAMGrbEditor.py:5266 -#: flatcamGUI/ObjectUI.py:1202 flatcamTools/ToolDblSided.py:168 -#: flatcamTools/ToolDblSided.py:215 flatcamTools/ToolNonCopperClear.py:258 -#: flatcamTools/ToolPaint.py:188 flatcamTools/ToolSolderPaste.py:114 -#: flatcamTools/ToolSolderPaste.py:501 flatcamTools/ToolTransform.py:309 +#: FlatCAMApp.py:8062 flatcamEditors/FlatCAMGeoEditor.py:944 +#: flatcamEditors/FlatCAMGrbEditor.py:2501 flatcamEditors/FlatCAMGrbEditor.py:5285 +#: flatcamGUI/ObjectUI.py:1204 flatcamTools/ToolDblSided.py:168 +#: flatcamTools/ToolDblSided.py:215 flatcamTools/ToolNonCopperClear.py:286 +#: flatcamTools/ToolPaint.py:188 flatcamTools/ToolSolderPaste.py:121 +#: flatcamTools/ToolSolderPaste.py:553 flatcamTools/ToolTransform.py:309 msgid "Add" msgstr "" -#: FlatCAMApp.py:8091 FlatCAMObj.py:3782 flatcamEditors/FlatCAMGrbEditor.py:2500 -#: flatcamEditors/FlatCAMGrbEditor.py:2643 flatcamGUI/FlatCAMGUI.py:606 -#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/FlatCAMGUI.py:1826 flatcamGUI/FlatCAMGUI.py:1922 -#: flatcamGUI/FlatCAMGUI.py:2252 flatcamGUI/ObjectUI.py:1218 -#: flatcamTools/ToolNonCopperClear.py:270 flatcamTools/ToolPaint.py:200 -#: flatcamTools/ToolSolderPaste.py:120 flatcamTools/ToolSolderPaste.py:503 +#: FlatCAMApp.py:8063 FlatCAMObj.py:3684 flatcamEditors/FlatCAMGrbEditor.py:2506 +#: flatcamEditors/FlatCAMGrbEditor.py:2654 flatcamGUI/FlatCAMGUI.py:598 +#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:1837 flatcamGUI/FlatCAMGUI.py:1933 +#: flatcamGUI/FlatCAMGUI.py:2257 flatcamGUI/ObjectUI.py:1230 +#: flatcamTools/ToolNonCopperClear.py:298 flatcamTools/ToolPaint.py:200 +#: flatcamTools/ToolSolderPaste.py:127 flatcamTools/ToolSolderPaste.py:555 msgid "Delete" msgstr "" -#: FlatCAMApp.py:8104 +#: FlatCAMApp.py:8076 msgid "New Grid ..." msgstr "" -#: FlatCAMApp.py:8105 +#: FlatCAMApp.py:8077 msgid "Enter a Grid Value:" msgstr "" -#: FlatCAMApp.py:8113 FlatCAMApp.py:8140 +#: FlatCAMApp.py:8085 FlatCAMApp.py:8112 msgid "Please enter a grid value with non-zero value, in Float format." msgstr "" -#: FlatCAMApp.py:8119 +#: FlatCAMApp.py:8091 msgid "New Grid added" msgstr "" -#: FlatCAMApp.py:8122 +#: FlatCAMApp.py:8094 msgid "Grid already exists" msgstr "" -#: FlatCAMApp.py:8125 +#: FlatCAMApp.py:8097 msgid "Adding New Grid cancelled" msgstr "" -#: FlatCAMApp.py:8147 +#: FlatCAMApp.py:8119 msgid " Grid Value does not exist" msgstr "" -#: FlatCAMApp.py:8150 +#: FlatCAMApp.py:8122 msgid "Grid Value deleted" msgstr "" -#: FlatCAMApp.py:8153 +#: FlatCAMApp.py:8125 msgid "Delete Grid value cancelled" msgstr "" -#: FlatCAMApp.py:8159 +#: FlatCAMApp.py:8131 msgid "Key Shortcut List" msgstr "" -#: FlatCAMApp.py:8193 +#: FlatCAMApp.py:8165 msgid " No object selected to copy it's name" msgstr "" -#: FlatCAMApp.py:8197 +#: FlatCAMApp.py:8169 msgid "Name copied on clipboard ..." msgstr "" -#: FlatCAMApp.py:8403 flatcamEditors/FlatCAMGrbEditor.py:4232 +#: FlatCAMApp.py:8374 flatcamEditors/FlatCAMGrbEditor.py:4251 msgid "Coordinates copied to clipboard." msgstr "" -#: FlatCAMApp.py:8594 FlatCAMApp.py:8597 FlatCAMApp.py:8600 FlatCAMApp.py:8603 -#: ObjectCollection.py:784 ObjectCollection.py:787 ObjectCollection.py:790 -#: ObjectCollection.py:793 ObjectCollection.py:796 ObjectCollection.py:799 +#: FlatCAMApp.py:8572 FlatCAMApp.py:8575 FlatCAMApp.py:8578 FlatCAMApp.py:8581 +#: ObjectCollection.py:788 ObjectCollection.py:791 ObjectCollection.py:794 +#: ObjectCollection.py:797 ObjectCollection.py:800 ObjectCollection.py:803 #, python-brace-format msgid "[selected]{name} selected" msgstr "" -#: FlatCAMApp.py:8741 +#: FlatCAMApp.py:8719 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:8763 +#: FlatCAMApp.py:8741 msgid "New Project created" msgstr "" -#: FlatCAMApp.py:8888 FlatCAMApp.py:8892 flatcamGUI/FlatCAMGUI.py:691 -#: flatcamGUI/FlatCAMGUI.py:2115 +#: FlatCAMApp.py:8876 FlatCAMApp.py:8880 flatcamGUI/FlatCAMGUI.py:683 +#: flatcamGUI/FlatCAMGUI.py:2117 msgid "Open Gerber" msgstr "" -#: FlatCAMApp.py:8899 +#: FlatCAMApp.py:8887 msgid "Opening Gerber file." msgstr "" -#: FlatCAMApp.py:8905 +#: FlatCAMApp.py:8893 msgid "Open Gerber cancelled." msgstr "" -#: FlatCAMApp.py:8925 FlatCAMApp.py:8929 flatcamGUI/FlatCAMGUI.py:692 -#: flatcamGUI/FlatCAMGUI.py:2116 +#: FlatCAMApp.py:8914 FlatCAMApp.py:8918 flatcamGUI/FlatCAMGUI.py:684 +#: flatcamGUI/FlatCAMGUI.py:2118 msgid "Open Excellon" msgstr "" -#: FlatCAMApp.py:8935 +#: FlatCAMApp.py:8924 msgid "Opening Excellon file." msgstr "" -#: FlatCAMApp.py:8941 +#: FlatCAMApp.py:8930 msgid " Open Excellon cancelled." msgstr "" -#: FlatCAMApp.py:8964 FlatCAMApp.py:8968 +#: FlatCAMApp.py:8954 FlatCAMApp.py:8958 msgid "Open G-Code" msgstr "" -#: FlatCAMApp.py:8975 +#: FlatCAMApp.py:8965 msgid "Opening G-Code file." msgstr "" -#: FlatCAMApp.py:8981 +#: FlatCAMApp.py:8971 msgid "Open G-Code cancelled." msgstr "" -#: FlatCAMApp.py:8998 FlatCAMApp.py:9001 flatcamGUI/FlatCAMGUI.py:1433 +#: FlatCAMApp.py:8989 FlatCAMApp.py:8992 flatcamGUI/FlatCAMGUI.py:1433 msgid "Open Project" msgstr "" -#: FlatCAMApp.py:9010 +#: FlatCAMApp.py:9001 msgid "Open Project cancelled." msgstr "" -#: FlatCAMApp.py:9029 FlatCAMApp.py:9032 +#: FlatCAMApp.py:9021 FlatCAMApp.py:9024 msgid "Open Configuration File" msgstr "" -#: FlatCAMApp.py:9037 +#: FlatCAMApp.py:9029 msgid "Open Config cancelled." msgstr "" -#: FlatCAMApp.py:9053 FlatCAMApp.py:9415 +#: FlatCAMApp.py:9045 FlatCAMApp.py:9407 msgid "No object selected." msgstr "" -#: FlatCAMApp.py:9054 FlatCAMApp.py:9416 +#: FlatCAMApp.py:9046 FlatCAMApp.py:9408 msgid "Please Select a Geometry object to export" msgstr "" -#: FlatCAMApp.py:9068 +#: FlatCAMApp.py:9060 msgid "Only Geometry, Gerber and CNCJob objects can be used." msgstr "" -#: FlatCAMApp.py:9081 FlatCAMApp.py:9085 +#: FlatCAMApp.py:9073 FlatCAMApp.py:9077 flatcamTools/ToolQRCode.py:795 +#: flatcamTools/ToolQRCode.py:799 msgid "Export SVG" msgstr "" -#: FlatCAMApp.py:9091 +#: FlatCAMApp.py:9083 flatcamTools/ToolQRCode.py:804 msgid " Export SVG cancelled." msgstr "" -#: FlatCAMApp.py:9112 +#: FlatCAMApp.py:9104 msgid "Data must be a 3D array with last dimension 3 or 4" msgstr "" -#: FlatCAMApp.py:9118 FlatCAMApp.py:9122 +#: FlatCAMApp.py:9110 FlatCAMApp.py:9114 msgid "Export PNG Image" msgstr "" -#: FlatCAMApp.py:9127 +#: FlatCAMApp.py:9119 msgid "Export PNG cancelled." msgstr "" -#: FlatCAMApp.py:9151 +#: FlatCAMApp.py:9143 msgid "No object selected. Please select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:9157 FlatCAMApp.py:9377 +#: FlatCAMApp.py:9149 FlatCAMApp.py:9369 msgid "Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" -#: FlatCAMApp.py:9169 +#: FlatCAMApp.py:9161 msgid "Save Gerber source file" msgstr "" -#: FlatCAMApp.py:9175 +#: FlatCAMApp.py:9167 msgid "Save Gerber source file cancelled." msgstr "" -#: FlatCAMApp.py:9195 +#: FlatCAMApp.py:9187 msgid "No object selected. Please select an Script object to export." msgstr "" -#: FlatCAMApp.py:9201 +#: FlatCAMApp.py:9193 msgid "Failed. Only Script objects can be saved as TCL Script files..." msgstr "" -#: FlatCAMApp.py:9213 +#: FlatCAMApp.py:9205 msgid "Save Script source file" msgstr "" -#: FlatCAMApp.py:9219 +#: FlatCAMApp.py:9211 msgid "Save Script source file cancelled." msgstr "" -#: FlatCAMApp.py:9239 +#: FlatCAMApp.py:9231 msgid "No object selected. Please select an Document object to export." msgstr "" -#: FlatCAMApp.py:9245 +#: FlatCAMApp.py:9237 msgid "Failed. Only Document objects can be saved as Document files..." msgstr "" -#: FlatCAMApp.py:9257 +#: FlatCAMApp.py:9249 msgid "Save Document source file" msgstr "" -#: FlatCAMApp.py:9263 +#: FlatCAMApp.py:9255 msgid "Save Document source file cancelled." msgstr "" -#: FlatCAMApp.py:9283 +#: FlatCAMApp.py:9275 msgid "No object selected. Please select an Excellon object to export." msgstr "" -#: FlatCAMApp.py:9289 FlatCAMApp.py:9333 +#: FlatCAMApp.py:9281 FlatCAMApp.py:9325 msgid "Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" -#: FlatCAMApp.py:9297 FlatCAMApp.py:9301 +#: FlatCAMApp.py:9289 FlatCAMApp.py:9293 msgid "Save Excellon source file" msgstr "" -#: FlatCAMApp.py:9307 +#: FlatCAMApp.py:9299 msgid "Saving Excellon source file cancelled." msgstr "" -#: FlatCAMApp.py:9327 +#: FlatCAMApp.py:9319 msgid "No object selected. Please Select an Excellon object to export." msgstr "" -#: FlatCAMApp.py:9341 FlatCAMApp.py:9345 +#: FlatCAMApp.py:9333 FlatCAMApp.py:9337 msgid "Export Excellon" msgstr "" -#: FlatCAMApp.py:9351 +#: FlatCAMApp.py:9343 msgid "Export Excellon cancelled." msgstr "" -#: FlatCAMApp.py:9371 +#: FlatCAMApp.py:9363 msgid "No object selected. Please Select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:9385 FlatCAMApp.py:9389 +#: FlatCAMApp.py:9377 FlatCAMApp.py:9381 msgid "Export Gerber" msgstr "" -#: FlatCAMApp.py:9395 +#: FlatCAMApp.py:9387 msgid "Export Gerber cancelled." msgstr "" -#: FlatCAMApp.py:9427 +#: FlatCAMApp.py:9419 msgid "Only Geometry objects can be used." msgstr "" -#: FlatCAMApp.py:9441 FlatCAMApp.py:9445 +#: FlatCAMApp.py:9433 FlatCAMApp.py:9437 msgid "Export DXF" msgstr "" -#: FlatCAMApp.py:9452 +#: FlatCAMApp.py:9444 msgid "Export DXF cancelled." msgstr "" -#: FlatCAMApp.py:9472 FlatCAMApp.py:9475 +#: FlatCAMApp.py:9464 FlatCAMApp.py:9467 msgid "Import SVG" msgstr "" -#: FlatCAMApp.py:9485 +#: FlatCAMApp.py:9477 msgid "Open SVG cancelled." msgstr "" -#: FlatCAMApp.py:9504 FlatCAMApp.py:9508 +#: FlatCAMApp.py:9496 FlatCAMApp.py:9500 msgid "Import DXF" msgstr "" -#: FlatCAMApp.py:9518 +#: FlatCAMApp.py:9510 msgid "Open DXF cancelled." msgstr "" -#: FlatCAMApp.py:9556 +#: FlatCAMApp.py:9552 msgid "Viewing the source code of the selected object." msgstr "" -#: FlatCAMApp.py:9557 FlatCAMObj.py:6056 +#: FlatCAMApp.py:9553 FlatCAMObj.py:6091 msgid "Loading..." msgstr "" -#: FlatCAMApp.py:9564 +#: FlatCAMApp.py:9559 FlatCAMApp.py:9563 msgid "Select an Gerber or Excellon file to view it's source file." msgstr "" -#: FlatCAMApp.py:9579 +#: FlatCAMApp.py:9577 msgid "Source Editor" msgstr "" -#: FlatCAMApp.py:9612 FlatCAMApp.py:9619 +#: FlatCAMApp.py:9617 FlatCAMApp.py:9624 msgid "There is no selected object for which to see it's source file code." msgstr "" -#: FlatCAMApp.py:9631 +#: FlatCAMApp.py:9635 msgid "Failed to load the source code for the selected object" msgstr "" -#: FlatCAMApp.py:9670 +#: FlatCAMApp.py:9677 msgid "New TCL script file created in Code Editor." msgstr "" -#: FlatCAMApp.py:9708 FlatCAMApp.py:9710 +#: FlatCAMApp.py:9715 FlatCAMApp.py:9717 msgid "Open TCL script" msgstr "" -#: FlatCAMApp.py:9715 +#: FlatCAMApp.py:9721 msgid "Open TCL script cancelled." msgstr "" -#: FlatCAMApp.py:9739 +#: FlatCAMApp.py:9745 msgid "Executing FlatCAMScript file." msgstr "" -#: FlatCAMApp.py:9746 FlatCAMApp.py:9749 +#: FlatCAMApp.py:9752 FlatCAMApp.py:9755 msgid "Run TCL script" msgstr "" -#: FlatCAMApp.py:9759 +#: FlatCAMApp.py:9765 msgid "Run TCL script cancelled." msgstr "" -#: FlatCAMApp.py:9775 +#: FlatCAMApp.py:9781 msgid "TCL script file opened in Code Editor and executed." msgstr "" -#: FlatCAMApp.py:9826 FlatCAMApp.py:9830 +#: FlatCAMApp.py:9832 FlatCAMApp.py:9836 msgid "Save Project As ..." msgstr "" -#: FlatCAMApp.py:9827 +#: FlatCAMApp.py:9833 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "" -#: FlatCAMApp.py:9836 +#: FlatCAMApp.py:9842 msgid "Save Project cancelled." msgstr "" -#: FlatCAMApp.py:9884 +#: FlatCAMApp.py:9890 msgid "Exporting SVG" msgstr "" -#: FlatCAMApp.py:9928 FlatCAMApp.py:10055 FlatCAMApp.py:10198 +#: FlatCAMApp.py:9934 FlatCAMApp.py:10061 FlatCAMApp.py:10204 msgid "SVG file exported to" msgstr "" -#: FlatCAMApp.py:9975 FlatCAMApp.py:10117 flatcamTools/ToolPanelize.py:404 +#: FlatCAMApp.py:9981 FlatCAMApp.py:10123 flatcamTools/ToolPanelize.py:404 msgid "No object Box. Using instead" msgstr "" -#: FlatCAMApp.py:10058 FlatCAMApp.py:10201 +#: FlatCAMApp.py:10064 FlatCAMApp.py:10207 msgid "Generating Film ... Please wait." msgstr "" -#: FlatCAMApp.py:10373 +#: FlatCAMApp.py:10380 msgid "Excellon file exported to" msgstr "" -#: FlatCAMApp.py:10382 +#: FlatCAMApp.py:10389 msgid "Exporting Excellon" msgstr "" -#: FlatCAMApp.py:10388 FlatCAMApp.py:10396 +#: FlatCAMApp.py:10395 FlatCAMApp.py:10403 msgid "Could not export Excellon file." msgstr "" -#: FlatCAMApp.py:10512 +#: FlatCAMApp.py:10519 msgid "Gerber file exported to" msgstr "" -#: FlatCAMApp.py:10520 +#: FlatCAMApp.py:10527 msgid "Exporting Gerber" msgstr "" -#: FlatCAMApp.py:10526 FlatCAMApp.py:10534 +#: FlatCAMApp.py:10533 FlatCAMApp.py:10541 msgid "Could not export Gerber file." msgstr "" -#: FlatCAMApp.py:10579 +#: FlatCAMApp.py:10575 msgid "DXF file exported to" msgstr "" -#: FlatCAMApp.py:10585 +#: FlatCAMApp.py:10581 msgid "Exporting DXF" msgstr "" -#: FlatCAMApp.py:10591 FlatCAMApp.py:10599 +#: FlatCAMApp.py:10586 FlatCAMApp.py:10593 msgid "Could not export DXF file." msgstr "" -#: FlatCAMApp.py:10621 FlatCAMApp.py:10666 FlatCAMApp.py:10710 +#: FlatCAMApp.py:10616 FlatCAMApp.py:10659 FlatCAMApp.py:10703 msgid "Not supported type is picked as parameter. Only Geometry and Gerber are supported" msgstr "" -#: FlatCAMApp.py:10631 +#: FlatCAMApp.py:10626 msgid "Importing SVG" msgstr "" -#: FlatCAMApp.py:10643 FlatCAMApp.py:10686 FlatCAMApp.py:10731 FlatCAMApp.py:10812 -#: FlatCAMApp.py:10879 FlatCAMApp.py:10942 FlatCAMApp.py:10980 flatcamTools/ToolPDF.py:224 +#: FlatCAMApp.py:10637 FlatCAMApp.py:10679 FlatCAMApp.py:10724 FlatCAMApp.py:10802 +#: FlatCAMApp.py:10869 FlatCAMApp.py:10932 FlatCAMApp.py:10970 flatcamTools/ToolPDF.py:224 msgid "Opened" msgstr "" -#: FlatCAMApp.py:10675 +#: FlatCAMApp.py:10668 msgid "Importing DXF" msgstr "" -#: FlatCAMApp.py:10718 +#: FlatCAMApp.py:10711 msgid "Importing Image" msgstr "" -#: FlatCAMApp.py:10761 +#: FlatCAMApp.py:10751 msgid "Failed to open file" msgstr "" -#: FlatCAMApp.py:10766 +#: FlatCAMApp.py:10756 msgid "Failed to parse file" msgstr "" -#: FlatCAMApp.py:10773 FlatCAMApp.py:10847 FlatCAMObj.py:4762 -#: flatcamEditors/FlatCAMGrbEditor.py:4044 flatcamTools/ToolPcbWizard.py:436 +#: FlatCAMApp.py:10763 FlatCAMApp.py:10837 FlatCAMObj.py:4724 +#: flatcamEditors/FlatCAMGrbEditor.py:4063 flatcamTools/ToolPcbWizard.py:436 msgid "An internal error has occurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:10783 +#: FlatCAMApp.py:10773 msgid "Object is not Gerber file or empty. Aborting object creation." msgstr "" -#: FlatCAMApp.py:10791 +#: FlatCAMApp.py:10781 msgid "Opening Gerber" msgstr "" -#: FlatCAMApp.py:10802 +#: FlatCAMApp.py:10792 msgid " Open Gerber failed. Probable not a Gerber file." msgstr "" -#: FlatCAMApp.py:10837 flatcamTools/ToolPcbWizard.py:426 +#: FlatCAMApp.py:10827 flatcamTools/ToolPcbWizard.py:426 msgid "This is not Excellon file." msgstr "" -#: FlatCAMApp.py:10841 +#: FlatCAMApp.py:10831 msgid "Cannot open file" msgstr "" -#: FlatCAMApp.py:10861 flatcamTools/ToolPDF.py:274 flatcamTools/ToolPcbWizard.py:450 +#: FlatCAMApp.py:10851 flatcamTools/ToolPDF.py:274 flatcamTools/ToolPcbWizard.py:450 msgid "No geometry found in file" msgstr "" -#: FlatCAMApp.py:10864 +#: FlatCAMApp.py:10854 msgid "Opening Excellon." msgstr "" -#: FlatCAMApp.py:10871 +#: FlatCAMApp.py:10861 msgid "Open Excellon file failed. Probable not an Excellon file." msgstr "" -#: FlatCAMApp.py:10902 +#: FlatCAMApp.py:10892 msgid "Reading GCode file" msgstr "" -#: FlatCAMApp.py:10909 +#: FlatCAMApp.py:10899 msgid "Failed to open" msgstr "" -#: FlatCAMApp.py:10917 +#: FlatCAMApp.py:10907 msgid "This is not GCODE" msgstr "" -#: FlatCAMApp.py:10922 +#: FlatCAMApp.py:10912 msgid "Opening G-Code." msgstr "" -#: FlatCAMApp.py:10931 +#: FlatCAMApp.py:10921 msgid "" "Failed to create CNCJob Object. Probable not a GCode file. Try to load it from File " "menu.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during processing" msgstr "" -#: FlatCAMApp.py:10956 +#: FlatCAMApp.py:10946 msgid "Opening TCL Script..." msgstr "" -#: FlatCAMApp.py:10964 +#: FlatCAMApp.py:10954 msgid "TCL script file opened in Code Editor." msgstr "" -#: FlatCAMApp.py:10967 +#: FlatCAMApp.py:10957 msgid "Failed to open TCL Script." msgstr "" -#: FlatCAMApp.py:10995 +#: FlatCAMApp.py:10985 msgid "Opening FlatCAM Config file." msgstr "" -#: FlatCAMApp.py:11017 +#: FlatCAMApp.py:11013 msgid "Failed to open config file" msgstr "" -#: FlatCAMApp.py:11043 +#: FlatCAMApp.py:11039 msgid "Loading Project ... Please Wait ..." msgstr "" -#: FlatCAMApp.py:11048 +#: FlatCAMApp.py:11044 msgid "Opening FlatCAM Project file." msgstr "" -#: FlatCAMApp.py:11058 FlatCAMApp.py:11076 +#: FlatCAMApp.py:11054 FlatCAMApp.py:11072 msgid "Failed to open project file" msgstr "" -#: FlatCAMApp.py:11110 +#: FlatCAMApp.py:11106 msgid "Loading Project ... restoring" msgstr "" -#: FlatCAMApp.py:11119 +#: FlatCAMApp.py:11115 msgid "Project loaded from" msgstr "" -#: FlatCAMApp.py:11182 +#: FlatCAMApp.py:11178 msgid "Redrawing all objects" msgstr "" -#: FlatCAMApp.py:11214 +#: FlatCAMApp.py:11210 msgid "Available commands:\n" msgstr "" -#: FlatCAMApp.py:11216 +#: FlatCAMApp.py:11212 msgid "" "\n" "\n" @@ -1218,64 +1264,64 @@ msgid "" " Example: help open_gerber" msgstr "" -#: FlatCAMApp.py:11366 +#: FlatCAMApp.py:11362 msgid "Shows list of commands." msgstr "" -#: FlatCAMApp.py:11428 +#: FlatCAMApp.py:11424 msgid "Failed to load recent item list." msgstr "" -#: FlatCAMApp.py:11436 +#: FlatCAMApp.py:11432 msgid "Failed to parse recent item list." msgstr "" -#: FlatCAMApp.py:11447 +#: FlatCAMApp.py:11443 msgid "Failed to load recent projects item list." msgstr "" -#: FlatCAMApp.py:11455 +#: FlatCAMApp.py:11451 msgid "Failed to parse recent project item list." msgstr "" -#: FlatCAMApp.py:11514 +#: FlatCAMApp.py:11510 msgid "Clear Recent projects" msgstr "" -#: FlatCAMApp.py:11537 +#: FlatCAMApp.py:11533 msgid "Clear Recent files" msgstr "" -#: FlatCAMApp.py:11554 flatcamGUI/FlatCAMGUI.py:1114 +#: FlatCAMApp.py:11550 flatcamGUI/FlatCAMGUI.py:1103 msgid "Shortcut Key List" msgstr "" -#: FlatCAMApp.py:11628 +#: FlatCAMApp.py:11624 msgid "Selected Tab - Choose an Item from Project Tab" msgstr "" -#: FlatCAMApp.py:11629 +#: FlatCAMApp.py:11625 msgid "Details" msgstr "" -#: FlatCAMApp.py:11631 +#: FlatCAMApp.py:11627 msgid "The normal flow when working in FlatCAM is the following:" msgstr "" -#: FlatCAMApp.py:11632 +#: FlatCAMApp.py:11628 msgid "" "Load/Import a Gerber, Excellon, Gcode, DXF, Raster Image or SVG file into FlatCAM using " "either the toolbars, key shortcuts or even dragging and dropping the files on the GUI." msgstr "" -#: FlatCAMApp.py:11635 +#: FlatCAMApp.py:11631 msgid "" "You can also load a FlatCAM project by double clicking on the project file, drag and drop " "of the file into the FLATCAM GUI or through the menu (or toolbar) actions offered within " "the app." msgstr "" -#: FlatCAMApp.py:11638 +#: FlatCAMApp.py:11634 msgid "" "Once an object is available in the Project Tab, by selecting it and then focusing on " "SELECTED TAB (more simpler is to double click the object name in the Project Tab, " @@ -1283,7 +1329,7 @@ msgid "" "Excellon, Geometry or CNCJob object." msgstr "" -#: FlatCAMApp.py:11642 +#: FlatCAMApp.py:11638 msgid "" "If the selection of the object is done on the canvas by single click instead, and the " "SELECTED TAB is in focus, again the object properties will be displayed into the Selected " @@ -1291,11 +1337,11 @@ msgid "" "TAB and populate it even if it was out of focus." msgstr "" -#: FlatCAMApp.py:11646 +#: FlatCAMApp.py:11642 msgid "You can change the parameters in this screen and the flow direction is like this:" msgstr "" -#: FlatCAMApp.py:11647 +#: FlatCAMApp.py:11643 msgid "" "Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> Geometry Object --> " "Add tools (change param in Selected Tab) --> Generate CNCJob --> CNCJob Object --> Verify " @@ -1303,435 +1349,922 @@ msgid "" "TAB) --> Save GCode." msgstr "" -#: FlatCAMApp.py:11651 +#: FlatCAMApp.py:11647 msgid "" "A list of key shortcuts is available through an menu entry in Help --> Shortcuts List or " "through its own key shortcut: F3." msgstr "" -#: FlatCAMApp.py:11712 +#: FlatCAMApp.py:11708 msgid "Failed checking for latest version. Could not connect." msgstr "" -#: FlatCAMApp.py:11720 +#: FlatCAMApp.py:11716 msgid "Could not parse information about latest version." msgstr "" -#: FlatCAMApp.py:11731 +#: FlatCAMApp.py:11727 msgid "FlatCAM is up to date!" msgstr "" -#: FlatCAMApp.py:11736 +#: FlatCAMApp.py:11732 msgid "Newer Version Available" msgstr "" -#: FlatCAMApp.py:11737 +#: FlatCAMApp.py:11733 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" msgstr "" -#: FlatCAMApp.py:11739 +#: FlatCAMApp.py:11735 msgid "info" msgstr "" -#: FlatCAMApp.py:11818 +#: FlatCAMApp.py:11814 msgid "All plots disabled." msgstr "" -#: FlatCAMApp.py:11825 +#: FlatCAMApp.py:11821 msgid "All non selected plots disabled." msgstr "" -#: FlatCAMApp.py:11832 +#: FlatCAMApp.py:11828 msgid "All plots enabled." msgstr "" -#: FlatCAMApp.py:11839 +#: FlatCAMApp.py:11835 msgid "Selected plots enabled..." msgstr "" -#: FlatCAMApp.py:11848 +#: FlatCAMApp.py:11844 msgid "Selected plots disabled..." msgstr "" -#: FlatCAMApp.py:11866 +#: FlatCAMApp.py:11863 msgid "Enabling plots ..." msgstr "" -#: FlatCAMApp.py:11905 +#: FlatCAMApp.py:11903 msgid "Disabling plots ..." msgstr "" -#: FlatCAMApp.py:11927 +#: FlatCAMApp.py:11925 msgid "Working ..." msgstr "" -#: FlatCAMApp.py:11966 +#: FlatCAMApp.py:11964 msgid "Saving FlatCAM Project" msgstr "" -#: FlatCAMApp.py:11988 FlatCAMApp.py:12026 +#: FlatCAMApp.py:11984 FlatCAMApp.py:12022 msgid "Project saved to" msgstr "" -#: FlatCAMApp.py:12008 +#: FlatCAMApp.py:12004 msgid "Failed to verify project file" msgstr "" -#: FlatCAMApp.py:12008 FlatCAMApp.py:12017 FlatCAMApp.py:12029 +#: FlatCAMApp.py:12004 FlatCAMApp.py:12013 FlatCAMApp.py:12025 msgid "Retry to save it." msgstr "" -#: FlatCAMApp.py:12017 FlatCAMApp.py:12029 +#: FlatCAMApp.py:12013 FlatCAMApp.py:12025 msgid "Failed to parse saved project file" msgstr "" -#: FlatCAMApp.py:12250 +#: FlatCAMApp.py:12141 msgid "The user requested a graceful exit of the current task." msgstr "" -#: FlatCAMObj.py:251 -msgid "Name changed from" +#: FlatCAMCommon.py:136 FlatCAMCommon.py:163 +msgid "Title" msgstr "" -#: FlatCAMObj.py:251 -msgid "to" +#: FlatCAMCommon.py:137 FlatCAMCommon.py:167 +msgid "Web Link" msgstr "" -#: FlatCAMObj.py:262 -msgid "Offsetting..." +#: FlatCAMCommon.py:141 +msgid "" +"Index.\n" +"The rows in gray color will populate the Bookmarks menu.\n" +"The number of gray colored rows is set in Preferences." msgstr "" -#: FlatCAMObj.py:277 -msgid "Scaling..." +#: FlatCAMCommon.py:145 +msgid "" +"Description of the link that is set as an menu action.\n" +"Try to keep it short because it is installed as a menu item." msgstr "" -#: FlatCAMObj.py:293 -msgid "Skewing..." +#: FlatCAMCommon.py:148 +msgid "Web Link. E.g: https://your_website.org " msgstr "" -#: FlatCAMObj.py:663 FlatCAMObj.py:2491 FlatCAMObj.py:3786 flatcamGUI/PreferencesUI.py:990 -#: flatcamGUI/PreferencesUI.py:2069 -msgid "Basic" +#: FlatCAMCommon.py:157 +msgid "New Bookmark" msgstr "" -#: FlatCAMObj.py:685 FlatCAMObj.py:2503 FlatCAMObj.py:3806 flatcamGUI/PreferencesUI.py:991 -msgid "Advanced" +#: FlatCAMCommon.py:176 +msgid "Add Entry" msgstr "" -#: FlatCAMObj.py:901 -msgid "Buffering solid geometry" +#: FlatCAMCommon.py:177 +msgid "Remove Entry" msgstr "" -#: FlatCAMObj.py:904 camlib.py:982 flatcamGUI/PreferencesUI.py:1516 -#: flatcamTools/ToolNonCopperClear.py:1602 flatcamTools/ToolNonCopperClear.py:1700 -#: flatcamTools/ToolNonCopperClear.py:1712 flatcamTools/ToolNonCopperClear.py:1950 -#: flatcamTools/ToolNonCopperClear.py:2046 flatcamTools/ToolNonCopperClear.py:2058 -msgid "Buffering" +#: FlatCAMCommon.py:178 +msgid "Export List" msgstr "" -#: FlatCAMObj.py:910 -msgid "Done" +#: FlatCAMCommon.py:179 +msgid "Import List" msgstr "" -#: FlatCAMObj.py:951 FlatCAMObj.py:967 FlatCAMObj.py:984 -msgid "Isolating..." +#: FlatCAMCommon.py:314 +msgid "This bookmark can not be removed" msgstr "" -#: FlatCAMObj.py:1188 FlatCAMObj.py:1316 flatcamTools/ToolNonCopperClear.py:1631 -#: flatcamTools/ToolNonCopperClear.py:1974 -msgid "Isolation geometry could not be generated." +#: FlatCAMCommon.py:360 +msgid "Export FlatCAM Bookmarks" msgstr "" -#: FlatCAMObj.py:1237 FlatCAMObj.py:3469 FlatCAMObj.py:3744 FlatCAMObj.py:4020 +#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:435 +msgid "Bookmarks" +msgstr "" + +#: FlatCAMCommon.py:370 +msgid "FlatCAM bookmarks export cancelled." +msgstr "" + +#: FlatCAMCommon.py:389 FlatCAMCommon.py:419 +msgid "Could not load bookmarks file." +msgstr "" + +#: FlatCAMCommon.py:399 +msgid "Failed to write bookmarks to file." +msgstr "" + +#: FlatCAMCommon.py:401 +msgid "Exported bookmarks to" +msgstr "" + +#: FlatCAMCommon.py:407 +msgid "Import FlatCAM Bookmarks" +msgstr "" + +#: FlatCAMCommon.py:412 +msgid "FlatCAM bookmarks import cancelled." +msgstr "" + +#: FlatCAMCommon.py:426 +msgid "Imported Bookmarks from" +msgstr "" + +#: FlatCAMCommon.py:477 FlatCAMObj.py:3370 FlatCAMObj.py:4358 FlatCAMObj.py:4359 +#: FlatCAMObj.py:4368 +msgid "Iso" +msgstr "" + +#: FlatCAMCommon.py:477 FlatCAMCommon.py:978 FlatCAMObj.py:1236 FlatCAMObj.py:3370 +#: FlatCAMObj.py:3645 FlatCAMObj.py:3928 msgid "Rough" msgstr "" -#: FlatCAMObj.py:1262 FlatCAMObj.py:1339 +#: FlatCAMCommon.py:477 FlatCAMObj.py:3370 +msgid "Finish" +msgstr "" + +#: FlatCAMCommon.py:513 +msgid "Tool Name" +msgstr "" + +#: FlatCAMCommon.py:514 flatcamEditors/FlatCAMExcEditor.py:1527 flatcamGUI/ObjectUI.py:1195 +#: flatcamTools/ToolNonCopperClear.py:271 flatcamTools/ToolPaint.py:176 +msgid "Tool Dia" +msgstr "" + +#: FlatCAMCommon.py:515 flatcamGUI/ObjectUI.py:1178 +msgid "Tool Offset" +msgstr "" + +#: FlatCAMCommon.py:516 +msgid "Custom Offset" +msgstr "" + +#: FlatCAMCommon.py:517 flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:1488 +#: flatcamGUI/PreferencesUI.py:3799 flatcamTools/ToolNonCopperClear.py:213 +msgid "Tool Type" +msgstr "" + +#: FlatCAMCommon.py:518 +msgid "Tool Shape" +msgstr "" + +#: FlatCAMCommon.py:519 flatcamGUI/ObjectUI.py:327 flatcamGUI/ObjectUI.py:755 +#: flatcamGUI/ObjectUI.py:1298 flatcamGUI/PreferencesUI.py:1527 +#: flatcamGUI/PreferencesUI.py:2169 flatcamGUI/PreferencesUI.py:3008 +#: flatcamGUI/PreferencesUI.py:3844 flatcamGUI/PreferencesUI.py:4779 +#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolNonCopperClear.py:254 +msgid "Cut Z" +msgstr "" + +#: FlatCAMCommon.py:520 +msgid "MultiDepth" +msgstr "" + +#: FlatCAMCommon.py:521 +msgid "DPP" +msgstr "" + +#: FlatCAMCommon.py:522 +msgid "V-Dia" +msgstr "" + +#: FlatCAMCommon.py:523 +msgid "V-Angle" +msgstr "" + +#: FlatCAMCommon.py:524 flatcamGUI/ObjectUI.py:774 flatcamGUI/ObjectUI.py:1345 +#: flatcamGUI/PreferencesUI.py:2187 flatcamGUI/PreferencesUI.py:3061 +#: flatcamTools/ToolCalibrateExcellon.py:82 +msgid "Travel Z" +msgstr "" + +#: FlatCAMCommon.py:525 +msgid "FR" +msgstr "" + +#: FlatCAMCommon.py:526 +msgid "FR Z" +msgstr "" + +#: FlatCAMCommon.py:527 +msgid "FR Rapids" +msgstr "" + +#: FlatCAMCommon.py:528 flatcamGUI/PreferencesUI.py:2262 +msgid "Spindle Speed" +msgstr "" + +#: FlatCAMCommon.py:529 flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1497 +#: flatcamGUI/PreferencesUI.py:2272 flatcamGUI/PreferencesUI.py:3179 +msgid "Dwell" +msgstr "" + +#: FlatCAMCommon.py:530 +msgid "Dwelltime" +msgstr "" + +#: FlatCAMCommon.py:531 flatcamGUI/ObjectUI.py:915 flatcamGUI/PreferencesUI.py:2294 +#: flatcamGUI/PreferencesUI.py:3201 +msgid "Postprocessor" +msgstr "" + +#: FlatCAMCommon.py:532 +msgid "ExtraCut" +msgstr "" + +#: FlatCAMCommon.py:533 +msgid "Toolchange" +msgstr "" + +#: FlatCAMCommon.py:534 +msgid "Toolchange XY" +msgstr "" + +#: FlatCAMCommon.py:535 flatcamGUI/PreferencesUI.py:2213 flatcamGUI/PreferencesUI.py:3093 +#: flatcamTools/ToolCalibrateExcellon.py:119 +msgid "Toolchange Z" +msgstr "" + +#: FlatCAMCommon.py:536 +msgid "Start Z" +msgstr "" + +#: FlatCAMCommon.py:537 +msgid "End Z" +msgstr "" + +#: FlatCAMCommon.py:541 +msgid "Tool Index." +msgstr "" + +#: FlatCAMCommon.py:543 +msgid "" +"Tool name.\n" +"This is not used in the app, it's function\n" +"is to serve as a note for the user." +msgstr "" + +#: FlatCAMCommon.py:547 +msgid "Tool Diameter." +msgstr "" + +#: FlatCAMCommon.py:549 +msgid "" +"Tool Offset.\n" +"Can be of a few types:\n" +"Path = zero offset\n" +"In = offset inside by half of tool diameter\n" +"Out = offset outside by half of tool diameter\n" +"Custom = custom offset using the Custom Offset value" +msgstr "" + +#: FlatCAMCommon.py:556 +msgid "" +"Custom Offset.\n" +"A value to be used as offset from the current path." +msgstr "" + +#: FlatCAMCommon.py:559 +msgid "" +"Tool Type.\n" +"Can be:\n" +"Iso = isolation cut\n" +"Rough = rough cut, low feedrate, multiple passes\n" +"Finish = finishing cut, high feedrate" +msgstr "" + +#: FlatCAMCommon.py:565 +msgid "" +"Tool Shape. \n" +"Can be:\n" +"C1 ... C4 = circular tool with x flutes\n" +"B = ball tip milling tool\n" +"V = v-shape milling tool" +msgstr "" + +#: FlatCAMCommon.py:571 +msgid "" +"Cutting Depth.\n" +"The depth at which to cut into material." +msgstr "" + +#: FlatCAMCommon.py:574 +msgid "" +"Multi Depth.\n" +"Selecting this will allow cutting in multiple passes,\n" +"each pass adding a DPP parameter depth." +msgstr "" + +#: FlatCAMCommon.py:578 +msgid "" +"DPP. Depth per Pass.\n" +"The value used to cut into material on each pass." +msgstr "" + +#: FlatCAMCommon.py:581 +msgid "" +"V-Dia.\n" +"Diameter of the tip for V-Shape Tools." +msgstr "" + +#: FlatCAMCommon.py:584 +msgid "" +"V-Agle.\n" +"Angle at the tip for the V-Shape Tools." +msgstr "" + +#: FlatCAMCommon.py:587 +msgid "" +"Clearance Height.\n" +"Height at which the milling bit will travel between cuts,\n" +"above the surface of the material, avoiding all fixtures." +msgstr "" + +#: FlatCAMCommon.py:591 +msgid "" +"FR. Feedrate\n" +"The speed on XY plane used while cutting into material." +msgstr "" + +#: FlatCAMCommon.py:594 +msgid "" +"FR Z. Feedrate Z\n" +"The speed on Z plane." +msgstr "" + +#: FlatCAMCommon.py:597 +msgid "" +"FR Rapids. Feedrate Rapids\n" +"Speed used while moving as fast as possible.\n" +"This is used only by some devices that can't use\n" +"the G0 g-code command. Mostly 3D printers." +msgstr "" + +#: FlatCAMCommon.py:602 +msgid "" +"Spindle Speed.\n" +"If it's left empty it will not be used.\n" +"The speed of the spindle in RPM." +msgstr "" + +#: FlatCAMCommon.py:606 +msgid "" +"Dwell.\n" +"Check this if a delay is needed to allow\n" +"the spindle motor to reach it's set speed." +msgstr "" + +#: FlatCAMCommon.py:610 +msgid "" +"Dwell Time.\n" +"A delay used to allow the motor spindle reach it's set speed." +msgstr "" + +#: FlatCAMCommon.py:613 +msgid "" +"Postprocessor.\n" +"A selection of files that will alter the generated G-code\n" +"to fit for a number of use cases." +msgstr "" + +#: FlatCAMCommon.py:617 +msgid "" +"Extra Cut.\n" +"If checked, after a isolation is finished an extra cut\n" +"will be added where the start and end of isolation meet\n" +"such as that this point is covered by this extra cut to\n" +"ensure a complete isolation." +msgstr "" + +#: FlatCAMCommon.py:623 +msgid "" +"Toolchange.\n" +"It will create a toolchange event.\n" +"The kind of toolchange is determined by\n" +"the postprocessor file." +msgstr "" + +#: FlatCAMCommon.py:628 +msgid "" +"Toolchange XY.\n" +"A set of coordinates in the format (x, y).\n" +"Will determine the cartesian position of the point\n" +"where the tool change event take place." +msgstr "" + +#: FlatCAMCommon.py:633 +msgid "" +"Toolchange Z.\n" +"The position on Z plane where the tool change event take place." +msgstr "" + +#: FlatCAMCommon.py:636 +msgid "" +"Start Z.\n" +"If it's left empty it will not be used.\n" +"A position on Z plane to move immediately after job start." +msgstr "" + +#: FlatCAMCommon.py:640 +msgid "" +"End Z.\n" +"A position on Z plane to move immediately after job stop." +msgstr "" + +#: FlatCAMCommon.py:661 +msgid "Add Tool to Tools DB" +msgstr "" + +#: FlatCAMCommon.py:663 +msgid "" +"Add a new tool in the Tools Database.\n" +"You can edit it after it is added." +msgstr "" + +#: FlatCAMCommon.py:666 +msgid "Remove Tool from Tools DB" +msgstr "" + +#: FlatCAMCommon.py:668 +msgid "Remove a selection of tools in the Tools Database." +msgstr "" + +#: FlatCAMCommon.py:670 +msgid "Export Tool DB" +msgstr "" + +#: FlatCAMCommon.py:672 +msgid "Save the Tools Database to a custom text file." +msgstr "" + +#: FlatCAMCommon.py:674 +msgid "Import Tool DB" +msgstr "" + +#: FlatCAMCommon.py:676 +msgid "Load the Tools Database information's from a custom text file." +msgstr "" + +#: FlatCAMCommon.py:686 +msgid "Add Tool from Tools DB" +msgstr "" + +#: FlatCAMCommon.py:688 +msgid "" +"Add a new tool in the Tools Table of the\n" +"active Geometry object after selecting a tool\n" +"in the Tools Database." +msgstr "" + +#: FlatCAMCommon.py:722 FlatCAMCommon.py:1071 FlatCAMCommon.py:1105 +msgid "Could not load Tools DB file." +msgstr "" + +#: FlatCAMCommon.py:730 FlatCAMCommon.py:1113 +msgid "Failed to parse Tools DB file." +msgstr "" + +#: FlatCAMCommon.py:733 FlatCAMCommon.py:1116 +msgid "Loaded FlatCAM Tools DB from" +msgstr "" + +#: FlatCAMCommon.py:739 +msgid "Add to DB" +msgstr "" + +#: FlatCAMCommon.py:741 +msgid "Copy from DB" +msgstr "" + +#: FlatCAMCommon.py:743 +msgid "Delete from DB" +msgstr "" + +#: FlatCAMCommon.py:1042 +msgid "Export Tools Database" +msgstr "" + +#: FlatCAMCommon.py:1045 +msgid "Tools_Database" +msgstr "" + +#: FlatCAMCommon.py:1052 +msgid "FlatCAM Tools DB export cancelled." +msgstr "" + +#: FlatCAMCommon.py:1085 +msgid "Failed to write Tools DB to file." +msgstr "" + +#: FlatCAMCommon.py:1088 +msgid "Exported Tools DB to" +msgstr "" + +#: FlatCAMCommon.py:1095 +msgid "Import FlatCAM Tools DB" +msgstr "" + +#: FlatCAMCommon.py:1098 +msgid "FlatCAM Tools DB import cancelled." +msgstr "" + +#: FlatCAMCommon.py:1141 +msgid "Saved Tools DB." +msgstr "" + +#: FlatCAMCommon.py:1287 +msgid "No Tool/row selected in the Tools Database table" +msgstr "" + +#: FlatCAMObj.py:250 +msgid "Name changed from" +msgstr "" + +#: FlatCAMObj.py:250 +msgid "to" +msgstr "" + +#: FlatCAMObj.py:261 +msgid "Offsetting..." +msgstr "" + +#: FlatCAMObj.py:276 +msgid "Scaling..." +msgstr "" + +#: FlatCAMObj.py:292 +msgid "Skewing..." +msgstr "" + +#: FlatCAMObj.py:662 FlatCAMObj.py:2490 FlatCAMObj.py:3688 flatcamGUI/PreferencesUI.py:1001 +#: flatcamGUI/PreferencesUI.py:2093 +msgid "Basic" +msgstr "" + +#: FlatCAMObj.py:684 FlatCAMObj.py:2502 FlatCAMObj.py:3708 flatcamGUI/PreferencesUI.py:1002 +msgid "Advanced" +msgstr "" + +#: FlatCAMObj.py:900 +msgid "Buffering solid geometry" +msgstr "" + +#: FlatCAMObj.py:903 camlib.py:978 flatcamGUI/PreferencesUI.py:1540 +#: flatcamTools/ToolCopperThieving.py:567 flatcamTools/ToolCopperThieving.py:576 +#: flatcamTools/ToolNonCopperClear.py:1613 flatcamTools/ToolNonCopperClear.py:1711 +#: flatcamTools/ToolNonCopperClear.py:1723 flatcamTools/ToolNonCopperClear.py:1961 +#: flatcamTools/ToolNonCopperClear.py:2057 flatcamTools/ToolNonCopperClear.py:2069 +msgid "Buffering" +msgstr "" + +#: FlatCAMObj.py:909 +msgid "Done" +msgstr "" + +#: FlatCAMObj.py:950 FlatCAMObj.py:966 FlatCAMObj.py:983 +msgid "Isolating..." +msgstr "" + +#: FlatCAMObj.py:1187 FlatCAMObj.py:1315 flatcamTools/ToolNonCopperClear.py:1642 +#: flatcamTools/ToolNonCopperClear.py:1985 +msgid "Isolation geometry could not be generated." +msgstr "" + +#: FlatCAMObj.py:1261 FlatCAMObj.py:1338 msgid "Isolation geometry created" msgstr "" -#: FlatCAMObj.py:1271 FlatCAMObj.py:1346 +#: FlatCAMObj.py:1270 FlatCAMObj.py:1345 msgid "Subtracting Geo" msgstr "" -#: FlatCAMObj.py:1564 +#: FlatCAMObj.py:1563 msgid "Plotting Apertures" msgstr "" -#: FlatCAMObj.py:2318 flatcamEditors/FlatCAMExcEditor.py:2323 +#: FlatCAMObj.py:2317 flatcamEditors/FlatCAMExcEditor.py:2352 msgid "Total Drills" msgstr "" -#: FlatCAMObj.py:2350 flatcamEditors/FlatCAMExcEditor.py:2355 +#: FlatCAMObj.py:2349 flatcamEditors/FlatCAMExcEditor.py:2384 msgid "Total Slots" msgstr "" -#: FlatCAMObj.py:2557 FlatCAMObj.py:3856 FlatCAMObj.py:4154 FlatCAMObj.py:4345 -#: FlatCAMObj.py:4356 FlatCAMObj.py:4474 FlatCAMObj.py:4696 FlatCAMObj.py:4819 -#: FlatCAMObj.py:4982 FlatCAMObj.py:5501 flatcamEditors/FlatCAMExcEditor.py:2430 +#: FlatCAMObj.py:2556 FlatCAMObj.py:3764 FlatCAMObj.py:4134 FlatCAMObj.py:4436 +#: FlatCAMObj.py:4781 FlatCAMObj.py:5435 flatcamEditors/FlatCAMExcEditor.py:2459 #: flatcamEditors/FlatCAMGeoEditor.py:1083 flatcamEditors/FlatCAMGeoEditor.py:1117 #: flatcamEditors/FlatCAMGeoEditor.py:1138 flatcamEditors/FlatCAMGeoEditor.py:1159 #: flatcamEditors/FlatCAMGeoEditor.py:1196 flatcamEditors/FlatCAMGeoEditor.py:1224 -#: flatcamEditors/FlatCAMGeoEditor.py:1245 flatcamEditors/FlatCAMGrbEditor.py:5415 -#: flatcamEditors/FlatCAMGrbEditor.py:5458 flatcamEditors/FlatCAMGrbEditor.py:5485 -#: flatcamEditors/FlatCAMGrbEditor.py:5512 flatcamEditors/FlatCAMGrbEditor.py:5553 -#: flatcamEditors/FlatCAMGrbEditor.py:5591 flatcamEditors/FlatCAMGrbEditor.py:5617 -#: flatcamTools/ToolNonCopperClear.py:956 flatcamTools/ToolNonCopperClear.py:1032 -#: flatcamTools/ToolNonCopperClear.py:1438 flatcamTools/ToolPaint.py:810 -#: flatcamTools/ToolPaint.py:1003 flatcamTools/ToolPaint.py:1289 -#: flatcamTools/ToolPaint.py:1566 flatcamTools/ToolPaint.py:2043 -#: flatcamTools/ToolSolderPaste.py:789 flatcamTools/ToolSolderPaste.py:864 +#: flatcamEditors/FlatCAMGeoEditor.py:1245 flatcamEditors/FlatCAMGrbEditor.py:5434 +#: flatcamEditors/FlatCAMGrbEditor.py:5477 flatcamEditors/FlatCAMGrbEditor.py:5504 +#: flatcamEditors/FlatCAMGrbEditor.py:5531 flatcamEditors/FlatCAMGrbEditor.py:5572 +#: flatcamEditors/FlatCAMGrbEditor.py:5610 flatcamEditors/FlatCAMGrbEditor.py:5636 +#: flatcamTools/ToolNonCopperClear.py:1036 flatcamTools/ToolNonCopperClear.py:1449 +#: flatcamTools/ToolPaint.py:810 flatcamTools/ToolPaint.py:1003 +#: flatcamTools/ToolPaint.py:2035 flatcamTools/ToolSolderPaste.py:841 +#: flatcamTools/ToolSolderPaste.py:916 msgid "Wrong value format entered, use a number." msgstr "" -#: FlatCAMObj.py:2811 FlatCAMObj.py:2906 FlatCAMObj.py:3027 +#: FlatCAMObj.py:2810 FlatCAMObj.py:2905 FlatCAMObj.py:3026 msgid "Please select one or more tools from the list and try again." msgstr "" -#: FlatCAMObj.py:2818 +#: FlatCAMObj.py:2817 msgid "Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" -#: FlatCAMObj.py:2819 flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:919 +#: FlatCAMObj.py:2818 flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:425 +#: flatcamGUI/FlatCAMGUI.py:914 msgid "Tool" msgstr "" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 msgid "Tool_nr" msgstr "" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 -#: flatcamEditors/FlatCAMExcEditor.py:1504 flatcamEditors/FlatCAMExcEditor.py:2938 -#: flatcamGUI/ObjectUI.py:706 flatcamTools/ToolNonCopperClear.py:120 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 +#: flatcamEditors/FlatCAMExcEditor.py:1507 flatcamEditors/FlatCAMExcEditor.py:2967 +#: flatcamGUI/ObjectUI.py:712 flatcamTools/ToolNonCopperClear.py:120 #: flatcamTools/ToolPaint.py:123 flatcamTools/ToolPcbWizard.py:75 -#: flatcamTools/ToolSolderPaste.py:80 +#: flatcamTools/ToolSolderPaste.py:84 msgid "Diameter" msgstr "" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 msgid "Drills_Nr" msgstr "" -#: FlatCAMObj.py:2835 FlatCAMObj.py:2928 FlatCAMObj.py:3046 +#: FlatCAMObj.py:2834 FlatCAMObj.py:2927 FlatCAMObj.py:3045 msgid "Slots_Nr" msgstr "" -#: FlatCAMObj.py:2915 +#: FlatCAMObj.py:2914 msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" -#: FlatCAMObj.py:3087 FlatCAMObj.py:5195 +#: FlatCAMObj.py:3086 msgid "Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth\"]" msgstr "" -#: FlatCAMObj.py:3098 FlatCAMObj.py:5206 +#: FlatCAMObj.py:3097 msgid "" "Wrong value format for self.defaults[\"feedrate_probe\"] or self.options[\"feedrate_probe" "\"]" msgstr "" -#: FlatCAMObj.py:3128 FlatCAMObj.py:5081 FlatCAMObj.py:5087 FlatCAMObj.py:5241 +#: FlatCAMObj.py:3127 FlatCAMObj.py:5034 FlatCAMObj.py:5040 FlatCAMObj.py:5175 msgid "Generating CNC Code" msgstr "" -#: FlatCAMObj.py:3154 camlib.py:2399 camlib.py:3383 +#: FlatCAMObj.py:3153 camlib.py:2404 camlib.py:3385 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, y) \n" "but now there is only one value, not two. " msgstr "" -#: FlatCAMObj.py:3469 FlatCAMObj.py:4396 FlatCAMObj.py:4397 FlatCAMObj.py:4406 -msgid "Iso" +#: FlatCAMObj.py:3680 +msgid "Add from Tool DB" msgstr "" -#: FlatCAMObj.py:3469 -msgid "Finish" -msgstr "" - -#: FlatCAMObj.py:3780 flatcamGUI/FlatCAMGUI.py:605 flatcamGUI/FlatCAMGUI.py:710 -#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:1823 flatcamGUI/FlatCAMGUI.py:1921 -#: flatcamGUI/FlatCAMGUI.py:2132 flatcamGUI/FlatCAMGUI.py:2250 flatcamGUI/ObjectUI.py:1210 +#: FlatCAMObj.py:3682 flatcamGUI/FlatCAMGUI.py:597 flatcamGUI/FlatCAMGUI.py:702 +#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:1834 flatcamGUI/FlatCAMGUI.py:1932 +#: flatcamGUI/FlatCAMGUI.py:2134 flatcamGUI/FlatCAMGUI.py:2255 flatcamGUI/ObjectUI.py:1224 #: flatcamTools/ToolPanelize.py:517 flatcamTools/ToolPanelize.py:544 #: flatcamTools/ToolPanelize.py:643 flatcamTools/ToolPanelize.py:677 #: flatcamTools/ToolPanelize.py:742 msgid "Copy" msgstr "" -#: FlatCAMObj.py:3994 +#: FlatCAMObj.py:3902 msgid "Please enter the desired tool diameter in Float format." msgstr "" -#: FlatCAMObj.py:4065 +#: FlatCAMObj.py:3972 msgid "Tool added in Tool Table." msgstr "" -#: FlatCAMObj.py:4069 +#: FlatCAMObj.py:3976 msgid "Default Tool added. Wrong value format entered." msgstr "" -#: FlatCAMObj.py:4102 FlatCAMObj.py:4111 +#: FlatCAMObj.py:4082 FlatCAMObj.py:4091 msgid "Failed. Select a tool to copy." msgstr "" -#: FlatCAMObj.py:4139 +#: FlatCAMObj.py:4119 msgid "Tool was copied in Tool Table." msgstr "" -#: FlatCAMObj.py:4169 +#: FlatCAMObj.py:4149 msgid "Tool was edited in Tool Table." msgstr "" -#: FlatCAMObj.py:4198 FlatCAMObj.py:4207 +#: FlatCAMObj.py:4178 FlatCAMObj.py:4187 msgid "Failed. Select a tool to delete." msgstr "" -#: FlatCAMObj.py:4230 +#: FlatCAMObj.py:4210 msgid "Tool was deleted in Tool Table." msgstr "" -#: FlatCAMObj.py:4676 +#: FlatCAMObj.py:4638 msgid "This Geometry can't be processed because it is" msgstr "" -#: FlatCAMObj.py:4678 +#: FlatCAMObj.py:4640 msgid "geometry" msgstr "" -#: FlatCAMObj.py:4721 +#: FlatCAMObj.py:4683 msgid "Failed. No tool selected in the tool table ..." msgstr "" -#: FlatCAMObj.py:4824 FlatCAMObj.py:4988 +#: FlatCAMObj.py:4786 FlatCAMObj.py:4941 msgid "" "Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." msgstr "" -#: FlatCAMObj.py:4889 FlatCAMObj.py:5048 +#: FlatCAMObj.py:4851 FlatCAMObj.py:5001 msgid "G-Code parsing in progress..." msgstr "" -#: FlatCAMObj.py:4891 FlatCAMObj.py:5050 +#: FlatCAMObj.py:4853 FlatCAMObj.py:5003 msgid "G-Code parsing finished..." msgstr "" -#: FlatCAMObj.py:4899 +#: FlatCAMObj.py:4861 msgid "Finished G-Code processing" msgstr "" -#: FlatCAMObj.py:4901 FlatCAMObj.py:5062 +#: FlatCAMObj.py:4863 FlatCAMObj.py:5015 msgid "G-Code processing failed with error" msgstr "" -#: FlatCAMObj.py:4949 flatcamTools/ToolSolderPaste.py:1212 +#: FlatCAMObj.py:4911 flatcamTools/ToolSolderPaste.py:1264 msgid "Cancelled. Empty file, it has no geometry" msgstr "" -#: FlatCAMObj.py:5060 FlatCAMObj.py:5234 +#: FlatCAMObj.py:5013 FlatCAMObj.py:5168 msgid "Finished G-Code processing..." msgstr "" -#: FlatCAMObj.py:5084 FlatCAMObj.py:5090 FlatCAMObj.py:5244 +#: FlatCAMObj.py:5037 FlatCAMObj.py:5043 FlatCAMObj.py:5178 msgid "CNCjob created" msgstr "" -#: FlatCAMObj.py:5276 FlatCAMObj.py:5286 flatcamParsers/ParseGerber.py:1666 +#: FlatCAMObj.py:5210 FlatCAMObj.py:5220 flatcamParsers/ParseGerber.py:1666 #: flatcamParsers/ParseGerber.py:1676 msgid "Scale factor has to be a number: integer or float." msgstr "" -#: FlatCAMObj.py:5360 +#: FlatCAMObj.py:5294 msgid "Geometry Scale done." msgstr "" -#: FlatCAMObj.py:5377 flatcamParsers/ParseGerber.py:1791 +#: FlatCAMObj.py:5311 flatcamParsers/ParseGerber.py:1791 msgid "" "An (x,y) pair of values are needed. Probable you entered only one value in the Offset " "field." msgstr "" -#: FlatCAMObj.py:5431 +#: FlatCAMObj.py:5365 msgid "Geometry Offset done." msgstr "" -#: FlatCAMObj.py:5460 +#: FlatCAMObj.py:5394 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, y)\n" "but now there is only one value, not two." msgstr "" -#: FlatCAMObj.py:5951 FlatCAMObj.py:6574 FlatCAMObj.py:6758 +#: FlatCAMObj.py:5986 FlatCAMObj.py:6636 FlatCAMObj.py:6820 msgid "Basic" msgstr "" -#: FlatCAMObj.py:5957 FlatCAMObj.py:6578 FlatCAMObj.py:6762 +#: FlatCAMObj.py:5992 FlatCAMObj.py:6640 FlatCAMObj.py:6824 msgid "Advanced" msgstr "" -#: FlatCAMObj.py:6000 +#: FlatCAMObj.py:6035 msgid "Plotting..." msgstr "" -#: FlatCAMObj.py:6024 FlatCAMObj.py:6029 flatcamTools/ToolSolderPaste.py:1418 +#: FlatCAMObj.py:6059 FlatCAMObj.py:6064 flatcamTools/ToolCalibrateExcellon.py:624 +#: flatcamTools/ToolCalibrateExcellon.py:629 flatcamTools/ToolSolderPaste.py:1470 msgid "Export Machine Code ..." msgstr "" -#: FlatCAMObj.py:6035 flatcamTools/ToolSolderPaste.py:1422 +#: FlatCAMObj.py:6070 flatcamTools/ToolCalibrateExcellon.py:634 +#: flatcamTools/ToolSolderPaste.py:1474 msgid "Export Machine Code cancelled ..." msgstr "" -#: FlatCAMObj.py:6053 +#: FlatCAMObj.py:6088 msgid "Machine Code file saved to" msgstr "" -#: FlatCAMObj.py:6108 +#: FlatCAMObj.py:6143 msgid "Loaded Machine Code into Code Editor" msgstr "" -#: FlatCAMObj.py:6223 +#: FlatCAMObj.py:6278 msgid "This CNCJob object can't be processed because it is a" msgstr "" -#: FlatCAMObj.py:6225 +#: FlatCAMObj.py:6280 msgid "CNCJob object" msgstr "" -#: FlatCAMObj.py:6277 +#: FlatCAMObj.py:6332 msgid "G-code does not have a units code: either G20 or G21" msgstr "" -#: FlatCAMObj.py:6289 +#: FlatCAMObj.py:6346 msgid "Cancelled. The Toolchange Custom code is enabled but it's empty." msgstr "" -#: FlatCAMObj.py:6295 +#: FlatCAMObj.py:6352 msgid "Toolchange G-code was replaced by a custom code." msgstr "" -#: FlatCAMObj.py:6308 flatcamEditors/FlatCAMTextEditor.py:213 -#: flatcamTools/ToolSolderPaste.py:1449 +#: FlatCAMObj.py:6370 flatcamEditors/FlatCAMTextEditor.py:213 +#: flatcamTools/ToolSolderPaste.py:1501 msgid "No such file or directory" msgstr "" -#: FlatCAMObj.py:6322 flatcamEditors/FlatCAMTextEditor.py:225 +#: FlatCAMObj.py:6384 flatcamEditors/FlatCAMTextEditor.py:225 msgid "Saved to" msgstr "" -#: FlatCAMObj.py:6332 FlatCAMObj.py:6342 +#: FlatCAMObj.py:6394 FlatCAMObj.py:6404 msgid "The used postprocessor file has to have in it's name: 'toolchange_custom'" msgstr "" -#: FlatCAMObj.py:6346 +#: FlatCAMObj.py:6408 msgid "There is no postprocessor file." msgstr "" -#: FlatCAMObj.py:6623 +#: FlatCAMObj.py:6685 msgid "Script Editor" msgstr "" -#: FlatCAMObj.py:6862 +#: FlatCAMObj.py:6924 msgid "Document Editor" msgstr "" @@ -1751,116 +2284,116 @@ msgstr "" msgid "Apply Language ..." msgstr "" -#: ObjectCollection.py:450 +#: ObjectCollection.py:453 #, python-brace-format msgid "Object renamed from {old} to {new}" msgstr "" -#: ObjectCollection.py:830 +#: ObjectCollection.py:835 msgid "Cause of error" msgstr "" -#: camlib.py:593 +#: camlib.py:589 msgid "self.solid_geometry is neither BaseGeometry or list." msgstr "" -#: camlib.py:972 +#: camlib.py:968 msgid "Pass" msgstr "" -#: camlib.py:992 +#: camlib.py:988 msgid "Get Exteriors" msgstr "" -#: camlib.py:995 +#: camlib.py:991 msgid "Get Interiors" msgstr "" -#: camlib.py:1961 +#: camlib.py:1960 msgid "Object was mirrored" msgstr "" -#: camlib.py:1964 +#: camlib.py:1963 msgid "Failed to mirror. No object selected" msgstr "" -#: camlib.py:2033 +#: camlib.py:2032 msgid "Object was rotated" msgstr "" -#: camlib.py:2036 +#: camlib.py:2035 msgid "Failed to rotate. No object selected" msgstr "" -#: camlib.py:2104 +#: camlib.py:2103 msgid "Object was skewed" msgstr "" -#: camlib.py:2107 +#: camlib.py:2106 msgid "Failed to skew. No object selected" msgstr "" -#: camlib.py:2304 +#: camlib.py:2309 msgid "There is no such parameter" msgstr "" -#: camlib.py:2376 +#: camlib.py:2383 msgid "" "The Cut Z parameter has positive value. It is the depth value to drill into material.\n" "The Cut Z parameter needs to have a negative value, assuming it is a typo therefore the " "app will convert the value to negative. Check the resulting CNC code (Gcode etc)." msgstr "" -#: camlib.py:2384 camlib.py:3059 camlib.py:3409 +#: camlib.py:2391 camlib.py:3061 camlib.py:3412 msgid "The Cut Z parameter is zero. There will be no cut, skipping file" msgstr "" -#: camlib.py:2436 +#: camlib.py:2441 msgid "Creating a list of points to drill..." msgstr "" -#: camlib.py:2519 +#: camlib.py:2523 msgid "Starting G-Code" msgstr "" -#: camlib.py:2617 camlib.py:2764 camlib.py:2869 camlib.py:3175 camlib.py:3523 +#: camlib.py:2621 camlib.py:2767 camlib.py:2871 camlib.py:3177 camlib.py:3526 msgid "Starting G-Code for tool with diameter" msgstr "" -#: camlib.py:2674 camlib.py:2821 camlib.py:2927 +#: camlib.py:2677 camlib.py:2823 camlib.py:2928 msgid "G91 coordinates not implemented" msgstr "" -#: camlib.py:2680 camlib.py:2827 camlib.py:2933 +#: camlib.py:2683 camlib.py:2829 camlib.py:2934 msgid "The loaded Excellon file has no drills" msgstr "" -#: camlib.py:2955 +#: camlib.py:2956 msgid "Finished G-Code generation..." msgstr "" -#: camlib.py:3032 +#: camlib.py:3033 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, y) \n" "but now there is only one value, not two." msgstr "" -#: camlib.py:3045 camlib.py:3395 +#: camlib.py:3046 camlib.py:3398 msgid "Cut_Z parameter is None or zero. Most likely a bad combinations of other parameters." msgstr "" -#: camlib.py:3051 camlib.py:3401 +#: camlib.py:3053 camlib.py:3404 msgid "" "The Cut Z parameter has positive value. It is the depth value to cut into material.\n" "The Cut Z parameter needs to have a negative value, assuming it is a typo therefore the " "app will convert the value to negative.Check the resulting CNC code (Gcode etc)." msgstr "" -#: camlib.py:3069 camlib.py:3415 +#: camlib.py:3067 camlib.py:3418 msgid "Travel Z parameter is None or zero." msgstr "" -#: camlib.py:3074 camlib.py:3420 +#: camlib.py:3072 camlib.py:3423 msgid "" "The Travel Z parameter has negative value. It is the height value to travel between " "cuts.\n" @@ -1868,41 +2401,41 @@ msgid "" "the app will convert the value to positive.Check the resulting CNC code (Gcode etc)." msgstr "" -#: camlib.py:3082 camlib.py:3428 +#: camlib.py:3080 camlib.py:3431 msgid "The Z Travel parameter is zero. This is dangerous, skipping file" msgstr "" -#: camlib.py:3097 camlib.py:3447 +#: camlib.py:3099 camlib.py:3450 msgid "Indexing geometry before generating G-Code..." msgstr "" -#: camlib.py:3158 camlib.py:3509 +#: camlib.py:3160 camlib.py:3512 msgid "Starting G-Code..." msgstr "" -#: camlib.py:3245 camlib.py:3593 +#: camlib.py:3247 camlib.py:3596 msgid "Finished G-Code generation" msgstr "" -#: camlib.py:3247 +#: camlib.py:3249 msgid "paths traced" msgstr "" -#: camlib.py:3283 +#: camlib.py:3285 msgid "Expected a Geometry, got" msgstr "" -#: camlib.py:3290 +#: camlib.py:3292 msgid "Trying to generate a CNC Job from a Geometry object without solid_geometry." msgstr "" -#: camlib.py:3330 +#: camlib.py:3332 msgid "" "The Tool Offset value is too negative to use for the current_geometry.\n" "Raise the value (in module) and try again." msgstr "" -#: camlib.py:3595 +#: camlib.py:3596 msgid " paths traced." msgstr "" @@ -2023,7 +2556,7 @@ msgid "Resize drill(s) failed. Please enter a diameter for resize." msgstr "" #: flatcamEditors/FlatCAMExcEditor.py:983 flatcamEditors/FlatCAMExcEditor.py:1052 -#: flatcamGUI/FlatCAMGUI.py:2790 flatcamGUI/FlatCAMGUI.py:3001 flatcamGUI/FlatCAMGUI.py:3218 +#: flatcamGUI/FlatCAMGUI.py:2852 flatcamGUI/FlatCAMGUI.py:3065 flatcamGUI/FlatCAMGUI.py:3282 msgid "Cancelled." msgstr "" @@ -2047,135 +2580,130 @@ msgstr "" msgid "Done. Drill(s) copied." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1477 flatcamGUI/PreferencesUI.py:2610 +#: flatcamEditors/FlatCAMExcEditor.py:1480 flatcamGUI/PreferencesUI.py:2651 msgid "Excellon Editor" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1484 flatcamEditors/FlatCAMGrbEditor.py:2381 +#: flatcamEditors/FlatCAMExcEditor.py:1487 flatcamEditors/FlatCAMGrbEditor.py:2383 msgid "Name:" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1490 flatcamGUI/ObjectUI.py:686 -#: flatcamGUI/ObjectUI.py:1064 flatcamTools/ToolNonCopperClear.py:109 -#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:69 +#: flatcamEditors/FlatCAMExcEditor.py:1493 flatcamGUI/ObjectUI.py:692 +#: flatcamGUI/ObjectUI.py:1084 flatcamTools/ToolNonCopperClear.py:109 +#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73 msgid "Tools Table" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1492 flatcamGUI/ObjectUI.py:688 +#: flatcamEditors/FlatCAMExcEditor.py:1495 flatcamGUI/ObjectUI.py:694 msgid "" "Tools in this Excellon object\n" "when are used for drilling." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1512 +#: flatcamEditors/FlatCAMExcEditor.py:1515 msgid "Add/Delete Tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1514 +#: flatcamEditors/FlatCAMExcEditor.py:1517 msgid "" "Add/Delete a tool to the tool list\n" "for this Excellon object." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1522 flatcamGUI/ObjectUI.py:1185 -#: flatcamTools/ToolNonCopperClear.py:225 flatcamTools/ToolPaint.py:176 -msgid "Tool Dia" -msgstr "" - -#: flatcamEditors/FlatCAMExcEditor.py:1524 flatcamGUI/ObjectUI.py:1188 -#: flatcamGUI/PreferencesUI.py:2640 +#: flatcamEditors/FlatCAMExcEditor.py:1529 flatcamGUI/ObjectUI.py:1197 +#: flatcamGUI/PreferencesUI.py:2681 msgid "Diameter for the new tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1532 +#: flatcamEditors/FlatCAMExcEditor.py:1539 msgid "Add Tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1534 +#: flatcamEditors/FlatCAMExcEditor.py:1541 msgid "" "Add a new tool to the tool list\n" "with the diameter specified above." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1546 +#: flatcamEditors/FlatCAMExcEditor.py:1553 msgid "Delete Tool" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1548 +#: flatcamEditors/FlatCAMExcEditor.py:1555 msgid "" "Delete a tool in the tool list\n" "by selecting a row in the tool table." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1566 flatcamGUI/FlatCAMGUI.py:1704 +#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/FlatCAMGUI.py:1715 msgid "Resize Drill(s)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1568 +#: flatcamEditors/FlatCAMExcEditor.py:1575 msgid "Resize a drill or a selection of drills." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1575 +#: flatcamEditors/FlatCAMExcEditor.py:1582 msgid "Resize Dia" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1577 +#: flatcamEditors/FlatCAMExcEditor.py:1584 msgid "Diameter to resize to." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1585 +#: flatcamEditors/FlatCAMExcEditor.py:1595 msgid "Resize" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1587 +#: flatcamEditors/FlatCAMExcEditor.py:1597 msgid "Resize drill(s)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1612 flatcamGUI/FlatCAMGUI.py:1703 -#: flatcamGUI/FlatCAMGUI.py:1913 +#: flatcamEditors/FlatCAMExcEditor.py:1622 flatcamGUI/FlatCAMGUI.py:1714 +#: flatcamGUI/FlatCAMGUI.py:1924 msgid "Add Drill Array" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1614 +#: flatcamEditors/FlatCAMExcEditor.py:1624 msgid "Add an array of drills (linear or circular array)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1620 +#: flatcamEditors/FlatCAMExcEditor.py:1630 msgid "" "Select the type of drills array to create.\n" "It can be Linear X(Y) or Circular" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1623 flatcamEditors/FlatCAMExcEditor.py:1825 -#: flatcamEditors/FlatCAMGrbEditor.py:2682 +#: flatcamEditors/FlatCAMExcEditor.py:1633 flatcamEditors/FlatCAMExcEditor.py:1847 +#: flatcamEditors/FlatCAMGrbEditor.py:2693 msgid "Linear" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1624 flatcamEditors/FlatCAMExcEditor.py:1826 -#: flatcamEditors/FlatCAMGrbEditor.py:2683 flatcamGUI/PreferencesUI.py:3719 -#: flatcamTools/ToolNonCopperClear.py:216 +#: flatcamEditors/FlatCAMExcEditor.py:1634 flatcamEditors/FlatCAMExcEditor.py:1848 +#: flatcamEditors/FlatCAMGrbEditor.py:2694 flatcamGUI/PreferencesUI.py:3807 +#: flatcamTools/ToolNonCopperClear.py:221 msgid "Circular" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1632 flatcamGUI/PreferencesUI.py:2651 +#: flatcamEditors/FlatCAMExcEditor.py:1642 flatcamGUI/PreferencesUI.py:2692 msgid "Nr of drills" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1633 flatcamGUI/PreferencesUI.py:2653 +#: flatcamEditors/FlatCAMExcEditor.py:1643 flatcamGUI/PreferencesUI.py:2694 msgid "Specify how many drills to be in the array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1650 flatcamEditors/FlatCAMExcEditor.py:1697 -#: flatcamEditors/FlatCAMExcEditor.py:1761 flatcamEditors/FlatCAMExcEditor.py:1852 -#: flatcamEditors/FlatCAMExcEditor.py:1899 flatcamEditors/FlatCAMGrbEditor.py:1524 -#: flatcamEditors/FlatCAMGrbEditor.py:2709 flatcamEditors/FlatCAMGrbEditor.py:2754 -#: flatcamGUI/PreferencesUI.py:2761 +#: flatcamEditors/FlatCAMExcEditor.py:1661 flatcamEditors/FlatCAMExcEditor.py:1711 +#: flatcamEditors/FlatCAMExcEditor.py:1783 flatcamEditors/FlatCAMExcEditor.py:1876 +#: flatcamEditors/FlatCAMExcEditor.py:1927 flatcamEditors/FlatCAMGrbEditor.py:1524 +#: flatcamEditors/FlatCAMGrbEditor.py:2722 flatcamEditors/FlatCAMGrbEditor.py:2771 +#: flatcamGUI/PreferencesUI.py:2802 msgid "Direction" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1652 flatcamEditors/FlatCAMExcEditor.py:1854 -#: flatcamEditors/FlatCAMGrbEditor.py:2711 flatcamGUI/PreferencesUI.py:1752 -#: flatcamGUI/PreferencesUI.py:2669 flatcamGUI/PreferencesUI.py:2817 +#: flatcamEditors/FlatCAMExcEditor.py:1663 flatcamEditors/FlatCAMExcEditor.py:1878 +#: flatcamEditors/FlatCAMGrbEditor.py:2724 flatcamGUI/PreferencesUI.py:1776 +#: flatcamGUI/PreferencesUI.py:2710 flatcamGUI/PreferencesUI.py:2858 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2183,105 +2711,108 @@ msgid "" "- 'Angle' - a custom angle for the array inclination" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1659 flatcamEditors/FlatCAMExcEditor.py:1770 -#: flatcamEditors/FlatCAMExcEditor.py:1861 flatcamEditors/FlatCAMGrbEditor.py:2718 -#: flatcamGUI/PreferencesUI.py:1758 flatcamGUI/PreferencesUI.py:2675 -#: flatcamGUI/PreferencesUI.py:2770 flatcamGUI/PreferencesUI.py:2823 -#: flatcamGUI/PreferencesUI.py:4479 flatcamTools/ToolFilm.py:233 +#: flatcamEditors/FlatCAMExcEditor.py:1670 flatcamEditors/FlatCAMExcEditor.py:1792 +#: flatcamEditors/FlatCAMExcEditor.py:1885 flatcamEditors/FlatCAMGrbEditor.py:2731 +#: flatcamGUI/PreferencesUI.py:1782 flatcamGUI/PreferencesUI.py:2716 +#: flatcamGUI/PreferencesUI.py:2811 flatcamGUI/PreferencesUI.py:2864 +#: flatcamGUI/PreferencesUI.py:4586 flatcamTools/ToolCalibrateExcellon.py:158 +#: flatcamTools/ToolCalibrateExcellon.py:187 flatcamTools/ToolCalibrateExcellon.py:211 +#: flatcamTools/ToolCalibrateExcellon.py:235 flatcamTools/ToolFilm.py:233 msgid "X" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1660 flatcamEditors/FlatCAMExcEditor.py:1771 -#: flatcamEditors/FlatCAMExcEditor.py:1862 flatcamEditors/FlatCAMGrbEditor.py:2719 -#: flatcamGUI/PreferencesUI.py:1759 flatcamGUI/PreferencesUI.py:2676 -#: flatcamGUI/PreferencesUI.py:2771 flatcamGUI/PreferencesUI.py:2824 -#: flatcamGUI/PreferencesUI.py:4480 flatcamTools/ToolFilm.py:234 +#: flatcamEditors/FlatCAMExcEditor.py:1671 flatcamEditors/FlatCAMExcEditor.py:1793 +#: flatcamEditors/FlatCAMExcEditor.py:1886 flatcamEditors/FlatCAMGrbEditor.py:2732 +#: flatcamGUI/PreferencesUI.py:1783 flatcamGUI/PreferencesUI.py:2717 +#: flatcamGUI/PreferencesUI.py:2812 flatcamGUI/PreferencesUI.py:2865 +#: flatcamGUI/PreferencesUI.py:4587 flatcamTools/ToolCalibrateExcellon.py:166 +#: flatcamTools/ToolCalibrateExcellon.py:195 flatcamTools/ToolCalibrateExcellon.py:219 +#: flatcamTools/ToolCalibrateExcellon.py:243 flatcamTools/ToolFilm.py:234 msgid "Y" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1661 flatcamEditors/FlatCAMExcEditor.py:1675 -#: flatcamEditors/FlatCAMExcEditor.py:1709 flatcamEditors/FlatCAMExcEditor.py:1772 -#: flatcamEditors/FlatCAMExcEditor.py:1776 flatcamEditors/FlatCAMExcEditor.py:1863 -#: flatcamEditors/FlatCAMExcEditor.py:1877 flatcamEditors/FlatCAMExcEditor.py:1911 -#: flatcamEditors/FlatCAMGrbEditor.py:2720 flatcamEditors/FlatCAMGrbEditor.py:2733 -#: flatcamEditors/FlatCAMGrbEditor.py:2769 flatcamGUI/PreferencesUI.py:1760 -#: flatcamGUI/PreferencesUI.py:1778 flatcamGUI/PreferencesUI.py:2677 -#: flatcamGUI/PreferencesUI.py:2696 flatcamGUI/PreferencesUI.py:2772 -#: flatcamGUI/PreferencesUI.py:2777 flatcamGUI/PreferencesUI.py:2825 -#: flatcamGUI/PreferencesUI.py:2846 flatcamGUI/PreferencesUI.py:4771 +#: flatcamEditors/FlatCAMExcEditor.py:1672 flatcamEditors/FlatCAMExcEditor.py:1689 +#: flatcamEditors/FlatCAMExcEditor.py:1723 flatcamEditors/FlatCAMExcEditor.py:1794 +#: flatcamEditors/FlatCAMExcEditor.py:1798 flatcamEditors/FlatCAMExcEditor.py:1887 +#: flatcamEditors/FlatCAMExcEditor.py:1905 flatcamEditors/FlatCAMExcEditor.py:1939 +#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamEditors/FlatCAMGrbEditor.py:2750 +#: flatcamEditors/FlatCAMGrbEditor.py:2786 flatcamGUI/PreferencesUI.py:1784 +#: flatcamGUI/PreferencesUI.py:1802 flatcamGUI/PreferencesUI.py:2718 +#: flatcamGUI/PreferencesUI.py:2737 flatcamGUI/PreferencesUI.py:2813 +#: flatcamGUI/PreferencesUI.py:2818 flatcamGUI/PreferencesUI.py:2866 +#: flatcamGUI/PreferencesUI.py:2887 flatcamGUI/PreferencesUI.py:4880 #: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistanceMin.py:67 #: flatcamTools/ToolTransform.py:62 msgid "Angle" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1665 flatcamEditors/FlatCAMExcEditor.py:1867 -#: flatcamEditors/FlatCAMGrbEditor.py:2724 flatcamGUI/PreferencesUI.py:1766 -#: flatcamGUI/PreferencesUI.py:2683 flatcamGUI/PreferencesUI.py:2831 +#: flatcamEditors/FlatCAMExcEditor.py:1676 flatcamEditors/FlatCAMExcEditor.py:1891 +#: flatcamEditors/FlatCAMGrbEditor.py:2737 flatcamGUI/PreferencesUI.py:1790 +#: flatcamGUI/PreferencesUI.py:2724 flatcamGUI/PreferencesUI.py:2872 msgid "Pitch" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1667 flatcamEditors/FlatCAMExcEditor.py:1869 -#: flatcamEditors/FlatCAMGrbEditor.py:2726 flatcamGUI/PreferencesUI.py:1768 -#: flatcamGUI/PreferencesUI.py:2685 flatcamGUI/PreferencesUI.py:2833 +#: flatcamEditors/FlatCAMExcEditor.py:1678 flatcamEditors/FlatCAMExcEditor.py:1893 +#: flatcamEditors/FlatCAMGrbEditor.py:2739 flatcamGUI/PreferencesUI.py:1792 +#: flatcamGUI/PreferencesUI.py:2726 flatcamGUI/PreferencesUI.py:2874 msgid "Pitch = Distance between elements of the array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1677 flatcamEditors/FlatCAMExcEditor.py:1879 -#: flatcamEditors/FlatCAMGrbEditor.py:2735 +#: flatcamEditors/FlatCAMExcEditor.py:1691 flatcamEditors/FlatCAMExcEditor.py:1907 msgid "" "Angle at which the linear array is placed.\n" "The precision is of max 2 decimals.\n" -"Min value is: -359.99 degrees.\n" +"Min value is: -360 degrees.\n" "Max value is: 360.00 degrees." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1698 flatcamEditors/FlatCAMExcEditor.py:1900 -#: flatcamEditors/FlatCAMGrbEditor.py:2756 +#: flatcamEditors/FlatCAMExcEditor.py:1712 flatcamEditors/FlatCAMExcEditor.py:1928 +#: flatcamEditors/FlatCAMGrbEditor.py:2773 msgid "Direction for circular array.Can be CW = clockwise or CCW = counter clockwise." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1705 flatcamEditors/FlatCAMExcEditor.py:1907 -#: flatcamEditors/FlatCAMGrbEditor.py:2764 flatcamGUI/PreferencesUI.py:1800 -#: flatcamGUI/PreferencesUI.py:2425 flatcamGUI/PreferencesUI.py:2719 -#: flatcamGUI/PreferencesUI.py:2869 flatcamGUI/PreferencesUI.py:3259 +#: flatcamEditors/FlatCAMExcEditor.py:1719 flatcamEditors/FlatCAMExcEditor.py:1935 +#: flatcamEditors/FlatCAMGrbEditor.py:2781 flatcamGUI/PreferencesUI.py:1824 +#: flatcamGUI/PreferencesUI.py:2466 flatcamGUI/PreferencesUI.py:2760 +#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:3320 msgid "CW" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1706 flatcamEditors/FlatCAMExcEditor.py:1908 -#: flatcamEditors/FlatCAMGrbEditor.py:2765 flatcamGUI/PreferencesUI.py:1801 -#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:2720 -#: flatcamGUI/PreferencesUI.py:2870 flatcamGUI/PreferencesUI.py:3260 +#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamEditors/FlatCAMExcEditor.py:1936 +#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:1825 +#: flatcamGUI/PreferencesUI.py:2467 flatcamGUI/PreferencesUI.py:2761 +#: flatcamGUI/PreferencesUI.py:2911 flatcamGUI/PreferencesUI.py:3321 msgid "CCW" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1710 flatcamEditors/FlatCAMExcEditor.py:1912 -#: flatcamEditors/FlatCAMGrbEditor.py:2771 flatcamGUI/PreferencesUI.py:1780 -#: flatcamGUI/PreferencesUI.py:1809 flatcamGUI/PreferencesUI.py:2698 -#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2848 -#: flatcamGUI/PreferencesUI.py:2878 +#: flatcamEditors/FlatCAMExcEditor.py:1724 flatcamEditors/FlatCAMExcEditor.py:1940 +#: flatcamEditors/FlatCAMGrbEditor.py:2788 flatcamGUI/PreferencesUI.py:1804 +#: flatcamGUI/PreferencesUI.py:1833 flatcamGUI/PreferencesUI.py:2739 +#: flatcamGUI/PreferencesUI.py:2769 flatcamGUI/PreferencesUI.py:2889 +#: flatcamGUI/PreferencesUI.py:2919 msgid "Angle at which each element in circular array is placed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1740 +#: flatcamEditors/FlatCAMExcEditor.py:1758 msgid "Slot Parameters" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1742 +#: flatcamEditors/FlatCAMExcEditor.py:1760 msgid "" "Parameters for adding a slot (hole with oval shape)\n" "either single or as an part of an array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1751 flatcamGUI/PreferencesUI.py:2745 +#: flatcamEditors/FlatCAMExcEditor.py:1769 flatcamGUI/PreferencesUI.py:2786 #: flatcamTools/ToolProperties.py:355 msgid "Length" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1753 flatcamGUI/PreferencesUI.py:2747 +#: flatcamEditors/FlatCAMExcEditor.py:1771 flatcamGUI/PreferencesUI.py:2788 msgid "Length = The length of the slot." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1763 flatcamGUI/PreferencesUI.py:2763 +#: flatcamEditors/FlatCAMExcEditor.py:1785 flatcamGUI/PreferencesUI.py:2804 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2289,84 +2820,84 @@ msgid "" "- 'Angle' - a custom angle for the slot inclination" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1778 flatcamGUI/PreferencesUI.py:2779 +#: flatcamEditors/FlatCAMExcEditor.py:1800 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" -"Min value is: -359.99 degrees.\n" +"Min value is: -360 degrees.\n" "Max value is: 360.00 degrees." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1811 +#: flatcamEditors/FlatCAMExcEditor.py:1833 msgid "Slot Array Parameters" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1813 +#: flatcamEditors/FlatCAMExcEditor.py:1835 msgid "Parameters for the array of slots (linear or circular array)" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1822 +#: flatcamEditors/FlatCAMExcEditor.py:1844 msgid "" "Select the type of slot array to create.\n" "It can be Linear X(Y) or Circular" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1834 flatcamGUI/PreferencesUI.py:2802 +#: flatcamEditors/FlatCAMExcEditor.py:1856 flatcamGUI/PreferencesUI.py:2843 msgid "Nr of slots" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:1835 flatcamGUI/PreferencesUI.py:2804 +#: flatcamEditors/FlatCAMExcEditor.py:1857 flatcamGUI/PreferencesUI.py:2845 msgid "Specify how many slots to be in the array." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2442 +#: flatcamEditors/FlatCAMExcEditor.py:2471 msgid "" "Tool already in the original or actual tool list.\n" "Save and reedit Excellon if you need to add this tool. " msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2451 flatcamGUI/FlatCAMGUI.py:3387 +#: flatcamEditors/FlatCAMExcEditor.py:2480 flatcamGUI/FlatCAMGUI.py:3451 msgid "Added new tool with dia" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2485 +#: flatcamEditors/FlatCAMExcEditor.py:2514 msgid "Select a tool in Tool Table" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2518 +#: flatcamEditors/FlatCAMExcEditor.py:2547 msgid "Deleted tool with diameter" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:2668 +#: flatcamEditors/FlatCAMExcEditor.py:2697 msgid "Done. Tool edit completed." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3213 +#: flatcamEditors/FlatCAMExcEditor.py:3242 msgid "There are no Tools definitions in the file. Aborting Excellon creation." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3217 +#: flatcamEditors/FlatCAMExcEditor.py:3246 msgid "An internal error has ocurred. See Shell.\n" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3222 +#: flatcamEditors/FlatCAMExcEditor.py:3251 msgid "Creating Excellon." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3236 +#: flatcamEditors/FlatCAMExcEditor.py:3265 msgid "Excellon editing finished." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3254 +#: flatcamEditors/FlatCAMExcEditor.py:3283 msgid "Cancelled. There is no Tool/Drill selected" msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3862 +#: flatcamEditors/FlatCAMExcEditor.py:3891 msgid "Done. Drill(s) deleted." msgstr "" -#: flatcamEditors/FlatCAMExcEditor.py:3935 flatcamEditors/FlatCAMExcEditor.py:3945 -#: flatcamEditors/FlatCAMGrbEditor.py:4700 +#: flatcamEditors/FlatCAMExcEditor.py:3964 flatcamEditors/FlatCAMExcEditor.py:3974 +#: flatcamEditors/FlatCAMGrbEditor.py:4719 msgid "Click on the circular array Center position" msgstr "" @@ -2387,15 +2918,16 @@ msgid "" "corner" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:94 flatcamEditors/FlatCAMGrbEditor.py:2540 +#: flatcamEditors/FlatCAMGeoEditor.py:94 flatcamEditors/FlatCAMGrbEditor.py:2549 msgid "Round" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:95 flatcamEditors/FlatCAMGrbEditor.py:2541 +#: flatcamEditors/FlatCAMGeoEditor.py:95 flatcamEditors/FlatCAMGrbEditor.py:2550 +#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolQRCode.py:198 msgid "Square" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:96 flatcamEditors/FlatCAMGrbEditor.py:2542 +#: flatcamEditors/FlatCAMGeoEditor.py:96 flatcamEditors/FlatCAMGrbEditor.py:2551 msgid "Beveled" msgstr "" @@ -2411,15 +2943,15 @@ msgstr "" msgid "Full Buffer" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:132 flatcamEditors/FlatCAMGeoEditor.py:2768 -#: flatcamGUI/FlatCAMGUI.py:1613 flatcamGUI/PreferencesUI.py:1820 +#: flatcamEditors/FlatCAMGeoEditor.py:132 flatcamEditors/FlatCAMGeoEditor.py:2763 +#: flatcamGUI/FlatCAMGUI.py:1624 flatcamGUI/PreferencesUI.py:1844 msgid "Buffer Tool" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:144 flatcamEditors/FlatCAMGeoEditor.py:161 -#: flatcamEditors/FlatCAMGeoEditor.py:178 flatcamEditors/FlatCAMGeoEditor.py:2788 -#: flatcamEditors/FlatCAMGeoEditor.py:2818 flatcamEditors/FlatCAMGeoEditor.py:2848 -#: flatcamEditors/FlatCAMGrbEditor.py:4753 +#: flatcamEditors/FlatCAMGeoEditor.py:178 flatcamEditors/FlatCAMGeoEditor.py:2783 +#: flatcamEditors/FlatCAMGeoEditor.py:2813 flatcamEditors/FlatCAMGeoEditor.py:2843 +#: flatcamEditors/FlatCAMGrbEditor.py:4772 msgid "Buffer distance value is missing or wrong format. Add it and retry." msgstr "" @@ -2427,7 +2959,7 @@ msgstr "" msgid "Font" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:322 flatcamGUI/FlatCAMGUI.py:1874 +#: flatcamEditors/FlatCAMGeoEditor.py:322 flatcamGUI/FlatCAMGUI.py:1885 msgid "Text" msgstr "" @@ -2435,26 +2967,26 @@ msgstr "" msgid "Text Tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:437 flatcamGUI/ObjectUI.py:335 -#: flatcamGUI/PreferencesUI.py:1301 flatcamGUI/PreferencesUI.py:2933 -#: flatcamGUI/PreferencesUI.py:3978 flatcamGUI/PreferencesUI.py:4156 +#: flatcamEditors/FlatCAMGeoEditor.py:437 flatcamGUI/ObjectUI.py:341 +#: flatcamGUI/PreferencesUI.py:1325 flatcamGUI/PreferencesUI.py:2974 +#: flatcamGUI/PreferencesUI.py:4085 flatcamGUI/PreferencesUI.py:4263 #: flatcamTools/ToolCutOut.py:112 msgid "Tool dia" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:439 flatcamGUI/PreferencesUI.py:4158 +#: flatcamEditors/FlatCAMGeoEditor.py:439 flatcamGUI/PreferencesUI.py:4265 msgid "" "Diameter of the tool to\n" "be used in the operation." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:448 flatcamGUI/PreferencesUI.py:3815 -#: flatcamGUI/PreferencesUI.py:4188 flatcamTools/ToolNonCopperClear.py:308 +#: flatcamEditors/FlatCAMGeoEditor.py:448 flatcamGUI/PreferencesUI.py:3915 +#: flatcamGUI/PreferencesUI.py:4295 flatcamTools/ToolNonCopperClear.py:319 #: flatcamTools/ToolPaint.py:219 msgid "Overlap Rate" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:450 flatcamGUI/PreferencesUI.py:4190 +#: flatcamEditors/FlatCAMGeoEditor.py:450 flatcamGUI/PreferencesUI.py:4297 #: flatcamTools/ToolPaint.py:221 #, python-format msgid "" @@ -2470,13 +3002,14 @@ msgid "" "due of too many paths." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:466 flatcamGUI/PreferencesUI.py:3836 -#: flatcamGUI/PreferencesUI.py:4006 flatcamGUI/PreferencesUI.py:4210 -#: flatcamTools/ToolNonCopperClear.py:328 flatcamTools/ToolPaint.py:240 +#: flatcamEditors/FlatCAMGeoEditor.py:466 flatcamGUI/PreferencesUI.py:3936 +#: flatcamGUI/PreferencesUI.py:4113 flatcamGUI/PreferencesUI.py:4317 +#: flatcamGUI/PreferencesUI.py:5770 flatcamTools/ToolCopperThieving.py:109 +#: flatcamTools/ToolNonCopperClear.py:339 flatcamTools/ToolPaint.py:240 msgid "Margin" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:468 flatcamGUI/PreferencesUI.py:4212 +#: flatcamEditors/FlatCAMGeoEditor.py:468 flatcamGUI/PreferencesUI.py:4319 #: flatcamTools/ToolPaint.py:242 msgid "" "Distance by which to avoid\n" @@ -2484,8 +3017,8 @@ msgid "" "be painted." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:3849 -#: flatcamGUI/PreferencesUI.py:4225 flatcamTools/ToolNonCopperClear.py:339 +#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:3949 +#: flatcamGUI/PreferencesUI.py:4332 flatcamTools/ToolNonCopperClear.py:350 #: flatcamTools/ToolPaint.py:253 msgid "Method" msgstr "" @@ -2496,20 +3029,20 @@ msgid "" "B>: Outwards from seed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:485 flatcamGUI/PreferencesUI.py:3858 -#: flatcamGUI/PreferencesUI.py:4234 flatcamTools/ToolNonCopperClear.py:348 +#: flatcamEditors/FlatCAMGeoEditor.py:485 flatcamGUI/PreferencesUI.py:3958 +#: flatcamGUI/PreferencesUI.py:4341 flatcamTools/ToolNonCopperClear.py:359 #: flatcamTools/ToolPaint.py:262 msgid "Standard" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:3859 -#: flatcamGUI/PreferencesUI.py:4235 flatcamTools/ToolNonCopperClear.py:349 +#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:3959 +#: flatcamGUI/PreferencesUI.py:4342 flatcamTools/ToolNonCopperClear.py:360 #: flatcamTools/ToolPaint.py:263 msgid "Seed-based" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/PreferencesUI.py:3860 -#: flatcamGUI/PreferencesUI.py:4236 flatcamTools/ToolNonCopperClear.py:350 +#: flatcamEditors/FlatCAMGeoEditor.py:487 flatcamGUI/PreferencesUI.py:3960 +#: flatcamGUI/PreferencesUI.py:4343 flatcamTools/ToolNonCopperClear.py:361 #: flatcamTools/ToolPaint.py:264 msgid "Straight lines" msgstr "" @@ -2518,8 +3051,8 @@ msgstr "" msgid "Connect:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:494 flatcamGUI/PreferencesUI.py:3867 -#: flatcamGUI/PreferencesUI.py:4243 flatcamTools/ToolNonCopperClear.py:357 +#: flatcamEditors/FlatCAMGeoEditor.py:494 flatcamGUI/PreferencesUI.py:3969 +#: flatcamGUI/PreferencesUI.py:4350 flatcamTools/ToolNonCopperClear.py:368 #: flatcamTools/ToolPaint.py:271 msgid "" "Draw lines between resulting\n" @@ -2530,20 +3063,20 @@ msgstr "" msgid "Contour:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:503 flatcamGUI/PreferencesUI.py:3877 -#: flatcamGUI/PreferencesUI.py:4253 flatcamTools/ToolNonCopperClear.py:366 +#: flatcamEditors/FlatCAMGeoEditor.py:503 flatcamGUI/PreferencesUI.py:3980 +#: flatcamGUI/PreferencesUI.py:4360 flatcamTools/ToolNonCopperClear.py:377 #: flatcamTools/ToolPaint.py:280 msgid "" "Cut around the perimeter of the polygon\n" "to trim rough edges." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:514 flatcamGUI/FlatCAMGUI.py:1876 +#: flatcamEditors/FlatCAMGeoEditor.py:514 flatcamGUI/FlatCAMGUI.py:1887 msgid "Paint" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:532 flatcamGUI/FlatCAMGUI.py:744 -#: flatcamGUI/FlatCAMGUI.py:2160 flatcamGUI/ObjectUI.py:1563 flatcamTools/ToolPaint.py:41 +#: flatcamEditors/FlatCAMGeoEditor.py:532 flatcamGUI/FlatCAMGUI.py:736 +#: flatcamGUI/FlatCAMGUI.py:2162 flatcamGUI/ObjectUI.py:1592 flatcamTools/ToolPaint.py:41 #: flatcamTools/ToolPaint.py:509 msgid "Paint Tool" msgstr "" @@ -2564,64 +3097,65 @@ msgstr "" msgid "Margin distance value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:612 flatcamEditors/FlatCAMGeoEditor.py:2794 -#: flatcamEditors/FlatCAMGeoEditor.py:2824 flatcamEditors/FlatCAMGeoEditor.py:2854 -#: flatcamGUI/PreferencesUI.py:2929 flatcamTools/ToolProperties.py:118 +#: flatcamEditors/FlatCAMGeoEditor.py:612 flatcamEditors/FlatCAMGeoEditor.py:2789 +#: flatcamEditors/FlatCAMGeoEditor.py:2819 flatcamEditors/FlatCAMGeoEditor.py:2849 +#: flatcamGUI/PreferencesUI.py:2970 flatcamTools/ToolProperties.py:118 #: flatcamTools/ToolProperties.py:144 msgid "Tools" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:623 flatcamEditors/FlatCAMGeoEditor.py:997 -#: flatcamEditors/FlatCAMGrbEditor.py:4944 flatcamEditors/FlatCAMGrbEditor.py:5329 -#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:2173 +#: flatcamEditors/FlatCAMGrbEditor.py:4963 flatcamEditors/FlatCAMGrbEditor.py:5348 +#: flatcamGUI/FlatCAMGUI.py:749 flatcamGUI/FlatCAMGUI.py:2175 #: flatcamTools/ToolTransform.py:371 msgid "Transform Tool" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:624 flatcamEditors/FlatCAMGeoEditor.py:686 -#: flatcamEditors/FlatCAMGrbEditor.py:4945 flatcamEditors/FlatCAMGrbEditor.py:5007 -#: flatcamGUI/PreferencesUI.py:4763 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGrbEditor.py:4964 flatcamEditors/FlatCAMGrbEditor.py:5026 +#: flatcamGUI/PreferencesUI.py:4872 flatcamTools/ToolTransform.py:25 #: flatcamTools/ToolTransform.py:79 msgid "Rotate" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:625 flatcamEditors/FlatCAMGrbEditor.py:4946 +#: flatcamEditors/FlatCAMGeoEditor.py:625 flatcamEditors/FlatCAMGrbEditor.py:4965 #: flatcamTools/ToolTransform.py:26 msgid "Skew/Shear" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:626 flatcamEditors/FlatCAMGrbEditor.py:2587 -#: flatcamEditors/FlatCAMGrbEditor.py:4947 flatcamGUI/FlatCAMGUI.py:832 -#: flatcamGUI/FlatCAMGUI.py:1825 flatcamGUI/FlatCAMGUI.py:1903 flatcamGUI/FlatCAMGUI.py:2244 -#: flatcamGUI/ObjectUI.py:85 flatcamGUI/ObjectUI.py:106 flatcamGUI/PreferencesUI.py:4813 +#: flatcamEditors/FlatCAMGeoEditor.py:626 flatcamEditors/FlatCAMGrbEditor.py:2598 +#: flatcamEditors/FlatCAMGrbEditor.py:4966 flatcamGUI/FlatCAMGUI.py:827 +#: flatcamGUI/FlatCAMGUI.py:1836 flatcamGUI/FlatCAMGUI.py:1914 flatcamGUI/FlatCAMGUI.py:2249 +#: flatcamGUI/ObjectUI.py:91 flatcamGUI/ObjectUI.py:112 flatcamGUI/PreferencesUI.py:4922 +#: flatcamTools/ToolCalibrateExcellon.py:305 flatcamTools/ToolCalibrateExcellon.py:332 #: flatcamTools/ToolTransform.py:27 msgid "Scale" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:627 flatcamEditors/FlatCAMGrbEditor.py:4948 +#: flatcamEditors/FlatCAMGeoEditor.py:627 flatcamEditors/FlatCAMGrbEditor.py:4967 #: flatcamTools/ToolTransform.py:28 msgid "Mirror (Flip)" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:628 flatcamEditors/FlatCAMGrbEditor.py:4949 -#: flatcamGUI/ObjectUI.py:117 flatcamGUI/ObjectUI.py:132 flatcamGUI/ObjectUI.py:1097 -#: flatcamGUI/ObjectUI.py:1709 flatcamGUI/PreferencesUI.py:3900 -#: flatcamGUI/PreferencesUI.py:4860 flatcamTools/ToolNonCopperClear.py:388 +#: flatcamEditors/FlatCAMGeoEditor.py:628 flatcamEditors/FlatCAMGrbEditor.py:4968 +#: flatcamGUI/ObjectUI.py:123 flatcamGUI/ObjectUI.py:138 flatcamGUI/ObjectUI.py:1117 +#: flatcamGUI/ObjectUI.py:1738 flatcamGUI/PreferencesUI.py:4005 +#: flatcamGUI/PreferencesUI.py:4969 flatcamTools/ToolNonCopperClear.py:399 #: flatcamTools/ToolTransform.py:29 msgid "Offset" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:640 flatcamEditors/FlatCAMGrbEditor.py:4961 -#: flatcamGUI/FlatCAMGUI.py:704 flatcamGUI/FlatCAMGUI.py:2126 +#: flatcamEditors/FlatCAMGeoEditor.py:640 flatcamEditors/FlatCAMGrbEditor.py:4980 +#: flatcamGUI/FlatCAMGUI.py:696 flatcamGUI/FlatCAMGUI.py:2128 msgid "Editor" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:672 flatcamEditors/FlatCAMGrbEditor.py:4993 +#: flatcamEditors/FlatCAMGeoEditor.py:672 flatcamEditors/FlatCAMGrbEditor.py:5012 msgid "Angle:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:674 flatcamEditors/FlatCAMGrbEditor.py:4995 -#: flatcamGUI/PreferencesUI.py:4773 flatcamTools/ToolTransform.py:64 +#: flatcamEditors/FlatCAMGeoEditor.py:674 flatcamEditors/FlatCAMGrbEditor.py:5014 +#: flatcamGUI/PreferencesUI.py:4882 flatcamTools/ToolTransform.py:64 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2629,98 +3163,105 @@ msgid "" "Negative numbers for CCW motion." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:688 flatcamEditors/FlatCAMGrbEditor.py:5009 +#: flatcamEditors/FlatCAMGeoEditor.py:688 flatcamEditors/FlatCAMGrbEditor.py:5028 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:711 flatcamEditors/FlatCAMGrbEditor.py:5032 +#: flatcamEditors/FlatCAMGeoEditor.py:711 flatcamEditors/FlatCAMGrbEditor.py:5051 +#: flatcamTools/ToolCalibrateExcellon.py:341 msgid "Angle X:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:713 flatcamEditors/FlatCAMGeoEditor.py:731 -#: flatcamEditors/FlatCAMGrbEditor.py:5034 flatcamEditors/FlatCAMGrbEditor.py:5052 -#: flatcamGUI/PreferencesUI.py:4792 flatcamGUI/PreferencesUI.py:4806 +#: flatcamEditors/FlatCAMGrbEditor.py:5053 flatcamEditors/FlatCAMGrbEditor.py:5071 +#: flatcamGUI/PreferencesUI.py:4901 flatcamGUI/PreferencesUI.py:4915 +#: flatcamTools/ToolCalibrateExcellon.py:343 flatcamTools/ToolCalibrateExcellon.py:356 msgid "" "Angle for Skew action, in degrees.\n" "Float number between -360 and 359." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:722 flatcamEditors/FlatCAMGrbEditor.py:5043 +#: flatcamEditors/FlatCAMGeoEditor.py:722 flatcamEditors/FlatCAMGrbEditor.py:5062 #: flatcamTools/ToolTransform.py:108 msgid "Skew X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:724 flatcamEditors/FlatCAMGeoEditor.py:742 -#: flatcamEditors/FlatCAMGrbEditor.py:5045 flatcamEditors/FlatCAMGrbEditor.py:5063 +#: flatcamEditors/FlatCAMGrbEditor.py:5064 flatcamEditors/FlatCAMGrbEditor.py:5082 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:729 flatcamEditors/FlatCAMGrbEditor.py:5050 +#: flatcamEditors/FlatCAMGeoEditor.py:729 flatcamEditors/FlatCAMGrbEditor.py:5069 +#: flatcamTools/ToolCalibrateExcellon.py:354 msgid "Angle Y:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:740 flatcamEditors/FlatCAMGrbEditor.py:5061 +#: flatcamEditors/FlatCAMGeoEditor.py:740 flatcamEditors/FlatCAMGrbEditor.py:5080 #: flatcamTools/ToolTransform.py:130 msgid "Skew Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:768 flatcamEditors/FlatCAMGrbEditor.py:5089 +#: flatcamEditors/FlatCAMGeoEditor.py:768 flatcamEditors/FlatCAMGrbEditor.py:5108 +#: flatcamTools/ToolCalibrateExcellon.py:308 msgid "Factor X:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:770 flatcamEditors/FlatCAMGrbEditor.py:5091 +#: flatcamEditors/FlatCAMGeoEditor.py:770 flatcamEditors/FlatCAMGrbEditor.py:5110 +#: flatcamTools/ToolCalibrateExcellon.py:310 msgid "Factor for Scale action over X axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:778 flatcamEditors/FlatCAMGrbEditor.py:5099 +#: flatcamEditors/FlatCAMGeoEditor.py:778 flatcamEditors/FlatCAMGrbEditor.py:5118 #: flatcamTools/ToolTransform.py:157 msgid "Scale X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:780 flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamEditors/FlatCAMGrbEditor.py:5118 +#: flatcamEditors/FlatCAMGrbEditor.py:5120 flatcamEditors/FlatCAMGrbEditor.py:5137 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" "the Scale reference checkbox state." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:785 flatcamEditors/FlatCAMGrbEditor.py:5106 +#: flatcamEditors/FlatCAMGeoEditor.py:785 flatcamEditors/FlatCAMGrbEditor.py:5125 +#: flatcamTools/ToolCalibrateExcellon.py:320 msgid "Factor Y:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:787 flatcamEditors/FlatCAMGrbEditor.py:5108 +#: flatcamEditors/FlatCAMGeoEditor.py:787 flatcamEditors/FlatCAMGrbEditor.py:5127 +#: flatcamTools/ToolCalibrateExcellon.py:322 msgid "Factor for Scale action over Y axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:795 flatcamEditors/FlatCAMGrbEditor.py:5116 +#: flatcamEditors/FlatCAMGeoEditor.py:795 flatcamEditors/FlatCAMGrbEditor.py:5135 #: flatcamTools/ToolTransform.py:178 msgid "Scale Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:804 flatcamEditors/FlatCAMGrbEditor.py:5125 -#: flatcamGUI/PreferencesUI.py:4842 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGeoEditor.py:804 flatcamEditors/FlatCAMGrbEditor.py:5144 +#: flatcamGUI/PreferencesUI.py:4951 flatcamTools/ToolTransform.py:191 msgid "Link" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:806 flatcamEditors/FlatCAMGrbEditor.py:5127 +#: flatcamEditors/FlatCAMGeoEditor.py:806 flatcamEditors/FlatCAMGrbEditor.py:5146 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:812 flatcamEditors/FlatCAMGrbEditor.py:5133 -#: flatcamGUI/PreferencesUI.py:4850 flatcamTools/ToolTransform.py:199 +#: flatcamEditors/FlatCAMGeoEditor.py:812 flatcamEditors/FlatCAMGrbEditor.py:5152 +#: flatcamGUI/PreferencesUI.py:4959 flatcamTools/ToolTransform.py:199 msgid "Scale Reference" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:814 flatcamEditors/FlatCAMGrbEditor.py:5135 +#: flatcamEditors/FlatCAMGeoEditor.py:814 flatcamEditors/FlatCAMGrbEditor.py:5154 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2728,62 +3269,62 @@ msgid "" "of the selected shapes when unchecked." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:842 flatcamEditors/FlatCAMGrbEditor.py:5164 +#: flatcamEditors/FlatCAMGeoEditor.py:842 flatcamEditors/FlatCAMGrbEditor.py:5183 msgid "Value X:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:844 flatcamEditors/FlatCAMGrbEditor.py:5166 +#: flatcamEditors/FlatCAMGeoEditor.py:844 flatcamEditors/FlatCAMGrbEditor.py:5185 msgid "Value for Offset action on X axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:852 flatcamEditors/FlatCAMGrbEditor.py:5174 +#: flatcamEditors/FlatCAMGeoEditor.py:852 flatcamEditors/FlatCAMGrbEditor.py:5193 #: flatcamTools/ToolTransform.py:226 msgid "Offset X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:854 flatcamEditors/FlatCAMGeoEditor.py:872 -#: flatcamEditors/FlatCAMGrbEditor.py:5176 flatcamEditors/FlatCAMGrbEditor.py:5194 +#: flatcamEditors/FlatCAMGrbEditor.py:5195 flatcamEditors/FlatCAMGrbEditor.py:5213 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:860 flatcamEditors/FlatCAMGrbEditor.py:5182 +#: flatcamEditors/FlatCAMGeoEditor.py:860 flatcamEditors/FlatCAMGrbEditor.py:5201 msgid "Value Y:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:862 flatcamEditors/FlatCAMGrbEditor.py:5184 +#: flatcamEditors/FlatCAMGeoEditor.py:862 flatcamEditors/FlatCAMGrbEditor.py:5203 msgid "Value for Offset action on Y axis." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:870 flatcamEditors/FlatCAMGrbEditor.py:5192 +#: flatcamEditors/FlatCAMGeoEditor.py:870 flatcamEditors/FlatCAMGrbEditor.py:5211 #: flatcamTools/ToolTransform.py:247 msgid "Offset Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:901 flatcamEditors/FlatCAMGrbEditor.py:5223 +#: flatcamEditors/FlatCAMGeoEditor.py:901 flatcamEditors/FlatCAMGrbEditor.py:5242 #: flatcamTools/ToolTransform.py:265 msgid "Flip on X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:903 flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:5225 flatcamEditors/FlatCAMGrbEditor.py:5233 +#: flatcamEditors/FlatCAMGrbEditor.py:5244 flatcamEditors/FlatCAMGrbEditor.py:5252 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:909 flatcamEditors/FlatCAMGrbEditor.py:5231 +#: flatcamEditors/FlatCAMGeoEditor.py:909 flatcamEditors/FlatCAMGrbEditor.py:5250 #: flatcamTools/ToolTransform.py:271 msgid "Flip on Y" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:918 flatcamEditors/FlatCAMGrbEditor.py:5240 +#: flatcamEditors/FlatCAMGeoEditor.py:918 flatcamEditors/FlatCAMGrbEditor.py:5259 msgid "Ref Pt" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:920 flatcamEditors/FlatCAMGrbEditor.py:5242 +#: flatcamEditors/FlatCAMGeoEditor.py:920 flatcamEditors/FlatCAMGrbEditor.py:5261 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2796,11 +3337,11 @@ msgid "" "Point Entry field and click Flip on X(Y)" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:932 flatcamEditors/FlatCAMGrbEditor.py:5254 +#: flatcamEditors/FlatCAMGeoEditor.py:932 flatcamEditors/FlatCAMGrbEditor.py:5273 msgid "Point:" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:934 flatcamEditors/FlatCAMGrbEditor.py:5256 +#: flatcamEditors/FlatCAMGeoEditor.py:934 flatcamEditors/FlatCAMGrbEditor.py:5275 #: flatcamTools/ToolTransform.py:300 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" @@ -2808,7 +3349,7 @@ msgid "" "the 'y' in (x, y) will be used when using Flip on Y." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:946 flatcamEditors/FlatCAMGrbEditor.py:5268 +#: flatcamEditors/FlatCAMGeoEditor.py:946 flatcamEditors/FlatCAMGrbEditor.py:5287 #: flatcamTools/ToolTransform.py:311 msgid "" "The point coordinates can be captured by\n" @@ -2816,439 +3357,439 @@ msgid "" "SHIFT key. Then click Add button to insert." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1062 flatcamEditors/FlatCAMGrbEditor.py:5394 +#: flatcamEditors/FlatCAMGeoEditor.py:1062 flatcamEditors/FlatCAMGrbEditor.py:5413 msgid "Transformation cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1263 flatcamEditors/FlatCAMGrbEditor.py:5640 +#: flatcamEditors/FlatCAMGeoEditor.py:1263 flatcamEditors/FlatCAMGrbEditor.py:5659 msgid "No shape selected. Please Select a shape to rotate!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1266 flatcamEditors/FlatCAMGrbEditor.py:5643 +#: flatcamEditors/FlatCAMGeoEditor.py:1266 flatcamEditors/FlatCAMGrbEditor.py:5662 #: flatcamTools/ToolTransform.py:545 msgid "Appying Rotate" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1295 flatcamEditors/FlatCAMGrbEditor.py:5677 +#: flatcamEditors/FlatCAMGeoEditor.py:1295 flatcamEditors/FlatCAMGrbEditor.py:5696 msgid "Done. Rotate completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1301 +#: flatcamEditors/FlatCAMGeoEditor.py:1300 msgid "Rotation action was not executed" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1313 flatcamEditors/FlatCAMGrbEditor.py:5698 +#: flatcamEditors/FlatCAMGeoEditor.py:1312 flatcamEditors/FlatCAMGrbEditor.py:5717 msgid "No shape selected. Please Select a shape to flip!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1316 flatcamEditors/FlatCAMGrbEditor.py:5701 +#: flatcamEditors/FlatCAMGeoEditor.py:1315 flatcamEditors/FlatCAMGrbEditor.py:5720 #: flatcamTools/ToolTransform.py:598 msgid "Applying Flip" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1347 flatcamEditors/FlatCAMGrbEditor.py:5741 +#: flatcamEditors/FlatCAMGeoEditor.py:1346 flatcamEditors/FlatCAMGrbEditor.py:5760 #: flatcamTools/ToolTransform.py:641 msgid "Flip on the Y axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1351 flatcamEditors/FlatCAMGrbEditor.py:5750 +#: flatcamEditors/FlatCAMGeoEditor.py:1350 flatcamEditors/FlatCAMGrbEditor.py:5769 #: flatcamTools/ToolTransform.py:651 msgid "Flip on the X axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1362 +#: flatcamEditors/FlatCAMGeoEditor.py:1360 msgid "Flip action was not executed" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1372 flatcamEditors/FlatCAMGrbEditor.py:5772 +#: flatcamEditors/FlatCAMGeoEditor.py:1370 flatcamEditors/FlatCAMGrbEditor.py:5791 msgid "No shape selected. Please Select a shape to shear/skew!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1375 flatcamEditors/FlatCAMGrbEditor.py:5775 +#: flatcamEditors/FlatCAMGeoEditor.py:1373 flatcamEditors/FlatCAMGrbEditor.py:5794 #: flatcamTools/ToolTransform.py:676 msgid "Applying Skew" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1401 flatcamEditors/FlatCAMGrbEditor.py:5812 +#: flatcamEditors/FlatCAMGeoEditor.py:1399 flatcamEditors/FlatCAMGrbEditor.py:5831 msgid "Skew on the X axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1404 flatcamEditors/FlatCAMGrbEditor.py:5815 +#: flatcamEditors/FlatCAMGeoEditor.py:1402 flatcamEditors/FlatCAMGrbEditor.py:5834 msgid "Skew on the Y axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1409 +#: flatcamEditors/FlatCAMGeoEditor.py:1406 msgid "Skew action was not executed" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1421 flatcamEditors/FlatCAMGrbEditor.py:5840 +#: flatcamEditors/FlatCAMGeoEditor.py:1418 flatcamEditors/FlatCAMGrbEditor.py:5859 msgid "No shape selected. Please Select a shape to scale!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1424 flatcamEditors/FlatCAMGrbEditor.py:5843 +#: flatcamEditors/FlatCAMGeoEditor.py:1421 flatcamEditors/FlatCAMGrbEditor.py:5862 #: flatcamTools/ToolTransform.py:728 msgid "Applying Scale" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1459 flatcamEditors/FlatCAMGrbEditor.py:5883 +#: flatcamEditors/FlatCAMGeoEditor.py:1456 flatcamEditors/FlatCAMGrbEditor.py:5902 msgid "Scale on the X axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1462 flatcamEditors/FlatCAMGrbEditor.py:5886 +#: flatcamEditors/FlatCAMGeoEditor.py:1459 flatcamEditors/FlatCAMGrbEditor.py:5905 msgid "Scale on the Y axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1466 +#: flatcamEditors/FlatCAMGeoEditor.py:1462 msgid "Scale action was not executed" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1476 flatcamEditors/FlatCAMGrbEditor.py:5904 +#: flatcamEditors/FlatCAMGeoEditor.py:1472 flatcamEditors/FlatCAMGrbEditor.py:5923 msgid "No shape selected. Please Select a shape to offset!" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1479 flatcamEditors/FlatCAMGrbEditor.py:5907 +#: flatcamEditors/FlatCAMGeoEditor.py:1475 flatcamEditors/FlatCAMGrbEditor.py:5926 #: flatcamTools/ToolTransform.py:783 msgid "Applying Offset" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1492 flatcamEditors/FlatCAMGrbEditor.py:5931 +#: flatcamEditors/FlatCAMGeoEditor.py:1488 flatcamEditors/FlatCAMGrbEditor.py:5950 msgid "Offset on the X axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1495 flatcamEditors/FlatCAMGrbEditor.py:5934 +#: flatcamEditors/FlatCAMGeoEditor.py:1491 flatcamEditors/FlatCAMGrbEditor.py:5953 msgid "Offset on the Y axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1500 +#: flatcamEditors/FlatCAMGeoEditor.py:1495 msgid "Offset action was not executed" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1504 flatcamEditors/FlatCAMGrbEditor.py:5943 +#: flatcamEditors/FlatCAMGeoEditor.py:1499 flatcamEditors/FlatCAMGrbEditor.py:5962 msgid "Rotate ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1505 flatcamEditors/FlatCAMGeoEditor.py:1560 -#: flatcamEditors/FlatCAMGeoEditor.py:1577 flatcamEditors/FlatCAMGrbEditor.py:5944 -#: flatcamEditors/FlatCAMGrbEditor.py:5999 flatcamEditors/FlatCAMGrbEditor.py:6016 +#: flatcamEditors/FlatCAMGeoEditor.py:1500 flatcamEditors/FlatCAMGeoEditor.py:1555 +#: flatcamEditors/FlatCAMGeoEditor.py:1572 flatcamEditors/FlatCAMGrbEditor.py:5963 +#: flatcamEditors/FlatCAMGrbEditor.py:6018 flatcamEditors/FlatCAMGrbEditor.py:6035 msgid "Enter an Angle Value (degrees)" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1514 flatcamEditors/FlatCAMGrbEditor.py:5953 +#: flatcamEditors/FlatCAMGeoEditor.py:1509 flatcamEditors/FlatCAMGrbEditor.py:5972 msgid "Geometry shape rotate done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1518 flatcamEditors/FlatCAMGrbEditor.py:5957 +#: flatcamEditors/FlatCAMGeoEditor.py:1513 flatcamEditors/FlatCAMGrbEditor.py:5976 msgid "Geometry shape rotate cancelled" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1523 flatcamEditors/FlatCAMGrbEditor.py:5962 +#: flatcamEditors/FlatCAMGeoEditor.py:1518 flatcamEditors/FlatCAMGrbEditor.py:5981 msgid "Offset on X axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1524 flatcamEditors/FlatCAMGeoEditor.py:1543 -#: flatcamEditors/FlatCAMGrbEditor.py:5963 flatcamEditors/FlatCAMGrbEditor.py:5982 +#: flatcamEditors/FlatCAMGeoEditor.py:1519 flatcamEditors/FlatCAMGeoEditor.py:1538 +#: flatcamEditors/FlatCAMGrbEditor.py:5982 flatcamEditors/FlatCAMGrbEditor.py:6001 msgid "Enter a distance Value" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1533 flatcamEditors/FlatCAMGrbEditor.py:5972 +#: flatcamEditors/FlatCAMGeoEditor.py:1528 flatcamEditors/FlatCAMGrbEditor.py:5991 msgid "Geometry shape offset on X axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1537 flatcamEditors/FlatCAMGrbEditor.py:5976 +#: flatcamEditors/FlatCAMGeoEditor.py:1532 flatcamEditors/FlatCAMGrbEditor.py:5995 msgid "Geometry shape offset X cancelled" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1542 flatcamEditors/FlatCAMGrbEditor.py:5981 +#: flatcamEditors/FlatCAMGeoEditor.py:1537 flatcamEditors/FlatCAMGrbEditor.py:6000 msgid "Offset on Y axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1552 flatcamEditors/FlatCAMGrbEditor.py:5991 +#: flatcamEditors/FlatCAMGeoEditor.py:1547 flatcamEditors/FlatCAMGrbEditor.py:6010 msgid "Geometry shape offset on Y axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1556 +#: flatcamEditors/FlatCAMGeoEditor.py:1551 msgid "Geometry shape offset on Y axis canceled" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1559 flatcamEditors/FlatCAMGrbEditor.py:5998 +#: flatcamEditors/FlatCAMGeoEditor.py:1554 flatcamEditors/FlatCAMGrbEditor.py:6017 msgid "Skew on X axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1569 flatcamEditors/FlatCAMGrbEditor.py:6008 +#: flatcamEditors/FlatCAMGeoEditor.py:1564 flatcamEditors/FlatCAMGrbEditor.py:6027 msgid "Geometry shape skew on X axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1573 +#: flatcamEditors/FlatCAMGeoEditor.py:1568 msgid "Geometry shape skew on X axis canceled" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1576 flatcamEditors/FlatCAMGrbEditor.py:6015 +#: flatcamEditors/FlatCAMGeoEditor.py:1571 flatcamEditors/FlatCAMGrbEditor.py:6034 msgid "Skew on Y axis ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1586 flatcamEditors/FlatCAMGrbEditor.py:6025 +#: flatcamEditors/FlatCAMGeoEditor.py:1581 flatcamEditors/FlatCAMGrbEditor.py:6044 msgid "Geometry shape skew on Y axis done" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1590 +#: flatcamEditors/FlatCAMGeoEditor.py:1585 msgid "Geometry shape skew on Y axis canceled" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1954 flatcamEditors/FlatCAMGeoEditor.py:2006 +#: flatcamEditors/FlatCAMGeoEditor.py:1949 flatcamEditors/FlatCAMGeoEditor.py:2001 #: flatcamEditors/FlatCAMGrbEditor.py:1397 flatcamEditors/FlatCAMGrbEditor.py:1467 msgid "Click on Center point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1961 flatcamEditors/FlatCAMGrbEditor.py:1405 +#: flatcamEditors/FlatCAMGeoEditor.py:1956 flatcamEditors/FlatCAMGrbEditor.py:1405 msgid "Click on Perimeter point to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:1991 +#: flatcamEditors/FlatCAMGeoEditor.py:1986 msgid "Done. Adding Circle completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2026 flatcamEditors/FlatCAMGrbEditor.py:1499 +#: flatcamEditors/FlatCAMGeoEditor.py:2021 flatcamEditors/FlatCAMGrbEditor.py:1499 msgid "Click on Start point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2028 flatcamEditors/FlatCAMGrbEditor.py:1501 +#: flatcamEditors/FlatCAMGeoEditor.py:2023 flatcamEditors/FlatCAMGrbEditor.py:1501 msgid "Click on Point3 ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2030 flatcamEditors/FlatCAMGrbEditor.py:1503 +#: flatcamEditors/FlatCAMGeoEditor.py:2025 flatcamEditors/FlatCAMGrbEditor.py:1503 msgid "Click on Stop point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2035 flatcamEditors/FlatCAMGrbEditor.py:1508 +#: flatcamEditors/FlatCAMGeoEditor.py:2030 flatcamEditors/FlatCAMGrbEditor.py:1508 msgid "Click on Stop point to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2037 flatcamEditors/FlatCAMGrbEditor.py:1510 +#: flatcamEditors/FlatCAMGeoEditor.py:2032 flatcamEditors/FlatCAMGrbEditor.py:1510 msgid "Click on Point2 to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2039 flatcamEditors/FlatCAMGrbEditor.py:1512 +#: flatcamEditors/FlatCAMGeoEditor.py:2034 flatcamEditors/FlatCAMGrbEditor.py:1512 msgid "Click on Center point to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2051 +#: flatcamEditors/FlatCAMGeoEditor.py:2046 #, python-format msgid "Direction: %s" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2061 flatcamEditors/FlatCAMGrbEditor.py:1534 +#: flatcamEditors/FlatCAMGeoEditor.py:2056 flatcamEditors/FlatCAMGrbEditor.py:1534 msgid "Mode: Start -> Stop -> Center. Click on Start point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2064 flatcamEditors/FlatCAMGrbEditor.py:1537 +#: flatcamEditors/FlatCAMGeoEditor.py:2059 flatcamEditors/FlatCAMGrbEditor.py:1537 msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2067 flatcamEditors/FlatCAMGrbEditor.py:1540 +#: flatcamEditors/FlatCAMGeoEditor.py:2062 flatcamEditors/FlatCAMGrbEditor.py:1540 msgid "Mode: Center -> Start -> Stop. Click on Center point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2206 +#: flatcamEditors/FlatCAMGeoEditor.py:2201 msgid "Done. Arc completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2225 flatcamEditors/FlatCAMGeoEditor.py:2279 -#: flatcamEditors/FlatCAMGeoEditor.py:2706 +#: flatcamEditors/FlatCAMGeoEditor.py:2220 flatcamEditors/FlatCAMGeoEditor.py:2274 +#: flatcamEditors/FlatCAMGeoEditor.py:2701 msgid "Click on 1st corner ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2231 +#: flatcamEditors/FlatCAMGeoEditor.py:2226 msgid "Click on opposite corner to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2260 +#: flatcamEditors/FlatCAMGeoEditor.py:2255 msgid "Done. Rectangle completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2286 +#: flatcamEditors/FlatCAMGeoEditor.py:2281 msgid "Click on next Point or click right mouse button to complete ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2315 +#: flatcamEditors/FlatCAMGeoEditor.py:2310 msgid "Done. Polygon completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2325 flatcamEditors/FlatCAMGeoEditor.py:2371 +#: flatcamEditors/FlatCAMGeoEditor.py:2320 flatcamEditors/FlatCAMGeoEditor.py:2366 #: flatcamEditors/FlatCAMGrbEditor.py:1086 flatcamEditors/FlatCAMGrbEditor.py:1288 msgid "Backtracked one point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2353 +#: flatcamEditors/FlatCAMGeoEditor.py:2348 msgid "Done. Path completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2471 +#: flatcamEditors/FlatCAMGeoEditor.py:2466 msgid "No shape selected. Select a shape to explode" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2504 +#: flatcamEditors/FlatCAMGeoEditor.py:2499 msgid "Done. Polygons exploded into lines." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2526 +#: flatcamEditors/FlatCAMGeoEditor.py:2521 msgid "MOVE: No shape selected. Select a shape to move" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2528 flatcamEditors/FlatCAMGeoEditor.py:2540 +#: flatcamEditors/FlatCAMGeoEditor.py:2523 flatcamEditors/FlatCAMGeoEditor.py:2535 msgid " MOVE: Click on reference point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2531 +#: flatcamEditors/FlatCAMGeoEditor.py:2526 msgid " Click on destination point ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2566 +#: flatcamEditors/FlatCAMGeoEditor.py:2561 msgid "Done. Geometry(s) Move completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2687 +#: flatcamEditors/FlatCAMGeoEditor.py:2682 msgid "Done. Geometry(s) Copy completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2723 +#: flatcamEditors/FlatCAMGeoEditor.py:2718 msgid "Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. Error" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2730 +#: flatcamEditors/FlatCAMGeoEditor.py:2725 msgid "No text to add." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2736 +#: flatcamEditors/FlatCAMGeoEditor.py:2731 msgid " Done. Adding Text completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2764 +#: flatcamEditors/FlatCAMGeoEditor.py:2759 msgid "Create buffer geometry ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2776 flatcamEditors/FlatCAMGeoEditor.py:2806 -#: flatcamEditors/FlatCAMGeoEditor.py:2836 +#: flatcamEditors/FlatCAMGeoEditor.py:2771 flatcamEditors/FlatCAMGeoEditor.py:2801 +#: flatcamEditors/FlatCAMGeoEditor.py:2831 msgid "Buffer cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2801 flatcamEditors/FlatCAMGrbEditor.py:4798 +#: flatcamEditors/FlatCAMGeoEditor.py:2796 flatcamEditors/FlatCAMGrbEditor.py:4817 msgid "Done. Buffer Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2831 +#: flatcamEditors/FlatCAMGeoEditor.py:2826 msgid "Done. Buffer Int Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2861 +#: flatcamEditors/FlatCAMGeoEditor.py:2856 msgid "Done. Buffer Ext Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2896 flatcamEditors/FlatCAMGrbEditor.py:2087 +#: flatcamEditors/FlatCAMGeoEditor.py:2891 flatcamEditors/FlatCAMGrbEditor.py:2087 msgid "Select a shape to act as deletion area ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2898 flatcamEditors/FlatCAMGeoEditor.py:2917 -#: flatcamEditors/FlatCAMGeoEditor.py:2923 flatcamEditors/FlatCAMGrbEditor.py:2089 +#: flatcamEditors/FlatCAMGeoEditor.py:2893 flatcamEditors/FlatCAMGeoEditor.py:2912 +#: flatcamEditors/FlatCAMGeoEditor.py:2918 flatcamEditors/FlatCAMGrbEditor.py:2089 msgid "Click to pick-up the erase shape..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2927 flatcamEditors/FlatCAMGrbEditor.py:2146 +#: flatcamEditors/FlatCAMGeoEditor.py:2922 flatcamEditors/FlatCAMGrbEditor.py:2146 msgid "Click to erase ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:2957 flatcamEditors/FlatCAMGrbEditor.py:2180 +#: flatcamEditors/FlatCAMGeoEditor.py:2952 flatcamEditors/FlatCAMGrbEditor.py:2180 msgid "Done. Eraser tool action completed." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3000 +#: flatcamEditors/FlatCAMGeoEditor.py:2995 msgid "Create Paint geometry ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3014 flatcamEditors/FlatCAMGrbEditor.py:2331 +#: flatcamEditors/FlatCAMGeoEditor.py:3009 flatcamEditors/FlatCAMGrbEditor.py:2331 msgid "Shape transformations ..." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3630 +#: flatcamEditors/FlatCAMGeoEditor.py:3625 msgid "Editing MultiGeo Geometry, tool" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:3632 +#: flatcamEditors/FlatCAMGeoEditor.py:3627 msgid "with diameter" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4034 +#: flatcamEditors/FlatCAMGeoEditor.py:4029 msgid "Copy cancelled. No shape selected." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4041 flatcamGUI/FlatCAMGUI.py:3096 -#: flatcamGUI/FlatCAMGUI.py:3143 flatcamGUI/FlatCAMGUI.py:3162 flatcamGUI/FlatCAMGUI.py:3297 -#: flatcamGUI/FlatCAMGUI.py:3310 flatcamGUI/FlatCAMGUI.py:3344 flatcamGUI/FlatCAMGUI.py:3406 +#: flatcamEditors/FlatCAMGeoEditor.py:4036 flatcamGUI/FlatCAMGUI.py:3160 +#: flatcamGUI/FlatCAMGUI.py:3207 flatcamGUI/FlatCAMGUI.py:3226 flatcamGUI/FlatCAMGUI.py:3361 +#: flatcamGUI/FlatCAMGUI.py:3374 flatcamGUI/FlatCAMGUI.py:3408 flatcamGUI/FlatCAMGUI.py:3470 msgid "Click on target point." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4335 flatcamEditors/FlatCAMGeoEditor.py:4370 +#: flatcamEditors/FlatCAMGeoEditor.py:4330 flatcamEditors/FlatCAMGeoEditor.py:4365 msgid "A selection of at least 2 geo items is required to do Intersection." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4456 flatcamEditors/FlatCAMGeoEditor.py:4560 +#: flatcamEditors/FlatCAMGeoEditor.py:4451 flatcamEditors/FlatCAMGeoEditor.py:4555 msgid "" "Negative buffer value is not accepted. Use Buffer interior to generate an 'inside' shape" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4466 flatcamEditors/FlatCAMGeoEditor.py:4519 -#: flatcamEditors/FlatCAMGeoEditor.py:4569 +#: flatcamEditors/FlatCAMGeoEditor.py:4461 flatcamEditors/FlatCAMGeoEditor.py:4514 +#: flatcamEditors/FlatCAMGeoEditor.py:4564 msgid "Nothing selected for buffering." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4471 flatcamEditors/FlatCAMGeoEditor.py:4523 -#: flatcamEditors/FlatCAMGeoEditor.py:4574 +#: flatcamEditors/FlatCAMGeoEditor.py:4466 flatcamEditors/FlatCAMGeoEditor.py:4518 +#: flatcamEditors/FlatCAMGeoEditor.py:4569 msgid "Invalid distance for buffering." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4495 flatcamEditors/FlatCAMGeoEditor.py:4594 +#: flatcamEditors/FlatCAMGeoEditor.py:4490 flatcamEditors/FlatCAMGeoEditor.py:4589 msgid "Failed, the result is empty. Choose a different buffer value." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4506 +#: flatcamEditors/FlatCAMGeoEditor.py:4501 msgid "Full buffer geometry created." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4512 +#: flatcamEditors/FlatCAMGeoEditor.py:4507 msgid "Negative buffer value is not accepted." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4543 +#: flatcamEditors/FlatCAMGeoEditor.py:4538 msgid "Failed, the result is empty. Choose a smaller buffer value." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4553 +#: flatcamEditors/FlatCAMGeoEditor.py:4548 msgid "Interior buffer geometry created." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4604 +#: flatcamEditors/FlatCAMGeoEditor.py:4599 msgid "Exterior buffer geometry created." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4613 +#: flatcamEditors/FlatCAMGeoEditor.py:4608 msgid "Nothing selected for painting." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4620 +#: flatcamEditors/FlatCAMGeoEditor.py:4615 msgid "Invalid value for" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4626 +#: flatcamEditors/FlatCAMGeoEditor.py:4621 #, python-format msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)." msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4685 +#: flatcamEditors/FlatCAMGeoEditor.py:4679 msgid "" "Could not do Paint. Try a different combination of parameters. Or a different method of " "Paint" msgstr "" -#: flatcamEditors/FlatCAMGeoEditor.py:4699 +#: flatcamEditors/FlatCAMGeoEditor.py:4693 msgid "Paint done." msgstr "" @@ -3374,73 +3915,73 @@ msgstr "" msgid "Done. Apertures copied." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2374 flatcamGUI/FlatCAMGUI.py:1889 -#: flatcamGUI/PreferencesUI.py:1659 +#: flatcamEditors/FlatCAMGrbEditor.py:2376 flatcamGUI/FlatCAMGUI.py:1900 +#: flatcamGUI/PreferencesUI.py:1683 msgid "Gerber Editor" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2394 flatcamGUI/ObjectUI.py:203 +#: flatcamEditors/FlatCAMGrbEditor.py:2396 flatcamGUI/ObjectUI.py:209 #: flatcamTools/ToolProperties.py:142 msgid "Apertures" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2396 flatcamGUI/ObjectUI.py:205 +#: flatcamEditors/FlatCAMGrbEditor.py:2398 flatcamGUI/ObjectUI.py:211 msgid "Apertures Table for the Gerber Object." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 flatcamEditors/FlatCAMGrbEditor.py:3732 -#: flatcamGUI/ObjectUI.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 flatcamEditors/FlatCAMGrbEditor.py:3751 +#: flatcamGUI/ObjectUI.py:244 msgid "Code" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 flatcamEditors/FlatCAMGrbEditor.py:3732 -#: flatcamGUI/ObjectUI.py:238 flatcamGUI/ObjectUI.py:1097 flatcamGUI/ObjectUI.py:1709 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 flatcamEditors/FlatCAMGrbEditor.py:3751 +#: flatcamGUI/ObjectUI.py:244 flatcamGUI/ObjectUI.py:1117 flatcamGUI/ObjectUI.py:1738 msgid "Type" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 flatcamEditors/FlatCAMGrbEditor.py:3732 -#: flatcamGUI/ObjectUI.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 flatcamEditors/FlatCAMGrbEditor.py:3751 +#: flatcamGUI/ObjectUI.py:244 msgid "Size" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2407 flatcamEditors/FlatCAMGrbEditor.py:3732 -#: flatcamGUI/ObjectUI.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:2409 flatcamEditors/FlatCAMGrbEditor.py:3751 +#: flatcamGUI/ObjectUI.py:244 msgid "Dim" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2411 flatcamGUI/ObjectUI.py:242 +#: flatcamEditors/FlatCAMGrbEditor.py:2413 flatcamGUI/ObjectUI.py:248 msgid "Index" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2413 flatcamEditors/FlatCAMGrbEditor.py:2440 -#: flatcamGUI/ObjectUI.py:244 +#: flatcamEditors/FlatCAMGrbEditor.py:2415 flatcamEditors/FlatCAMGrbEditor.py:2442 +#: flatcamGUI/ObjectUI.py:250 msgid "Aperture Code" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2415 flatcamGUI/ObjectUI.py:246 +#: flatcamEditors/FlatCAMGrbEditor.py:2417 flatcamGUI/ObjectUI.py:252 msgid "Type of aperture: circular, rectangle, macros etc" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2417 flatcamGUI/ObjectUI.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:2419 flatcamGUI/ObjectUI.py:254 msgid "Aperture Size:" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2419 flatcamGUI/ObjectUI.py:250 +#: flatcamEditors/FlatCAMGrbEditor.py:2421 flatcamGUI/ObjectUI.py:256 msgid "" "Aperture Dimensions:\n" " - (width, height) for R, O type.\n" " - (dia, nVertices) for P type" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2441 flatcamGUI/PreferencesUI.py:1689 +#: flatcamEditors/FlatCAMGrbEditor.py:2443 flatcamGUI/PreferencesUI.py:1713 msgid "Code for the new aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2448 +#: flatcamEditors/FlatCAMGrbEditor.py:2452 msgid "Aperture Size" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2450 +#: flatcamEditors/FlatCAMGrbEditor.py:2454 msgid "" "Size for the new aperture.\n" "If aperture type is 'R' or 'O' then\n" @@ -3449,11 +3990,11 @@ msgid "" "sqrt(width**2 + height**2)" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2462 +#: flatcamEditors/FlatCAMGrbEditor.py:2468 msgid "Aperture Type" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2464 +#: flatcamEditors/FlatCAMGrbEditor.py:2470 msgid "" "Select the type of new aperture. Can be:\n" "C = circular\n" @@ -3461,50 +4002,50 @@ msgid "" "O = oblong" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2475 +#: flatcamEditors/FlatCAMGrbEditor.py:2481 msgid "Aperture Dim" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2477 +#: flatcamEditors/FlatCAMGrbEditor.py:2483 msgid "" "Dimensions for the new aperture.\n" "Active only for rectangular apertures (type R).\n" "The format is (width, height)" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2486 +#: flatcamEditors/FlatCAMGrbEditor.py:2492 msgid "Add/Delete Aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2488 +#: flatcamEditors/FlatCAMGrbEditor.py:2494 msgid "Add/Delete an aperture in the aperture table" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2497 +#: flatcamEditors/FlatCAMGrbEditor.py:2503 msgid "Add a new aperture to the aperture list." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2502 +#: flatcamEditors/FlatCAMGrbEditor.py:2508 msgid "Delete a aperture in the aperture list" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2519 +#: flatcamEditors/FlatCAMGrbEditor.py:2525 msgid "Buffer Aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2521 +#: flatcamEditors/FlatCAMGrbEditor.py:2527 msgid "Buffer a aperture in the aperture list" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2531 flatcamGUI/PreferencesUI.py:1824 +#: flatcamEditors/FlatCAMGrbEditor.py:2540 flatcamGUI/PreferencesUI.py:1848 msgid "Buffer distance" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2532 +#: flatcamEditors/FlatCAMGrbEditor.py:2541 msgid "Buffer corner" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2534 +#: flatcamEditors/FlatCAMGrbEditor.py:2543 msgid "" "There are 3 types of corners:\n" " - 'Round': the corner is rounded.\n" @@ -3513,216 +4054,224 @@ msgid "" "corner" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2549 flatcamGUI/FlatCAMGUI.py:831 -#: flatcamGUI/FlatCAMGUI.py:1823 flatcamGUI/FlatCAMGUI.py:1875 flatcamGUI/FlatCAMGUI.py:1902 -#: flatcamGUI/FlatCAMGUI.py:2243 +#: flatcamEditors/FlatCAMGrbEditor.py:2558 flatcamGUI/FlatCAMGUI.py:826 +#: flatcamGUI/FlatCAMGUI.py:1834 flatcamGUI/FlatCAMGUI.py:1886 flatcamGUI/FlatCAMGUI.py:1913 +#: flatcamGUI/FlatCAMGUI.py:2248 msgid "Buffer" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2564 +#: flatcamEditors/FlatCAMGrbEditor.py:2573 msgid "Scale Aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2566 +#: flatcamEditors/FlatCAMGrbEditor.py:2575 msgid "Scale a aperture in the aperture list" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2574 flatcamGUI/PreferencesUI.py:1840 +#: flatcamEditors/FlatCAMGrbEditor.py:2583 flatcamGUI/PreferencesUI.py:1864 msgid "Scale factor" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2576 +#: flatcamEditors/FlatCAMGrbEditor.py:2585 msgid "" "The factor by which to scale the selected aperture.\n" "Values can be between 0.0000 and 999.9999" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2602 +#: flatcamEditors/FlatCAMGrbEditor.py:2613 msgid "Mark polygons" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2604 +#: flatcamEditors/FlatCAMGrbEditor.py:2615 msgid "Mark the polygon areas." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2612 +#: flatcamEditors/FlatCAMGrbEditor.py:2623 msgid "Area UPPER threshold" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2614 +#: flatcamEditors/FlatCAMGrbEditor.py:2625 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:2621 +#: flatcamEditors/FlatCAMGrbEditor.py:2632 msgid "Area LOWER threshold" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2623 +#: flatcamEditors/FlatCAMGrbEditor.py:2634 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:2637 +#: flatcamEditors/FlatCAMGrbEditor.py:2648 msgid "Mark" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2639 +#: flatcamEditors/FlatCAMGrbEditor.py:2650 msgid "Mark the polygons that fit within limits." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2645 +#: flatcamEditors/FlatCAMGrbEditor.py:2656 msgid "Delete all the marked polygons." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2649 flatcamGUI/PreferencesUI.py:683 +#: flatcamEditors/FlatCAMGrbEditor.py:2660 flatcamGUI/PreferencesUI.py:694 msgid "Clear" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2651 +#: flatcamEditors/FlatCAMGrbEditor.py:2662 msgid "Clear all the markings." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2671 flatcamGUI/FlatCAMGUI.py:821 -#: flatcamGUI/FlatCAMGUI.py:1823 flatcamGUI/FlatCAMGUI.py:2233 +#: flatcamEditors/FlatCAMGrbEditor.py:2682 flatcamGUI/FlatCAMGUI.py:816 +#: flatcamGUI/FlatCAMGUI.py:1834 flatcamGUI/FlatCAMGUI.py:2238 msgid "Add Pad Array" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2673 +#: flatcamEditors/FlatCAMGrbEditor.py:2684 msgid "Add an array of pads (linear or circular array)" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2679 +#: flatcamEditors/FlatCAMGrbEditor.py:2690 msgid "" "Select the type of pads array to create.\n" "It can be Linear X(Y) or Circular" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2690 flatcamGUI/PreferencesUI.py:1726 +#: flatcamEditors/FlatCAMGrbEditor.py:2701 flatcamGUI/PreferencesUI.py:1750 msgid "Nr of pads" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:2692 flatcamGUI/PreferencesUI.py:1728 +#: flatcamEditors/FlatCAMGrbEditor.py:2703 flatcamGUI/PreferencesUI.py:1752 msgid "Specify how many pads to be in the array." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3214 flatcamEditors/FlatCAMGrbEditor.py:3218 +#: flatcamEditors/FlatCAMGrbEditor.py:2752 +msgid "" +"Angle at which the linear array is placed.\n" +"The precision is of max 2 decimals.\n" +"Min value is: -359.99 degrees.\n" +"Max value is: 360.00 degrees." +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:3232 flatcamEditors/FlatCAMGrbEditor.py:3236 msgid "Aperture code value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3254 +#: flatcamEditors/FlatCAMGrbEditor.py:3272 msgid "" "Aperture dimensions value is missing or wrong format. Add it in format (width, height) " "and retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3267 +#: flatcamEditors/FlatCAMGrbEditor.py:3285 msgid "Aperture size value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3278 +#: flatcamEditors/FlatCAMGrbEditor.py:3296 msgid "Aperture already in the aperture table." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3286 +#: flatcamEditors/FlatCAMGrbEditor.py:3304 msgid "Added new aperture with code" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3315 +#: flatcamEditors/FlatCAMGrbEditor.py:3333 msgid " Select an aperture in Aperture Table" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3322 +#: flatcamEditors/FlatCAMGrbEditor.py:3341 msgid "Select an aperture in Aperture Table -->" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3346 +#: flatcamEditors/FlatCAMGrbEditor.py:3364 msgid "Deleted aperture with code" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:3858 +#: flatcamEditors/FlatCAMGrbEditor.py:3877 msgid "Adding geometry for aperture" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4041 +#: flatcamEditors/FlatCAMGrbEditor.py:4060 msgid "There are no Aperture definitions in the file. Aborting Gerber creation." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4051 +#: flatcamEditors/FlatCAMGrbEditor.py:4070 msgid "Creating Gerber." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4060 +#: flatcamEditors/FlatCAMGrbEditor.py:4079 msgid "Done. Gerber editing finished." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4077 +#: flatcamEditors/FlatCAMGrbEditor.py:4096 msgid "Cancelled. No aperture is selected" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4629 +#: flatcamEditors/FlatCAMGrbEditor.py:4648 msgid "Failed. No aperture geometry is selected." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4638 flatcamEditors/FlatCAMGrbEditor.py:4910 +#: flatcamEditors/FlatCAMGrbEditor.py:4657 flatcamEditors/FlatCAMGrbEditor.py:4929 msgid "Done. Apertures geometry deleted." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4781 +#: flatcamEditors/FlatCAMGrbEditor.py:4800 msgid "No aperture to buffer. Select at least one aperture and try again." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4794 +#: flatcamEditors/FlatCAMGrbEditor.py:4813 msgid "Failed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4813 +#: flatcamEditors/FlatCAMGrbEditor.py:4832 msgid "Scale factor value is missing or wrong format. Add it and retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4845 +#: flatcamEditors/FlatCAMGrbEditor.py:4864 msgid "No aperture to scale. Select at least one aperture and try again." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4861 +#: flatcamEditors/FlatCAMGrbEditor.py:4880 msgid "Done. Scale Tool completed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4899 +#: flatcamEditors/FlatCAMGrbEditor.py:4918 msgid "Polygons marked." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4902 +#: flatcamEditors/FlatCAMGrbEditor.py:4921 msgid "No polygons were marked. None fit within the limits." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:5681 +#: flatcamEditors/FlatCAMGrbEditor.py:5700 msgid "Rotation action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:5820 +#: flatcamEditors/FlatCAMGrbEditor.py:5839 msgid "Skew action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:5890 +#: flatcamEditors/FlatCAMGrbEditor.py:5909 msgid "Scale action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:5939 +#: flatcamEditors/FlatCAMGrbEditor.py:5958 msgid "Offset action was not executed." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:5995 +#: flatcamEditors/FlatCAMGrbEditor.py:6014 msgid "Geometry shape offset Y cancelled" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:6012 +#: flatcamEditors/FlatCAMGrbEditor.py:6031 msgid "Geometry shape skew X cancelled" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:6029 +#: flatcamEditors/FlatCAMGrbEditor.py:6048 msgid "Geometry shape skew Y cancelled" msgstr "" @@ -3766,8 +4315,8 @@ msgstr "" msgid "String to replace the one in the Find box throughout the text." msgstr "" -#: flatcamEditors/FlatCAMTextEditor.py:75 flatcamGUI/ObjectUI.py:1602 -#: flatcamGUI/PreferencesUI.py:3390 flatcamGUI/PreferencesUI.py:4273 +#: flatcamEditors/FlatCAMTextEditor.py:75 flatcamGUI/ObjectUI.py:1631 +#: flatcamGUI/PreferencesUI.py:3451 flatcamGUI/PreferencesUI.py:4380 msgid "All" msgstr "" @@ -3814,7 +4363,7 @@ msgid "Open file" msgstr "" #: flatcamEditors/FlatCAMTextEditor.py:196 flatcamEditors/FlatCAMTextEditor.py:201 -msgid "Export G-Code ..." +msgid "Export Code ..." msgstr "" #: flatcamEditors/FlatCAMTextEditor.py:204 @@ -3825,7 +4374,7 @@ msgstr "" msgid "Code Editor content copied to clipboard ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:50 flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:1846 +#: flatcamGUI/FlatCAMGUI.py:50 flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:1857 msgid "Toggle Panel" msgstr "" @@ -3877,7 +4426,7 @@ msgstr "" msgid "Will create a new, empty Document Object." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:96 flatcamGUI/FlatCAMGUI.py:3671 +#: flatcamGUI/FlatCAMGUI.py:96 flatcamGUI/FlatCAMGUI.py:3801 #: flatcamTools/ToolPcbWizard.py:61 flatcamTools/ToolPcbWizard.py:68 msgid "Open" msgstr "" @@ -3886,15 +4435,15 @@ msgstr "" msgid "Open &Project ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:106 flatcamGUI/FlatCAMGUI.py:3680 +#: flatcamGUI/FlatCAMGUI.py:106 flatcamGUI/FlatCAMGUI.py:3810 msgid "Open &Gerber ...\tCTRL+G" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:111 flatcamGUI/FlatCAMGUI.py:3685 +#: flatcamGUI/FlatCAMGUI.py:111 flatcamGUI/FlatCAMGUI.py:3815 msgid "Open &Excellon ...\tCTRL+E" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:115 flatcamGUI/FlatCAMGUI.py:3689 +#: flatcamGUI/FlatCAMGUI.py:115 flatcamGUI/FlatCAMGUI.py:3819 msgid "Open G-&Code ..." msgstr "" @@ -3914,20 +4463,20 @@ msgstr "" msgid "Scripting" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:135 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:2152 +#: flatcamGUI/FlatCAMGUI.py:135 flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:2154 msgid "New Script ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:136 flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:2153 +#: flatcamGUI/FlatCAMGUI.py:136 flatcamGUI/FlatCAMGUI.py:727 flatcamGUI/FlatCAMGUI.py:2155 msgid "Open Script ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:736 flatcamGUI/FlatCAMGUI.py:2154 -#: flatcamGUI/FlatCAMGUI.py:3660 +#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2156 +#: flatcamGUI/FlatCAMGUI.py:3790 msgid "Run Script ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:140 flatcamGUI/FlatCAMGUI.py:3662 +#: flatcamGUI/FlatCAMGUI.py:140 flatcamGUI/FlatCAMGUI.py:3792 msgid "" "Will run the opened Tcl Script thus\n" "enabling the automation of certain\n" @@ -4011,7 +4560,7 @@ msgstr "" msgid "Export Preferences to file ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:235 flatcamGUI/FlatCAMGUI.py:607 +#: flatcamGUI/FlatCAMGUI.py:235 flatcamGUI/FlatCAMGUI.py:599 msgid "Save" msgstr "" @@ -4031,7 +4580,7 @@ msgstr "" msgid "E&xit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:263 flatcamGUI/FlatCAMGUI.py:604 flatcamGUI/FlatCAMGUI.py:1923 +#: flatcamGUI/FlatCAMGUI.py:263 flatcamGUI/FlatCAMGUI.py:596 flatcamGUI/FlatCAMGUI.py:1934 msgid "Edit" msgstr "" @@ -4132,700 +4681,702 @@ msgstr "" msgid "&Preferences\tSHIFT+P" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:341 flatcamTools/ToolProperties.py:140 +#: flatcamGUI/FlatCAMGUI.py:344 flatcamTools/ToolProperties.py:140 msgid "Options" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:356 +#: flatcamGUI/FlatCAMGUI.py:346 msgid "&Rotate Selection\tSHIFT+(R)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:361 +#: flatcamGUI/FlatCAMGUI.py:351 msgid "&Skew on X axis\tSHIFT+X" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:363 +#: flatcamGUI/FlatCAMGUI.py:353 msgid "S&kew on Y axis\tSHIFT+Y" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:368 +#: flatcamGUI/FlatCAMGUI.py:358 msgid "Flip on &X axis\tX" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:370 +#: flatcamGUI/FlatCAMGUI.py:360 msgid "Flip on &Y axis\tY" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:375 +#: flatcamGUI/FlatCAMGUI.py:365 msgid "View source\tALT+S" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:382 -msgid "&View" +#: flatcamGUI/FlatCAMGUI.py:367 +msgid "Tools DataBase\tCTRL+D" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:383 +#: flatcamGUI/FlatCAMGUI.py:374 flatcamGUI/FlatCAMGUI.py:1870 +msgid "View" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:375 msgid "Enable all plots\tALT+1" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:385 +#: flatcamGUI/FlatCAMGUI.py:377 msgid "Disable all plots\tALT+2" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:387 +#: flatcamGUI/FlatCAMGUI.py:379 msgid "Disable non-selected\tALT+3" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:390 +#: flatcamGUI/FlatCAMGUI.py:382 msgid "&Zoom Fit\tV" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:391 +#: flatcamGUI/FlatCAMGUI.py:383 msgid "&Zoom In\t=" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:392 +#: flatcamGUI/FlatCAMGUI.py:384 msgid "&Zoom Out\t-" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:396 +#: flatcamGUI/FlatCAMGUI.py:388 msgid "Redraw All\tF5" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:400 +#: flatcamGUI/FlatCAMGUI.py:392 msgid "Toggle Code Editor\tSHIFT+E" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:403 +#: flatcamGUI/FlatCAMGUI.py:395 msgid "&Toggle FullScreen\tALT+F10" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:405 +#: flatcamGUI/FlatCAMGUI.py:397 msgid "&Toggle Plot Area\tCTRL+F10" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:407 +#: flatcamGUI/FlatCAMGUI.py:399 msgid "&Toggle Project/Sel/Tool\t`" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:411 +#: flatcamGUI/FlatCAMGUI.py:403 msgid "&Toggle Grid Snap\tG" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:413 +#: flatcamGUI/FlatCAMGUI.py:405 msgid "&Toggle Grid Lines\tALT+G" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:414 +#: flatcamGUI/FlatCAMGUI.py:406 msgid "&Toggle Axis\tSHIFT+G" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:417 +#: flatcamGUI/FlatCAMGUI.py:409 msgid "Toggle Workspace\tSHIFT+W" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:422 +#: flatcamGUI/FlatCAMGUI.py:414 msgid "Objects" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:433 -msgid "&Tool" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:435 +#: flatcamGUI/FlatCAMGUI.py:427 msgid "&Command Line\tS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:440 +#: flatcamGUI/FlatCAMGUI.py:432 msgid "Help" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:441 +#: flatcamGUI/FlatCAMGUI.py:433 msgid "Online Help\tF1" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:443 flatcamGUI/FlatCAMGUI.py:3975 -msgid "Bookmarks" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:449 +#: flatcamGUI/FlatCAMGUI.py:441 msgid "Report a bug" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:452 +#: flatcamGUI/FlatCAMGUI.py:444 msgid "Excellon Specification" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:454 +#: flatcamGUI/FlatCAMGUI.py:446 msgid "Gerber Specification" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:459 +#: flatcamGUI/FlatCAMGUI.py:451 msgid "Shortcuts List\tF3" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:460 +#: flatcamGUI/FlatCAMGUI.py:452 msgid "YouTube Channel\tF4" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:471 +#: flatcamGUI/FlatCAMGUI.py:463 msgid "Add Circle\tO" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:473 +#: flatcamGUI/FlatCAMGUI.py:465 msgid "Add Arc\tA" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:476 +#: flatcamGUI/FlatCAMGUI.py:468 msgid "Add Rectangle\tR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:479 +#: flatcamGUI/FlatCAMGUI.py:471 msgid "Add Polygon\tN" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:481 +#: flatcamGUI/FlatCAMGUI.py:473 msgid "Add Path\tP" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:483 +#: flatcamGUI/FlatCAMGUI.py:475 msgid "Add Text\tT" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:486 +#: flatcamGUI/FlatCAMGUI.py:478 msgid "Polygon Union\tU" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:488 +#: flatcamGUI/FlatCAMGUI.py:480 msgid "Polygon Intersection\tE" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:490 +#: flatcamGUI/FlatCAMGUI.py:482 msgid "Polygon Subtraction\tS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:494 +#: flatcamGUI/FlatCAMGUI.py:486 msgid "Cut Path\tX" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:496 +#: flatcamGUI/FlatCAMGUI.py:488 msgid "Copy Geom\tC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:498 +#: flatcamGUI/FlatCAMGUI.py:490 msgid "Delete Shape\tDEL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:501 flatcamGUI/FlatCAMGUI.py:583 +#: flatcamGUI/FlatCAMGUI.py:493 flatcamGUI/FlatCAMGUI.py:575 msgid "Move\tM" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:503 +#: flatcamGUI/FlatCAMGUI.py:495 msgid "Buffer Tool\tB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:506 +#: flatcamGUI/FlatCAMGUI.py:498 msgid "Paint Tool\tI" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:509 +#: flatcamGUI/FlatCAMGUI.py:501 msgid "Transform Tool\tALT+R" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:513 +#: flatcamGUI/FlatCAMGUI.py:505 msgid "Toggle Corner Snap\tK" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:519 +#: flatcamGUI/FlatCAMGUI.py:511 msgid ">Excellon Editor<" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:523 +#: flatcamGUI/FlatCAMGUI.py:515 msgid "Add Drill Array\tA" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:525 +#: flatcamGUI/FlatCAMGUI.py:517 msgid "Add Drill\tD" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:529 +#: flatcamGUI/FlatCAMGUI.py:521 msgid "Add Slot Array\tQ" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:531 +#: flatcamGUI/FlatCAMGUI.py:523 msgid "Add Slot\tW" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:535 +#: flatcamGUI/FlatCAMGUI.py:527 msgid "Resize Drill(S)\tR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:537 flatcamGUI/FlatCAMGUI.py:578 +#: flatcamGUI/FlatCAMGUI.py:529 flatcamGUI/FlatCAMGUI.py:570 msgid "Copy\tC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:539 flatcamGUI/FlatCAMGUI.py:580 +#: flatcamGUI/FlatCAMGUI.py:531 flatcamGUI/FlatCAMGUI.py:572 msgid "Delete\tDEL" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:544 +#: flatcamGUI/FlatCAMGUI.py:536 msgid "Move Drill(s)\tM" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:549 +#: flatcamGUI/FlatCAMGUI.py:541 msgid ">Gerber Editor<" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:553 +#: flatcamGUI/FlatCAMGUI.py:545 msgid "Add Pad\tP" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:555 +#: flatcamGUI/FlatCAMGUI.py:547 msgid "Add Pad Array\tA" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:557 +#: flatcamGUI/FlatCAMGUI.py:549 msgid "Add Track\tT" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:559 +#: flatcamGUI/FlatCAMGUI.py:551 msgid "Add Region\tN" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:563 +#: flatcamGUI/FlatCAMGUI.py:555 msgid "Poligonize\tALT+N" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:565 +#: flatcamGUI/FlatCAMGUI.py:557 msgid "Add SemiDisc\tE" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:566 +#: flatcamGUI/FlatCAMGUI.py:558 msgid "Add Disc\tD" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:568 +#: flatcamGUI/FlatCAMGUI.py:560 msgid "Buffer\tB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:569 +#: flatcamGUI/FlatCAMGUI.py:561 msgid "Scale\tS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:571 +#: flatcamGUI/FlatCAMGUI.py:563 msgid "Mark Area\tALT+A" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:573 +#: flatcamGUI/FlatCAMGUI.py:565 msgid "Eraser\tCTRL+E" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:575 +#: flatcamGUI/FlatCAMGUI.py:567 msgid "Transform\tALT+R" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:598 +#: flatcamGUI/FlatCAMGUI.py:590 msgid "Enable Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:599 +#: flatcamGUI/FlatCAMGUI.py:591 msgid "Disable Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:601 +#: flatcamGUI/FlatCAMGUI.py:593 msgid "Generate CNC" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:602 +#: flatcamGUI/FlatCAMGUI.py:594 msgid "View Source" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:610 flatcamGUI/FlatCAMGUI.py:1929 +#: flatcamGUI/FlatCAMGUI.py:602 flatcamGUI/FlatCAMGUI.py:1940 #: flatcamTools/ToolProperties.py:29 msgid "Properties" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:639 +#: flatcamGUI/FlatCAMGUI.py:631 msgid "File Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:643 +#: flatcamGUI/FlatCAMGUI.py:635 msgid "Edit Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:647 +#: flatcamGUI/FlatCAMGUI.py:639 msgid "View Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:651 +#: flatcamGUI/FlatCAMGUI.py:643 msgid "Shell Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:655 +#: flatcamGUI/FlatCAMGUI.py:647 msgid "Tools Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:659 +#: flatcamGUI/FlatCAMGUI.py:651 msgid "Excellon Editor Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:665 +#: flatcamGUI/FlatCAMGUI.py:657 msgid "Geometry Editor Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:669 +#: flatcamGUI/FlatCAMGUI.py:661 msgid "Gerber Editor Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:673 +#: flatcamGUI/FlatCAMGUI.py:665 msgid "Grid Toolbar" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2118 +#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2120 msgid "Open project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:2119 +#: flatcamGUI/FlatCAMGUI.py:687 flatcamGUI/FlatCAMGUI.py:2121 msgid "Save project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:700 flatcamGUI/FlatCAMGUI.py:2122 +#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:2124 msgid "New Blank Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:701 flatcamGUI/FlatCAMGUI.py:2123 +#: flatcamGUI/FlatCAMGUI.py:693 flatcamGUI/FlatCAMGUI.py:2125 msgid "New Blank Gerber" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2124 +#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:2126 msgid "New Blank Excellon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:706 flatcamGUI/FlatCAMGUI.py:2128 +#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:2130 msgid "Save Object and close the Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:711 flatcamGUI/FlatCAMGUI.py:2133 +#: flatcamGUI/FlatCAMGUI.py:703 flatcamGUI/FlatCAMGUI.py:2135 msgid "&Delete" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:713 flatcamGUI/FlatCAMGUI.py:1432 flatcamGUI/FlatCAMGUI.py:1620 -#: flatcamGUI/FlatCAMGUI.py:2135 flatcamTools/ToolDistance.py:30 +#: flatcamGUI/FlatCAMGUI.py:705 flatcamGUI/FlatCAMGUI.py:1432 flatcamGUI/FlatCAMGUI.py:1631 +#: flatcamGUI/FlatCAMGUI.py:2137 flatcamTools/ToolDistance.py:30 #: flatcamTools/ToolDistance.py:160 msgid "Distance Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2137 +#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2139 msgid "Distance Min Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:716 flatcamGUI/FlatCAMGUI.py:1428 flatcamGUI/FlatCAMGUI.py:2138 +#: flatcamGUI/FlatCAMGUI.py:708 flatcamGUI/FlatCAMGUI.py:1425 flatcamGUI/FlatCAMGUI.py:2140 +#: flatcamTools/ToolCalibrateExcellon.py:174 flatcamTools/ToolCalibrateExcellon.py:175 msgid "Set Origin" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:717 flatcamGUI/FlatCAMGUI.py:2139 +#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2141 msgid "Jump to Location" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:722 flatcamGUI/FlatCAMGUI.py:2142 +#: flatcamGUI/FlatCAMGUI.py:714 flatcamGUI/FlatCAMGUI.py:2144 msgid "&Replot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:723 flatcamGUI/FlatCAMGUI.py:2143 +#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2145 msgid "&Clear plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:724 flatcamGUI/FlatCAMGUI.py:1431 flatcamGUI/FlatCAMGUI.py:2144 +#: flatcamGUI/FlatCAMGUI.py:716 flatcamGUI/FlatCAMGUI.py:1428 flatcamGUI/FlatCAMGUI.py:2146 msgid "Zoom In" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:1431 flatcamGUI/FlatCAMGUI.py:2145 +#: flatcamGUI/FlatCAMGUI.py:717 flatcamGUI/FlatCAMGUI.py:1428 flatcamGUI/FlatCAMGUI.py:2147 msgid "Zoom Out" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:726 flatcamGUI/FlatCAMGUI.py:1430 flatcamGUI/FlatCAMGUI.py:1860 -#: flatcamGUI/FlatCAMGUI.py:2146 +#: flatcamGUI/FlatCAMGUI.py:718 flatcamGUI/FlatCAMGUI.py:1427 flatcamGUI/FlatCAMGUI.py:1871 +#: flatcamGUI/FlatCAMGUI.py:2148 msgid "Zoom Fit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:2151 +#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:2153 msgid "&Command Line" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:2157 +#: flatcamGUI/FlatCAMGUI.py:733 flatcamGUI/FlatCAMGUI.py:2159 msgid "2Sided Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/ObjectUI.py:551 flatcamTools/ToolCutOut.py:373 +#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/ObjectUI.py:557 flatcamTools/ToolCutOut.py:373 msgid "Cutout Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:743 flatcamGUI/FlatCAMGUI.py:2159 flatcamGUI/ObjectUI.py:535 -#: flatcamTools/ToolNonCopperClear.py:605 +#: flatcamGUI/FlatCAMGUI.py:735 flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/ObjectUI.py:541 +#: flatcamTools/ToolNonCopperClear.py:617 msgid "NCC Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:2163 +#: flatcamGUI/FlatCAMGUI.py:739 flatcamGUI/FlatCAMGUI.py:2165 msgid "Panel Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:2164 flatcamTools/ToolFilm.py:421 +#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:2166 flatcamTools/ToolFilm.py:421 msgid "Film Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:749 flatcamGUI/FlatCAMGUI.py:2166 -#: flatcamTools/ToolSolderPaste.py:457 +#: flatcamGUI/FlatCAMGUI.py:741 flatcamGUI/FlatCAMGUI.py:2168 +#: flatcamTools/ToolSolderPaste.py:509 msgid "SolderPaste Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:750 flatcamGUI/FlatCAMGUI.py:2167 flatcamTools/ToolSub.py:35 +#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2169 flatcamTools/ToolSub.py:35 msgid "Subtract Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:751 flatcamTools/ToolRulesCheck.py:587 +#: flatcamGUI/FlatCAMGUI.py:743 flatcamTools/ToolRulesCheck.py:587 msgid "Rules Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:1438 flatcamTools/ToolOptimal.py:34 -#: flatcamTools/ToolOptimal.py:278 +#: flatcamGUI/FlatCAMGUI.py:744 flatcamGUI/FlatCAMGUI.py:1443 flatcamTools/ToolOptimal.py:34 +#: flatcamTools/ToolOptimal.py:289 msgid "Optimal Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:756 flatcamGUI/FlatCAMGUI.py:1436 flatcamGUI/FlatCAMGUI.py:2172 +#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1441 flatcamGUI/FlatCAMGUI.py:2174 msgid "Calculators Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:762 flatcamGUI/FlatCAMGUI.py:781 flatcamGUI/FlatCAMGUI.py:819 -#: flatcamGUI/FlatCAMGUI.py:2176 flatcamGUI/FlatCAMGUI.py:2231 +#: flatcamGUI/FlatCAMGUI.py:750 flatcamGUI/FlatCAMGUI.py:1444 flatcamGUI/FlatCAMGUI.py:2176 +#: flatcamTools/ToolQRCode.py:43 flatcamTools/ToolQRCode.py:350 +msgid "QRCode Tool" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:752 flatcamGUI/FlatCAMGUI.py:2178 +#: flatcamTools/ToolCopperThieving.py:38 flatcamTools/ToolCopperThieving.py:265 +msgid "Copper Thieving Tool" +msgstr "" + +#: flatcamGUI/FlatCAMGUI.py:757 flatcamGUI/FlatCAMGUI.py:776 flatcamGUI/FlatCAMGUI.py:814 +#: flatcamGUI/FlatCAMGUI.py:2181 flatcamGUI/FlatCAMGUI.py:2236 msgid "Select" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:763 flatcamGUI/FlatCAMGUI.py:2177 +#: flatcamGUI/FlatCAMGUI.py:758 flatcamGUI/FlatCAMGUI.py:2182 msgid "Add Drill Hole" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:2179 +#: flatcamGUI/FlatCAMGUI.py:760 flatcamGUI/FlatCAMGUI.py:2184 msgid "Add Drill Hole Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:766 flatcamGUI/FlatCAMGUI.py:1705 flatcamGUI/FlatCAMGUI.py:1915 -#: flatcamGUI/FlatCAMGUI.py:2181 +#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:1716 flatcamGUI/FlatCAMGUI.py:1926 +#: flatcamGUI/FlatCAMGUI.py:2186 msgid "Add Slot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:768 flatcamGUI/FlatCAMGUI.py:1704 flatcamGUI/FlatCAMGUI.py:1916 -#: flatcamGUI/FlatCAMGUI.py:2183 +#: flatcamGUI/FlatCAMGUI.py:763 flatcamGUI/FlatCAMGUI.py:1715 flatcamGUI/FlatCAMGUI.py:1927 +#: flatcamGUI/FlatCAMGUI.py:2188 msgid "Add Slot Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:769 flatcamGUI/FlatCAMGUI.py:1918 flatcamGUI/FlatCAMGUI.py:2180 +#: flatcamGUI/FlatCAMGUI.py:764 flatcamGUI/FlatCAMGUI.py:1929 flatcamGUI/FlatCAMGUI.py:2185 msgid "Resize Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2186 +#: flatcamGUI/FlatCAMGUI.py:767 flatcamGUI/FlatCAMGUI.py:2191 msgid "Copy Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:773 flatcamGUI/FlatCAMGUI.py:2188 +#: flatcamGUI/FlatCAMGUI.py:768 flatcamGUI/FlatCAMGUI.py:2193 msgid "Delete Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:776 flatcamGUI/FlatCAMGUI.py:2191 +#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2196 msgid "Move Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2195 +#: flatcamGUI/FlatCAMGUI.py:777 flatcamGUI/FlatCAMGUI.py:2200 msgid "Add Circle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:783 flatcamGUI/FlatCAMGUI.py:2196 +#: flatcamGUI/FlatCAMGUI.py:778 flatcamGUI/FlatCAMGUI.py:2201 msgid "Add Arc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:785 flatcamGUI/FlatCAMGUI.py:2198 +#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2203 msgid "Add Rectangle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:788 flatcamGUI/FlatCAMGUI.py:2201 +#: flatcamGUI/FlatCAMGUI.py:783 flatcamGUI/FlatCAMGUI.py:2206 msgid "Add Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2203 +#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2208 msgid "Add Polygon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:791 flatcamGUI/FlatCAMGUI.py:2205 +#: flatcamGUI/FlatCAMGUI.py:786 flatcamGUI/FlatCAMGUI.py:2210 msgid "Add Text" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:792 flatcamGUI/FlatCAMGUI.py:2206 +#: flatcamGUI/FlatCAMGUI.py:787 flatcamGUI/FlatCAMGUI.py:2211 msgid "Add Buffer" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:793 flatcamGUI/FlatCAMGUI.py:2207 +#: flatcamGUI/FlatCAMGUI.py:788 flatcamGUI/FlatCAMGUI.py:2212 msgid "Paint Shape" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:794 flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:1877 -#: flatcamGUI/FlatCAMGUI.py:1905 flatcamGUI/FlatCAMGUI.py:2208 flatcamGUI/FlatCAMGUI.py:2247 +#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:831 flatcamGUI/FlatCAMGUI.py:1888 +#: flatcamGUI/FlatCAMGUI.py:1916 flatcamGUI/FlatCAMGUI.py:2213 flatcamGUI/FlatCAMGUI.py:2252 msgid "Eraser" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:797 flatcamGUI/FlatCAMGUI.py:2211 +#: flatcamGUI/FlatCAMGUI.py:792 flatcamGUI/FlatCAMGUI.py:2216 msgid "Polygon Union" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:798 flatcamGUI/FlatCAMGUI.py:2212 +#: flatcamGUI/FlatCAMGUI.py:793 flatcamGUI/FlatCAMGUI.py:2217 msgid "Polygon Explode" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2215 +#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2220 msgid "Polygon Intersection" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:2217 +#: flatcamGUI/FlatCAMGUI.py:798 flatcamGUI/FlatCAMGUI.py:2222 msgid "Polygon Subtraction" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:806 flatcamGUI/FlatCAMGUI.py:2220 +#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2225 msgid "Cut Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:807 +#: flatcamGUI/FlatCAMGUI.py:802 msgid "Copy Shape(s)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:810 +#: flatcamGUI/FlatCAMGUI.py:805 msgid "Delete Shape '-'" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:812 flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:1884 -#: flatcamGUI/FlatCAMGUI.py:1909 flatcamGUI/FlatCAMGUI.py:2225 flatcamGUI/FlatCAMGUI.py:2254 +#: flatcamGUI/FlatCAMGUI.py:807 flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:1895 +#: flatcamGUI/FlatCAMGUI.py:1920 flatcamGUI/FlatCAMGUI.py:2230 flatcamGUI/FlatCAMGUI.py:2259 msgid "Transformations" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:814 +#: flatcamGUI/FlatCAMGUI.py:809 msgid "Move Objects " msgstr "" -#: flatcamGUI/FlatCAMGUI.py:820 flatcamGUI/FlatCAMGUI.py:1824 flatcamGUI/FlatCAMGUI.py:2232 +#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1835 flatcamGUI/FlatCAMGUI.py:2237 msgid "Add Pad" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:822 flatcamGUI/FlatCAMGUI.py:1825 flatcamGUI/FlatCAMGUI.py:2234 +#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1836 flatcamGUI/FlatCAMGUI.py:2239 msgid "Add Track" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:823 flatcamGUI/FlatCAMGUI.py:1824 flatcamGUI/FlatCAMGUI.py:2235 +#: flatcamGUI/FlatCAMGUI.py:818 flatcamGUI/FlatCAMGUI.py:1835 flatcamGUI/FlatCAMGUI.py:2240 msgid "Add Region" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:825 flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2237 +#: flatcamGUI/FlatCAMGUI.py:820 flatcamGUI/FlatCAMGUI.py:1908 flatcamGUI/FlatCAMGUI.py:2242 msgid "Poligonize" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:1898 flatcamGUI/FlatCAMGUI.py:2239 +#: flatcamGUI/FlatCAMGUI.py:822 flatcamGUI/FlatCAMGUI.py:1909 flatcamGUI/FlatCAMGUI.py:2244 msgid "SemiDisc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:1899 flatcamGUI/FlatCAMGUI.py:2240 +#: flatcamGUI/FlatCAMGUI.py:823 flatcamGUI/FlatCAMGUI.py:1910 flatcamGUI/FlatCAMGUI.py:2245 msgid "Disc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:1904 flatcamGUI/FlatCAMGUI.py:2246 +#: flatcamGUI/FlatCAMGUI.py:829 flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2251 msgid "Mark Area" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:845 flatcamGUI/FlatCAMGUI.py:1824 flatcamGUI/FlatCAMGUI.py:1887 -#: flatcamGUI/FlatCAMGUI.py:1928 flatcamGUI/FlatCAMGUI.py:2256 flatcamTools/ToolMove.py:28 +#: flatcamGUI/FlatCAMGUI.py:840 flatcamGUI/FlatCAMGUI.py:1835 flatcamGUI/FlatCAMGUI.py:1898 +#: flatcamGUI/FlatCAMGUI.py:1939 flatcamGUI/FlatCAMGUI.py:2261 flatcamTools/ToolMove.py:28 msgid "Move" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:852 flatcamGUI/FlatCAMGUI.py:2262 +#: flatcamGUI/FlatCAMGUI.py:847 flatcamGUI/FlatCAMGUI.py:2267 msgid "Snap to grid" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2265 +#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2270 msgid "Grid X snapping distance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:860 flatcamGUI/FlatCAMGUI.py:2270 +#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2275 msgid "Grid Y snapping distance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:866 flatcamGUI/FlatCAMGUI.py:2276 +#: flatcamGUI/FlatCAMGUI.py:861 flatcamGUI/FlatCAMGUI.py:2281 msgid "" "When active, value on Grid_X\n" "is copied to the Grid_Y value." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2282 +#: flatcamGUI/FlatCAMGUI.py:867 flatcamGUI/FlatCAMGUI.py:2287 msgid "Snap to corner" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:2286 -#: flatcamGUI/PreferencesUI.py:320 +#: flatcamGUI/FlatCAMGUI.py:871 flatcamGUI/FlatCAMGUI.py:2291 +#: flatcamGUI/PreferencesUI.py:331 msgid "Max. magnet distance" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:1854 +#: flatcamGUI/FlatCAMGUI.py:893 flatcamGUI/FlatCAMGUI.py:1865 msgid "Project" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:910 +#: flatcamGUI/FlatCAMGUI.py:905 msgid "Selected" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:945 +#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:940 msgid "Plot Area" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:971 +#: flatcamGUI/FlatCAMGUI.py:967 msgid "General" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:980 -msgid "APP. DEFAULTS" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:981 -msgid "PROJ. OPTIONS " -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:993 flatcamTools/ToolDblSided.py:55 -#: flatcamTools/ToolOptimal.py:71 +#: flatcamGUI/FlatCAMGUI.py:982 flatcamTools/ToolCopperThieving.py:72 +#: flatcamTools/ToolDblSided.py:55 flatcamTools/ToolOptimal.py:71 +#: flatcamTools/ToolQRCode.py:77 msgid "GERBER" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1003 flatcamTools/ToolDblSided.py:79 +#: flatcamGUI/FlatCAMGUI.py:992 flatcamTools/ToolCalibrateExcellon.py:66 +#: flatcamTools/ToolCalibrateExcellon.py:402 flatcamTools/ToolDblSided.py:79 msgid "EXCELLON" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1013 flatcamTools/ToolDblSided.py:103 +#: flatcamGUI/FlatCAMGUI.py:1002 flatcamTools/ToolCalibrateExcellon.py:415 +#: flatcamTools/ToolDblSided.py:103 msgid "GEOMETRY" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1023 +#: flatcamGUI/FlatCAMGUI.py:1012 msgid "CNC-JOB" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1032 flatcamGUI/ObjectUI.py:524 +#: flatcamGUI/FlatCAMGUI.py:1021 flatcamGUI/ObjectUI.py:530 msgid "TOOLS" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1041 +#: flatcamGUI/FlatCAMGUI.py:1030 msgid "TOOLS 2" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1051 +#: flatcamGUI/FlatCAMGUI.py:1040 msgid "UTILITIES" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1068 +#: flatcamGUI/FlatCAMGUI.py:1057 msgid "Import Preferences" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1071 +#: flatcamGUI/FlatCAMGUI.py:1060 msgid "" "Import a full set of FlatCAM settings from a file\n" "previously saved on HDD.\n" @@ -4834,95 +5385,95 @@ msgid "" "on the first start. Do not delete that file." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1078 +#: flatcamGUI/FlatCAMGUI.py:1067 msgid "Export Preferences" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1081 +#: flatcamGUI/FlatCAMGUI.py:1070 msgid "" "Export a full set of FlatCAM settings in a file\n" "that is saved on HDD." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1086 +#: flatcamGUI/FlatCAMGUI.py:1075 msgid "Open Pref Folder" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1089 +#: flatcamGUI/FlatCAMGUI.py:1078 msgid "Open the folder where FlatCAM save the preferences files." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1100 +#: flatcamGUI/FlatCAMGUI.py:1089 msgid "" "Save the current settings in the 'current_defaults' file\n" "which is the file storing the working default preferences." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1425 +#: flatcamGUI/FlatCAMGUI.py:1422 msgid "SHOW SHORTCUT LIST" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1425 +#: flatcamGUI/FlatCAMGUI.py:1422 msgid "Switch to Project Tab" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1425 +#: flatcamGUI/FlatCAMGUI.py:1422 msgid "Switch to Selected Tab" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1426 +#: flatcamGUI/FlatCAMGUI.py:1423 msgid "Switch to Tool Tab" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "New Gerber" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "Edit Object (if selected)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1427 +#: flatcamGUI/FlatCAMGUI.py:1424 msgid "Jump to Coordinates" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "New Excellon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "Move Obj" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "New Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1428 +#: flatcamGUI/FlatCAMGUI.py:1425 msgid "Change Units" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1429 +#: flatcamGUI/FlatCAMGUI.py:1426 msgid "Open Properties Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1429 +#: flatcamGUI/FlatCAMGUI.py:1426 msgid "Rotate by 90 degree CW" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1429 +#: flatcamGUI/FlatCAMGUI.py:1426 msgid "Shell Toggle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1430 +#: flatcamGUI/FlatCAMGUI.py:1427 msgid "Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1431 +#: flatcamGUI/FlatCAMGUI.py:1428 msgid "Flip on X_axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1431 +#: flatcamGUI/FlatCAMGUI.py:1428 msgid "Flip on Y_axis" msgstr "" @@ -4930,6 +5481,10 @@ msgstr "" msgid "Copy Obj" msgstr "" +#: flatcamGUI/FlatCAMGUI.py:1431 +msgid "Open Tools Database" +msgstr "" + #: flatcamGUI/FlatCAMGUI.py:1432 msgid "Open Excellon File" msgstr "" @@ -4942,6 +5497,10 @@ msgstr "" msgid "New Project" msgstr "" +#: flatcamGUI/FlatCAMGUI.py:1433 flatcamTools/ToolPDF.py:42 +msgid "PDF Import Tool" +msgstr "" + #: flatcamGUI/FlatCAMGUI.py:1433 msgid "Save Project As" msgstr "" @@ -4950,457 +5509,449 @@ msgstr "" msgid "Toggle Plot Area" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1433 +#: flatcamGUI/FlatCAMGUI.py:1436 msgid "Copy Obj_Name" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1434 +#: flatcamGUI/FlatCAMGUI.py:1437 msgid "Toggle Code Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1434 +#: flatcamGUI/FlatCAMGUI.py:1437 msgid "Toggle the axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1434 flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1705 -#: flatcamGUI/FlatCAMGUI.py:1827 +#: flatcamGUI/FlatCAMGUI.py:1437 flatcamGUI/FlatCAMGUI.py:1629 flatcamGUI/FlatCAMGUI.py:1716 +#: flatcamGUI/FlatCAMGUI.py:1838 msgid "Distance Minimum Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1434 +#: flatcamGUI/FlatCAMGUI.py:1437 msgid "Open Preferences Window" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1435 +#: flatcamGUI/FlatCAMGUI.py:1438 msgid "Rotate by 90 degree CCW" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1435 +#: flatcamGUI/FlatCAMGUI.py:1438 msgid "Run a Script" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1435 +#: flatcamGUI/FlatCAMGUI.py:1438 msgid "Toggle the workspace" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1435 +#: flatcamGUI/FlatCAMGUI.py:1438 msgid "Skew on X axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1436 +#: flatcamGUI/FlatCAMGUI.py:1439 msgid "Skew on Y axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1436 +#: flatcamGUI/FlatCAMGUI.py:1441 msgid "2-Sided PCB Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1436 +#: flatcamGUI/FlatCAMGUI.py:1441 msgid "Transformations Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1437 +#: flatcamGUI/FlatCAMGUI.py:1442 msgid "Solder Paste Dispensing Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1438 +#: flatcamGUI/FlatCAMGUI.py:1443 msgid "Film PCB Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1438 +#: flatcamGUI/FlatCAMGUI.py:1443 msgid "Non-Copper Clearing Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1439 +#: flatcamGUI/FlatCAMGUI.py:1444 msgid "Paint Area Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1439 flatcamTools/ToolPDF.py:42 -msgid "PDF Import Tool" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:1439 +#: flatcamGUI/FlatCAMGUI.py:1444 msgid "Rules Check Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1440 +#: flatcamGUI/FlatCAMGUI.py:1445 msgid "View File Source" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1446 msgid "Cutout PCB Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1446 msgid "Enable all Plots" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1446 msgid "Disable all Plots" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1441 +#: flatcamGUI/FlatCAMGUI.py:1446 msgid "Disable Non-selected Plots" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamGUI/FlatCAMGUI.py:1447 msgid "Toggle Full Screen" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamGUI/FlatCAMGUI.py:1450 msgid "Abort current task (gracefully)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1442 +#: flatcamGUI/FlatCAMGUI.py:1453 msgid "Open Online Manual" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:1454 msgid "Open Online Tutorials" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:1454 msgid "Refresh Plots" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1443 flatcamTools/ToolSolderPaste.py:414 +#: flatcamGUI/FlatCAMGUI.py:1454 flatcamTools/ToolSolderPaste.py:466 msgid "Delete Object" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1443 +#: flatcamGUI/FlatCAMGUI.py:1454 msgid "Alternate: Delete Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1444 +#: flatcamGUI/FlatCAMGUI.py:1455 msgid "(left to Key_1)Toogle Notebook Area (Left Side)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1444 +#: flatcamGUI/FlatCAMGUI.py:1455 msgid "En(Dis)able Obj Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1445 +#: flatcamGUI/FlatCAMGUI.py:1456 msgid "Deselects all objects" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1459 +#: flatcamGUI/FlatCAMGUI.py:1470 msgid "Editor Shortcut list" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "GEOMETRY EDITOR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Draw an Arc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:1624 msgid "Copy Geo Item" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Within Add Arc will toogle the ARC direction: CW or CCW" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:1625 msgid "Polygon Intersection Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:1626 msgid "Geo Paint Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1615 flatcamGUI/FlatCAMGUI.py:1704 flatcamGUI/FlatCAMGUI.py:1824 +#: flatcamGUI/FlatCAMGUI.py:1626 flatcamGUI/FlatCAMGUI.py:1715 flatcamGUI/FlatCAMGUI.py:1835 msgid "Jump to Location (x, y)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:1626 msgid "Toggle Corner Snap" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:1626 msgid "Move Geo Item" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1616 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Within Add Arc will cycle through the ARC modes" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1616 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Draw a Polygon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1616 +#: flatcamGUI/FlatCAMGUI.py:1627 msgid "Draw a Circle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Draw a Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Draw Rectangle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Polygon Subtraction Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1617 +#: flatcamGUI/FlatCAMGUI.py:1628 msgid "Add Text Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Polygon Union Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Flip shape on X axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1618 +#: flatcamGUI/FlatCAMGUI.py:1629 msgid "Flip shape on Y axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1630 msgid "Skew shape on X axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1630 msgid "Skew shape on Y axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1619 +#: flatcamGUI/FlatCAMGUI.py:1630 msgid "Editor Transformation Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1620 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Offset shape on X axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1620 +#: flatcamGUI/FlatCAMGUI.py:1631 msgid "Offset shape on Y axis" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1621 flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:1829 +#: flatcamGUI/FlatCAMGUI.py:1632 flatcamGUI/FlatCAMGUI.py:1718 flatcamGUI/FlatCAMGUI.py:1840 msgid "Save Object and Exit Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1621 +#: flatcamGUI/FlatCAMGUI.py:1632 msgid "Polygon Cut Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1622 +#: flatcamGUI/FlatCAMGUI.py:1633 msgid "Rotate Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1622 +#: flatcamGUI/FlatCAMGUI.py:1633 msgid "Finish drawing for certain tools" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1622 flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:1827 +#: flatcamGUI/FlatCAMGUI.py:1633 flatcamGUI/FlatCAMGUI.py:1718 flatcamGUI/FlatCAMGUI.py:1838 msgid "Abort and return to Select" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1623 flatcamGUI/FlatCAMGUI.py:2223 +#: flatcamGUI/FlatCAMGUI.py:1634 flatcamGUI/FlatCAMGUI.py:2228 msgid "Delete Shape" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1703 +#: flatcamGUI/FlatCAMGUI.py:1714 msgid "EXCELLON EDITOR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1703 +#: flatcamGUI/FlatCAMGUI.py:1714 msgid "Copy Drill(s)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1703 flatcamGUI/FlatCAMGUI.py:1912 +#: flatcamGUI/FlatCAMGUI.py:1714 flatcamGUI/FlatCAMGUI.py:1923 msgid "Add Drill" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1704 +#: flatcamGUI/FlatCAMGUI.py:1715 msgid "Move Drill(s)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1705 +#: flatcamGUI/FlatCAMGUI.py:1716 msgid "Add a new Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:1717 msgid "Delete Drill(s)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1706 +#: flatcamGUI/FlatCAMGUI.py:1717 msgid "Alternate: Delete Tool(s)" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1823 +#: flatcamGUI/FlatCAMGUI.py:1834 msgid "GERBER EDITOR" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1823 +#: flatcamGUI/FlatCAMGUI.py:1834 msgid "Add Disc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1823 +#: flatcamGUI/FlatCAMGUI.py:1834 msgid "Add SemiDisc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1825 +#: flatcamGUI/FlatCAMGUI.py:1836 msgid "Within Track & Region Tools will cycle in REVERSE the bend modes" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1826 +#: flatcamGUI/FlatCAMGUI.py:1837 msgid "Within Track & Region Tools will cycle FORWARD the bend modes" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1827 +#: flatcamGUI/FlatCAMGUI.py:1838 msgid "Alternate: Delete Apertures" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1828 +#: flatcamGUI/FlatCAMGUI.py:1839 msgid "Eraser Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1829 flatcamGUI/PreferencesUI.py:1851 +#: flatcamGUI/FlatCAMGUI.py:1840 flatcamGUI/PreferencesUI.py:1875 msgid "Mark Area Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1829 +#: flatcamGUI/FlatCAMGUI.py:1840 msgid "Poligonize Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1829 +#: flatcamGUI/FlatCAMGUI.py:1840 msgid "Transformation Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1845 +#: flatcamGUI/FlatCAMGUI.py:1856 msgid "Toggle Visibility" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1849 +#: flatcamGUI/FlatCAMGUI.py:1860 msgid "New" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1850 +#: flatcamGUI/FlatCAMGUI.py:1861 msgid "Geometry" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1852 flatcamTools/ToolFilm.py:329 +#: flatcamGUI/FlatCAMGUI.py:1863 flatcamTools/ToolFilm.py:329 msgid "Excellon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1857 +#: flatcamGUI/FlatCAMGUI.py:1868 msgid "Grids" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1859 -msgid "View" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:1861 +#: flatcamGUI/FlatCAMGUI.py:1872 msgid "Clear Plot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1862 +#: flatcamGUI/FlatCAMGUI.py:1873 msgid "Replot" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1865 +#: flatcamGUI/FlatCAMGUI.py:1876 msgid "Geo Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1866 +#: flatcamGUI/FlatCAMGUI.py:1877 msgid "Path" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1867 +#: flatcamGUI/FlatCAMGUI.py:1878 msgid "Rectangle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1869 +#: flatcamGUI/FlatCAMGUI.py:1880 msgid "Circle" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1870 +#: flatcamGUI/FlatCAMGUI.py:1881 msgid "Polygon" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1871 +#: flatcamGUI/FlatCAMGUI.py:1882 msgid "Arc" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1880 +#: flatcamGUI/FlatCAMGUI.py:1891 msgid "Union" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1881 +#: flatcamGUI/FlatCAMGUI.py:1892 msgid "Intersection" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1882 +#: flatcamGUI/FlatCAMGUI.py:1893 msgid "Subtraction" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1883 flatcamGUI/ObjectUI.py:1604 -#: flatcamGUI/PreferencesUI.py:3392 +#: flatcamGUI/FlatCAMGUI.py:1894 flatcamGUI/ObjectUI.py:1633 +#: flatcamGUI/PreferencesUI.py:3453 msgid "Cut" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1890 +#: flatcamGUI/FlatCAMGUI.py:1901 msgid "Pad" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1891 +#: flatcamGUI/FlatCAMGUI.py:1902 msgid "Pad Array" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1894 +#: flatcamGUI/FlatCAMGUI.py:1905 msgid "Track" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1895 +#: flatcamGUI/FlatCAMGUI.py:1906 msgid "Region" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1911 +#: flatcamGUI/FlatCAMGUI.py:1922 msgid "Exc Editor" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1941 +#: flatcamGUI/FlatCAMGUI.py:1952 msgid "" "Relative neasurement.\n" "Reference is last click position" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:1947 +#: flatcamGUI/FlatCAMGUI.py:1958 msgid "" "Absolute neasurement.\n" "Reference is (X=0, Y= 0) position" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2064 +#: flatcamGUI/FlatCAMGUI.py:2066 msgid "Lock Toolbars" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2158 +#: flatcamGUI/FlatCAMGUI.py:2160 msgid "&Cutout Tool" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2194 +#: flatcamGUI/FlatCAMGUI.py:2199 msgid "Select 'Esc'" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2221 +#: flatcamGUI/FlatCAMGUI.py:2226 msgid "Copy Objects" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2228 +#: flatcamGUI/FlatCAMGUI.py:2233 msgid "Move Objects" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2710 +#: flatcamGUI/FlatCAMGUI.py:2773 msgid "" "Please first select a geometry item to be cutted\n" "then select the geometry item that will be cutted\n" @@ -5408,164 +5959,87 @@ msgid "" "the toolbar button." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2717 flatcamGUI/FlatCAMGUI.py:2860 flatcamGUI/FlatCAMGUI.py:2919 -#: flatcamGUI/FlatCAMGUI.py:2939 +#: flatcamGUI/FlatCAMGUI.py:2780 flatcamGUI/FlatCAMGUI.py:2924 flatcamGUI/FlatCAMGUI.py:2983 +#: flatcamGUI/FlatCAMGUI.py:3003 msgid "Warning" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2855 +#: flatcamGUI/FlatCAMGUI.py:2919 msgid "" "Please select geometry items \n" "on which to perform Intersection Tool." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2914 +#: flatcamGUI/FlatCAMGUI.py:2978 msgid "" "Please select geometry items \n" "on which to perform Substraction Tool." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:2934 +#: flatcamGUI/FlatCAMGUI.py:2998 msgid "" "Please select geometry items \n" "on which to perform union." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3018 flatcamGUI/FlatCAMGUI.py:3236 +#: flatcamGUI/FlatCAMGUI.py:3082 flatcamGUI/FlatCAMGUI.py:3300 msgid "Cancelled. Nothing selected to delete." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3103 flatcamGUI/FlatCAMGUI.py:3304 +#: flatcamGUI/FlatCAMGUI.py:3167 flatcamGUI/FlatCAMGUI.py:3368 msgid "Cancelled. Nothing selected to copy." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3150 flatcamGUI/FlatCAMGUI.py:3351 +#: flatcamGUI/FlatCAMGUI.py:3214 flatcamGUI/FlatCAMGUI.py:3415 msgid "Cancelled. Nothing selected to move." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3377 +#: flatcamGUI/FlatCAMGUI.py:3441 msgid "New Tool ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3378 flatcamTools/ToolNonCopperClear.py:556 -#: flatcamTools/ToolPaint.py:470 flatcamTools/ToolSolderPaste.py:464 +#: flatcamGUI/FlatCAMGUI.py:3442 flatcamTools/ToolNonCopperClear.py:568 +#: flatcamTools/ToolPaint.py:470 flatcamTools/ToolSolderPaste.py:516 msgid "Enter a Tool Diameter" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3394 +#: flatcamGUI/FlatCAMGUI.py:3458 msgid "Adding Tool cancelled ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3437 +#: flatcamGUI/FlatCAMGUI.py:3501 msgid "Distance Tool exit..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3543 +#: flatcamGUI/FlatCAMGUI.py:3655 msgid "Application is saving the project. Please wait ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3581 flatcamGUI/FlatCAMGUI.py:3588 +#: flatcamGUI/FlatCAMGUI.py:3711 flatcamGUI/FlatCAMGUI.py:3718 msgid "Idle." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3617 +#: flatcamGUI/FlatCAMGUI.py:3747 msgid "Application started ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3618 +#: flatcamGUI/FlatCAMGUI.py:3748 msgid "Hello!" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3674 +#: flatcamGUI/FlatCAMGUI.py:3804 msgid "Open Project ..." msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3699 +#: flatcamGUI/FlatCAMGUI.py:3829 msgid "Exit" msgstr "" -#: flatcamGUI/FlatCAMGUI.py:3748 flatcamGUI/FlatCAMGUI.py:3775 -msgid "Title" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3749 flatcamGUI/FlatCAMGUI.py:3779 -msgid "Web Link" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3753 -msgid "" -"Index.\n" -"The rows in gray color will populate the Bookmarks menu.\n" -"The number of gray colored rows is set in Preferences." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3757 -msgid "" -"Description of the link that is set as an menu action.\n" -"Try to keep it short because it is installed as a menu item." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3760 -msgid "Web Link. E.g: https://your_website.org " -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3769 -msgid "New Bookmark" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3788 -msgid "Add Entry" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3789 -msgid "Remove Entry" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3790 -msgid "Export List" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3791 -msgid "Import List" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3926 -msgid "This bookmark can not be removed" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:3982 -msgid "FlatCAM bookmarks export cancelled." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4002 flatcamGUI/FlatCAMGUI.py:4037 -msgid "Could not load bookmarks file." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4013 -msgid "Failed to write bookmarks to file." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4016 -msgid "Exported bookmarks to" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4022 -msgid "Import FlatCAM Bookmarks" -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4029 -msgid "FlatCAM bookmarks import cancelled." -msgstr "" - -#: flatcamGUI/FlatCAMGUI.py:4045 -msgid "Imported Bookmarks from" -msgstr "" - -#: flatcamGUI/ObjectUI.py:32 +#: flatcamGUI/ObjectUI.py:38 msgid "FlatCAM Object" msgstr "" -#: flatcamGUI/ObjectUI.py:59 +#: flatcamGUI/ObjectUI.py:65 msgid "" "BASIC is suitable for a beginner. Many parameters\n" "are hidden from the user in this mode.\n" @@ -5576,124 +6050,120 @@ msgid "" "'APP. LEVEL' radio button." msgstr "" -#: flatcamGUI/ObjectUI.py:87 +#: flatcamGUI/ObjectUI.py:93 msgid "Change the size of the object." msgstr "" -#: flatcamGUI/ObjectUI.py:93 +#: flatcamGUI/ObjectUI.py:99 msgid "Factor" msgstr "" -#: flatcamGUI/ObjectUI.py:95 +#: flatcamGUI/ObjectUI.py:101 msgid "" "Factor by which to multiply\n" "geometric features of this object." msgstr "" -#: flatcamGUI/ObjectUI.py:108 +#: flatcamGUI/ObjectUI.py:114 msgid "Perform scaling operation." msgstr "" -#: flatcamGUI/ObjectUI.py:119 +#: flatcamGUI/ObjectUI.py:125 msgid "Change the position of this object." msgstr "" -#: flatcamGUI/ObjectUI.py:124 +#: flatcamGUI/ObjectUI.py:130 msgid "Vector" msgstr "" -#: flatcamGUI/ObjectUI.py:126 +#: flatcamGUI/ObjectUI.py:132 msgid "" "Amount by which to move the object\n" "in the x and y axes in (x, y) format." msgstr "" -#: flatcamGUI/ObjectUI.py:134 +#: flatcamGUI/ObjectUI.py:140 msgid "Perform the offset operation." msgstr "" -#: flatcamGUI/ObjectUI.py:151 +#: flatcamGUI/ObjectUI.py:157 msgid "Gerber Object" msgstr "" -#: flatcamGUI/ObjectUI.py:161 flatcamGUI/ObjectUI.py:655 flatcamGUI/ObjectUI.py:1039 -#: flatcamGUI/ObjectUI.py:1588 flatcamGUI/PreferencesUI.py:1190 -#: flatcamGUI/PreferencesUI.py:1890 flatcamGUI/PreferencesUI.py:2901 -#: flatcamGUI/PreferencesUI.py:3366 +#: flatcamGUI/ObjectUI.py:167 flatcamGUI/ObjectUI.py:661 flatcamGUI/ObjectUI.py:1059 +#: flatcamGUI/ObjectUI.py:1617 flatcamGUI/PreferencesUI.py:1214 +#: flatcamGUI/PreferencesUI.py:1914 flatcamGUI/PreferencesUI.py:2942 +#: flatcamGUI/PreferencesUI.py:3427 msgid "Plot Options" msgstr "" -#: flatcamGUI/ObjectUI.py:167 flatcamGUI/ObjectUI.py:656 flatcamGUI/PreferencesUI.py:1197 -#: flatcamGUI/PreferencesUI.py:1902 +#: flatcamGUI/ObjectUI.py:173 flatcamGUI/ObjectUI.py:662 flatcamGUI/PreferencesUI.py:1221 +#: flatcamGUI/PreferencesUI.py:1926 flatcamGUI/PreferencesUI.py:5818 +#: flatcamTools/ToolCopperThieving.py:188 msgid "Solid" msgstr "" -#: flatcamGUI/ObjectUI.py:169 flatcamGUI/PreferencesUI.py:1199 +#: flatcamGUI/ObjectUI.py:175 flatcamGUI/PreferencesUI.py:1223 msgid "Solid color polygons." msgstr "" -#: flatcamGUI/ObjectUI.py:175 flatcamGUI/PreferencesUI.py:1204 +#: flatcamGUI/ObjectUI.py:181 flatcamGUI/PreferencesUI.py:1228 msgid "M-Color" msgstr "" -#: flatcamGUI/ObjectUI.py:177 flatcamGUI/PreferencesUI.py:1206 +#: flatcamGUI/ObjectUI.py:183 flatcamGUI/PreferencesUI.py:1230 msgid "Draw polygons in different colors." msgstr "" -#: flatcamGUI/ObjectUI.py:183 flatcamGUI/ObjectUI.py:694 flatcamGUI/PreferencesUI.py:1211 -#: flatcamGUI/PreferencesUI.py:1896 flatcamGUI/PreferencesUI.py:2905 +#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:700 flatcamGUI/PreferencesUI.py:1235 +#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2946 msgid "Plot" msgstr "" -#: flatcamGUI/ObjectUI.py:185 flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1085 -#: flatcamGUI/ObjectUI.py:1698 flatcamGUI/PreferencesUI.py:1213 -#: flatcamGUI/PreferencesUI.py:2907 flatcamGUI/PreferencesUI.py:3377 +#: flatcamGUI/ObjectUI.py:191 flatcamGUI/ObjectUI.py:702 flatcamGUI/ObjectUI.py:1105 +#: flatcamGUI/ObjectUI.py:1727 flatcamGUI/PreferencesUI.py:1237 +#: flatcamGUI/PreferencesUI.py:2948 flatcamGUI/PreferencesUI.py:3438 msgid "Plot (show) this object." msgstr "" -#: flatcamGUI/ObjectUI.py:193 flatcamGUI/ObjectUI.py:667 flatcamGUI/ObjectUI.py:1045 -#: flatcamGUI/ObjectUI.py:1618 flatcamGUI/ObjectUI.py:1879 flatcamGUI/ObjectUI.py:1931 +#: flatcamGUI/ObjectUI.py:199 flatcamGUI/ObjectUI.py:673 flatcamGUI/ObjectUI.py:1065 +#: flatcamGUI/ObjectUI.py:1647 flatcamGUI/ObjectUI.py:1928 flatcamGUI/ObjectUI.py:1980 msgid "Name" msgstr "" -#: flatcamGUI/ObjectUI.py:214 +#: flatcamGUI/ObjectUI.py:220 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "When unchecked, it will delete all mark shapes\n" "that are drawn on canvas." msgstr "" -#: flatcamGUI/ObjectUI.py:224 +#: flatcamGUI/ObjectUI.py:230 msgid "Mark All" msgstr "" -#: flatcamGUI/ObjectUI.py:226 +#: flatcamGUI/ObjectUI.py:232 msgid "" "When checked it will display all the apertures.\n" "When unchecked, it will delete all mark shapes\n" "that are drawn on canvas." msgstr "" -#: flatcamGUI/ObjectUI.py:254 +#: flatcamGUI/ObjectUI.py:260 msgid "Mark the aperture instances on canvas." msgstr "" -#: flatcamGUI/ObjectUI.py:263 flatcamGUI/PreferencesUI.py:1290 +#: flatcamGUI/ObjectUI.py:269 flatcamGUI/PreferencesUI.py:1314 msgid "Isolation Routing" msgstr "" -#: flatcamGUI/ObjectUI.py:265 flatcamGUI/PreferencesUI.py:1292 +#: flatcamGUI/ObjectUI.py:271 flatcamGUI/PreferencesUI.py:1316 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." msgstr "" -#: flatcamGUI/ObjectUI.py:280 flatcamGUI/PreferencesUI.py:1464 -#: flatcamGUI/PreferencesUI.py:3711 flatcamTools/ToolNonCopperClear.py:208 -msgid "Tool Type" -msgstr "" - -#: flatcamGUI/ObjectUI.py:282 flatcamGUI/PreferencesUI.py:1466 +#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:1490 msgid "" "Choose what tool to use for Gerber isolation:\n" "'Circular' or 'V-shape'.\n" @@ -5701,44 +6171,36 @@ msgid "" "diameter will depend on the chosen cut depth." msgstr "" -#: flatcamGUI/ObjectUI.py:294 flatcamGUI/ObjectUI.py:1258 flatcamGUI/PreferencesUI.py:1478 -#: flatcamGUI/PreferencesUI.py:3730 flatcamTools/ToolNonCopperClear.py:235 +#: flatcamGUI/ObjectUI.py:300 flatcamGUI/ObjectUI.py:1267 flatcamGUI/PreferencesUI.py:1502 +#: flatcamGUI/PreferencesUI.py:3818 flatcamTools/ToolNonCopperClear.py:231 msgid "V-Tip Dia" msgstr "" -#: flatcamGUI/ObjectUI.py:296 flatcamGUI/ObjectUI.py:1261 flatcamGUI/PreferencesUI.py:1480 -#: flatcamGUI/PreferencesUI.py:3732 flatcamTools/ToolNonCopperClear.py:237 +#: flatcamGUI/ObjectUI.py:302 flatcamGUI/ObjectUI.py:1270 flatcamGUI/PreferencesUI.py:1504 +#: flatcamGUI/PreferencesUI.py:3820 flatcamTools/ToolNonCopperClear.py:233 msgid "The tip diameter for V-Shape Tool" msgstr "" -#: flatcamGUI/ObjectUI.py:307 flatcamGUI/ObjectUI.py:1273 flatcamGUI/PreferencesUI.py:1490 -#: flatcamGUI/PreferencesUI.py:3742 flatcamTools/ToolNonCopperClear.py:245 +#: flatcamGUI/ObjectUI.py:313 flatcamGUI/ObjectUI.py:1282 flatcamGUI/PreferencesUI.py:1514 +#: flatcamGUI/PreferencesUI.py:3830 flatcamTools/ToolNonCopperClear.py:242 msgid "V-Tip Angle" msgstr "" -#: flatcamGUI/ObjectUI.py:309 flatcamGUI/ObjectUI.py:1276 flatcamGUI/PreferencesUI.py:1492 -#: flatcamGUI/PreferencesUI.py:3744 flatcamTools/ToolNonCopperClear.py:247 +#: flatcamGUI/ObjectUI.py:315 flatcamGUI/ObjectUI.py:1285 flatcamGUI/PreferencesUI.py:1516 +#: flatcamGUI/PreferencesUI.py:3832 flatcamTools/ToolNonCopperClear.py:244 msgid "" "The tip angle for V-Shape Tool.\n" "In degree." msgstr "" -#: flatcamGUI/ObjectUI.py:321 flatcamGUI/ObjectUI.py:749 flatcamGUI/ObjectUI.py:1289 -#: flatcamGUI/PreferencesUI.py:1503 flatcamGUI/PreferencesUI.py:2145 -#: flatcamGUI/PreferencesUI.py:2967 flatcamGUI/PreferencesUI.py:3796 -#: flatcamGUI/PreferencesUI.py:4670 flatcamTools/ToolCalculators.py:110 -#: flatcamTools/ToolNonCopperClear.py:291 -msgid "Cut Z" -msgstr "" - -#: flatcamGUI/ObjectUI.py:323 flatcamGUI/ObjectUI.py:1292 flatcamGUI/PreferencesUI.py:1505 -#: flatcamGUI/PreferencesUI.py:2969 +#: flatcamGUI/ObjectUI.py:329 flatcamGUI/ObjectUI.py:1301 flatcamGUI/PreferencesUI.py:1529 +#: flatcamGUI/PreferencesUI.py:3010 msgid "" "Cutting depth (negative)\n" "below the copper surface." msgstr "" -#: flatcamGUI/ObjectUI.py:337 +#: flatcamGUI/ObjectUI.py:343 msgid "" "Diameter of the cutting tool.\n" "If you want to have an isolation path\n" @@ -5747,21 +6209,21 @@ msgid "" "this parameter." msgstr "" -#: flatcamGUI/ObjectUI.py:353 flatcamGUI/PreferencesUI.py:1314 +#: flatcamGUI/ObjectUI.py:359 flatcamGUI/PreferencesUI.py:1338 msgid "# Passes" msgstr "" -#: flatcamGUI/ObjectUI.py:355 flatcamGUI/PreferencesUI.py:1316 +#: flatcamGUI/ObjectUI.py:361 flatcamGUI/PreferencesUI.py:1340 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." msgstr "" -#: flatcamGUI/ObjectUI.py:365 flatcamGUI/PreferencesUI.py:1325 +#: flatcamGUI/ObjectUI.py:371 flatcamGUI/PreferencesUI.py:1349 msgid "Pass overlap" msgstr "" -#: flatcamGUI/ObjectUI.py:367 flatcamGUI/PreferencesUI.py:1327 +#: flatcamGUI/ObjectUI.py:373 flatcamGUI/PreferencesUI.py:1351 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -5769,68 +6231,66 @@ msgid "" "A value here of 0.25 means an overlap of 25%% from the tool diameter found above." msgstr "" -#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:1340 -#: flatcamGUI/PreferencesUI.py:3344 flatcamGUI/PreferencesUI.py:3756 -#: flatcamTools/ToolNonCopperClear.py:160 +#: flatcamGUI/ObjectUI.py:387 flatcamGUI/PreferencesUI.py:1364 +#: flatcamGUI/PreferencesUI.py:3405 flatcamGUI/PreferencesUI.py:3875 +#: flatcamTools/ToolNonCopperClear.py:162 msgid "Milling Type" msgstr "" -#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:1342 -#: flatcamGUI/PreferencesUI.py:3346 +#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:1366 +#: flatcamGUI/PreferencesUI.py:3407 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" "- conventional / useful when there is no backlash compensation" msgstr "" -#: flatcamGUI/ObjectUI.py:387 flatcamGUI/PreferencesUI.py:1347 -#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:3763 -#: flatcamTools/ToolNonCopperClear.py:167 +#: flatcamGUI/ObjectUI.py:393 flatcamGUI/PreferencesUI.py:1371 +#: flatcamGUI/PreferencesUI.py:3411 flatcamGUI/PreferencesUI.py:3882 +#: flatcamTools/ToolNonCopperClear.py:169 msgid "Climb" msgstr "" -#: flatcamGUI/ObjectUI.py:388 flatcamGUI/PreferencesUI.py:1348 -#: flatcamGUI/PreferencesUI.py:3351 flatcamGUI/PreferencesUI.py:3764 -#: flatcamTools/ToolNonCopperClear.py:168 -msgid "Conv." +#: flatcamGUI/ObjectUI.py:394 +msgid "Conventional" msgstr "" -#: flatcamGUI/ObjectUI.py:393 flatcamGUI/PreferencesUI.py:1352 +#: flatcamGUI/ObjectUI.py:399 flatcamGUI/PreferencesUI.py:1376 msgid "Combine Passes" msgstr "" -#: flatcamGUI/ObjectUI.py:395 flatcamGUI/PreferencesUI.py:1354 +#: flatcamGUI/ObjectUI.py:401 flatcamGUI/PreferencesUI.py:1378 msgid "Combine all passes into one object" msgstr "" -#: flatcamGUI/ObjectUI.py:399 flatcamGUI/PreferencesUI.py:1445 +#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:1469 msgid "\"Follow\"" msgstr "" -#: flatcamGUI/ObjectUI.py:400 flatcamGUI/PreferencesUI.py:1447 +#: flatcamGUI/ObjectUI.py:406 flatcamGUI/PreferencesUI.py:1471 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" "the middle of the trace." msgstr "" -#: flatcamGUI/ObjectUI.py:405 +#: flatcamGUI/ObjectUI.py:411 msgid "Except" msgstr "" -#: flatcamGUI/ObjectUI.py:406 +#: flatcamGUI/ObjectUI.py:412 msgid "" "When the isolation geometry is generated,\n" "by checking this, the area of the object bellow\n" "will be subtracted from the isolation geometry." msgstr "" -#: flatcamGUI/ObjectUI.py:431 flatcamTools/ToolCutOut.py:72 +#: flatcamGUI/ObjectUI.py:437 flatcamTools/ToolCutOut.py:72 #: flatcamTools/ToolNonCopperClear.py:82 flatcamTools/ToolPaint.py:85 msgid "Obj Type" msgstr "" -#: flatcamGUI/ObjectUI.py:433 +#: flatcamGUI/ObjectUI.py:439 msgid "" "Specify the type of object to be excepted from isolation.\n" "It can be of type: Gerber or Geometry.\n" @@ -5838,21 +6298,21 @@ msgid "" "of objects that will populate the 'Object' combobox." msgstr "" -#: flatcamGUI/ObjectUI.py:446 flatcamTools/ToolCutOut.py:88 +#: flatcamGUI/ObjectUI.py:452 flatcamTools/ToolCutOut.py:88 #: flatcamTools/ToolNonCopperClear.py:100 flatcamTools/ToolPaint.py:103 #: flatcamTools/ToolPanelize.py:80 flatcamTools/ToolPanelize.py:93 msgid "Object" msgstr "" -#: flatcamGUI/ObjectUI.py:447 +#: flatcamGUI/ObjectUI.py:453 msgid "Object whose area will be removed from isolation geometry." msgstr "" -#: flatcamGUI/ObjectUI.py:451 +#: flatcamGUI/ObjectUI.py:457 msgid "Generate Isolation Geometry" msgstr "" -#: flatcamGUI/ObjectUI.py:453 +#: flatcamGUI/ObjectUI.py:459 msgid "" "Create a Geometry object with toolpaths to cut \n" "isolation outside, inside or on both sides of the\n" @@ -5865,11 +6325,11 @@ msgid "" "diameter above." msgstr "" -#: flatcamGUI/ObjectUI.py:465 +#: flatcamGUI/ObjectUI.py:471 msgid "Buffer Solid Geometry" msgstr "" -#: flatcamGUI/ObjectUI.py:467 +#: flatcamGUI/ObjectUI.py:473 msgid "" "This button is shown only when the Gerber file\n" "is loaded without buffering.\n" @@ -5877,77 +6337,77 @@ msgid "" "required for isolation." msgstr "" -#: flatcamGUI/ObjectUI.py:474 +#: flatcamGUI/ObjectUI.py:480 msgid "FULL Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:476 +#: flatcamGUI/ObjectUI.py:482 msgid "" "Create the Geometry Object\n" "for isolation routing. It contains both\n" "the interiors and exteriors geometry." msgstr "" -#: flatcamGUI/ObjectUI.py:485 +#: flatcamGUI/ObjectUI.py:491 msgid "Ext Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:487 +#: flatcamGUI/ObjectUI.py:493 msgid "" "Create the Geometry Object\n" "for isolation routing containing\n" "only the exteriors geometry." msgstr "" -#: flatcamGUI/ObjectUI.py:494 +#: flatcamGUI/ObjectUI.py:500 msgid "Int Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:496 +#: flatcamGUI/ObjectUI.py:502 msgid "" "Create the Geometry Object\n" "for isolation routing containing\n" "only the interiors geometry." msgstr "" -#: flatcamGUI/ObjectUI.py:528 +#: flatcamGUI/ObjectUI.py:534 msgid "Clear N-copper" msgstr "" -#: flatcamGUI/ObjectUI.py:530 flatcamGUI/PreferencesUI.py:3694 +#: flatcamGUI/ObjectUI.py:536 flatcamGUI/PreferencesUI.py:3782 msgid "" "Create a Geometry object with\n" "toolpaths to cut all non-copper regions." msgstr "" -#: flatcamGUI/ObjectUI.py:537 flatcamTools/ToolNonCopperClear.py:473 +#: flatcamGUI/ObjectUI.py:543 flatcamTools/ToolNonCopperClear.py:481 msgid "" "Create the Geometry Object\n" "for non-copper routing." msgstr "" -#: flatcamGUI/ObjectUI.py:544 +#: flatcamGUI/ObjectUI.py:550 msgid "Board cutout" msgstr "" -#: flatcamGUI/ObjectUI.py:546 flatcamGUI/PreferencesUI.py:3969 +#: flatcamGUI/ObjectUI.py:552 flatcamGUI/PreferencesUI.py:4076 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" "the original board." msgstr "" -#: flatcamGUI/ObjectUI.py:553 +#: flatcamGUI/ObjectUI.py:559 msgid "" "Generate the geometry for\n" "the board cutout." msgstr "" -#: flatcamGUI/ObjectUI.py:560 flatcamGUI/PreferencesUI.py:1359 +#: flatcamGUI/ObjectUI.py:566 flatcamGUI/PreferencesUI.py:1383 msgid "Non-copper regions" msgstr "" -#: flatcamGUI/ObjectUI.py:562 flatcamGUI/PreferencesUI.py:1361 +#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:1385 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -5956,12 +6416,12 @@ msgid "" "copper from a specified region." msgstr "" -#: flatcamGUI/ObjectUI.py:572 flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:1373 -#: flatcamGUI/PreferencesUI.py:1401 +#: flatcamGUI/ObjectUI.py:578 flatcamGUI/ObjectUI.py:614 flatcamGUI/PreferencesUI.py:1397 +#: flatcamGUI/PreferencesUI.py:1425 msgid "Boundary Margin" msgstr "" -#: flatcamGUI/ObjectUI.py:574 flatcamGUI/PreferencesUI.py:1375 +#: flatcamGUI/ObjectUI.py:580 flatcamGUI/PreferencesUI.py:1399 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -5969,39 +6429,40 @@ msgid "" "distance." msgstr "" -#: flatcamGUI/ObjectUI.py:589 flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:1388 -#: flatcamGUI/PreferencesUI.py:1414 +#: flatcamGUI/ObjectUI.py:595 flatcamGUI/ObjectUI.py:628 flatcamGUI/PreferencesUI.py:1412 +#: flatcamGUI/PreferencesUI.py:1438 msgid "Rounded Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:591 flatcamGUI/PreferencesUI.py:1390 +#: flatcamGUI/ObjectUI.py:597 flatcamGUI/PreferencesUI.py:1414 msgid "Resulting geometry will have rounded corners." msgstr "" -#: flatcamGUI/ObjectUI.py:595 flatcamGUI/ObjectUI.py:631 flatcamTools/ToolCutOut.py:208 +#: flatcamGUI/ObjectUI.py:601 flatcamGUI/ObjectUI.py:637 flatcamTools/ToolCutOut.py:208 #: flatcamTools/ToolCutOut.py:228 flatcamTools/ToolCutOut.py:279 -#: flatcamTools/ToolSolderPaste.py:126 +#: flatcamTools/ToolSolderPaste.py:133 msgid "Generate Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:600 flatcamGUI/PreferencesUI.py:1395 -#: flatcamTools/ToolPanelize.py:94 +#: flatcamGUI/ObjectUI.py:606 flatcamGUI/PreferencesUI.py:1419 +#: flatcamGUI/PreferencesUI.py:5647 flatcamTools/ToolPanelize.py:94 +#: flatcamTools/ToolQRCode.py:192 msgid "Bounding Box" msgstr "" -#: flatcamGUI/ObjectUI.py:602 +#: flatcamGUI/ObjectUI.py:608 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." msgstr "" -#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:1403 +#: flatcamGUI/ObjectUI.py:616 flatcamGUI/PreferencesUI.py:1427 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." msgstr "" -#: flatcamGUI/ObjectUI.py:624 flatcamGUI/PreferencesUI.py:1416 +#: flatcamGUI/ObjectUI.py:630 flatcamGUI/PreferencesUI.py:1440 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -6009,31 +6470,31 @@ msgid "" "the margin." msgstr "" -#: flatcamGUI/ObjectUI.py:633 +#: flatcamGUI/ObjectUI.py:639 msgid "Generate the Geometry object." msgstr "" -#: flatcamGUI/ObjectUI.py:645 +#: flatcamGUI/ObjectUI.py:651 msgid "Excellon Object" msgstr "" -#: flatcamGUI/ObjectUI.py:658 +#: flatcamGUI/ObjectUI.py:664 msgid "Solid circles." msgstr "" -#: flatcamGUI/ObjectUI.py:706 +#: flatcamGUI/ObjectUI.py:712 msgid "Drills" msgstr "" -#: flatcamGUI/ObjectUI.py:706 flatcamGUI/PreferencesUI.py:2741 +#: flatcamGUI/ObjectUI.py:712 flatcamGUI/PreferencesUI.py:2782 msgid "Slots" msgstr "" -#: flatcamGUI/ObjectUI.py:707 flatcamGUI/PreferencesUI.py:2346 +#: flatcamGUI/ObjectUI.py:713 flatcamGUI/PreferencesUI.py:2387 msgid "Offset Z" msgstr "" -#: flatcamGUI/ObjectUI.py:711 +#: flatcamGUI/ObjectUI.py:717 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -6042,116 +6503,111 @@ msgid "" "Here the tools are selected for G-code generation." msgstr "" -#: flatcamGUI/ObjectUI.py:716 flatcamGUI/ObjectUI.py:1110 flatcamTools/ToolPaint.py:137 +#: flatcamGUI/ObjectUI.py:722 flatcamGUI/ObjectUI.py:1130 flatcamTools/ToolPaint.py:137 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" "is the cut width into the material." msgstr "" -#: flatcamGUI/ObjectUI.py:719 +#: flatcamGUI/ObjectUI.py:725 msgid "" "The number of Drill holes. Holes that are drilled with\n" "a drill bit." msgstr "" -#: flatcamGUI/ObjectUI.py:722 +#: flatcamGUI/ObjectUI.py:728 msgid "" "The number of Slot holes. Holes that are created by\n" "milling them with an endmill bit." msgstr "" -#: flatcamGUI/ObjectUI.py:725 flatcamGUI/PreferencesUI.py:2348 +#: flatcamGUI/ObjectUI.py:731 flatcamGUI/PreferencesUI.py:2389 msgid "" "Some drill bits (the larger ones) need to drill deeper\n" "to create the desired exit hole diameter due of the tip shape.\n" "The value here can compensate the Cut Z parameter." msgstr "" -#: flatcamGUI/ObjectUI.py:729 +#: flatcamGUI/ObjectUI.py:735 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." msgstr "" -#: flatcamGUI/ObjectUI.py:736 flatcamGUI/PreferencesUI.py:2134 -#: flatcamGUI/PreferencesUI.py:2955 +#: flatcamGUI/ObjectUI.py:742 flatcamGUI/PreferencesUI.py:2158 +#: flatcamGUI/PreferencesUI.py:2996 msgid "Create CNC Job" msgstr "" -#: flatcamGUI/ObjectUI.py:738 +#: flatcamGUI/ObjectUI.py:744 msgid "" "Create a CNC Job object\n" "for this drill object." msgstr "" -#: flatcamGUI/ObjectUI.py:751 flatcamGUI/PreferencesUI.py:2147 +#: flatcamGUI/ObjectUI.py:757 flatcamGUI/PreferencesUI.py:2171 msgid "" "Drill depth (negative)\n" "below the copper surface." msgstr "" -#: flatcamGUI/ObjectUI.py:763 flatcamGUI/ObjectUI.py:1331 flatcamGUI/PreferencesUI.py:2158 -#: flatcamGUI/PreferencesUI.py:3015 -msgid "Travel Z" -msgstr "" - -#: flatcamGUI/ObjectUI.py:765 flatcamGUI/PreferencesUI.py:2160 +#: flatcamGUI/ObjectUI.py:776 flatcamGUI/PreferencesUI.py:2189 msgid "" "Tool height when travelling\n" "across the XY plane." msgstr "" -#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1352 flatcamGUI/PreferencesUI.py:2171 -#: flatcamGUI/PreferencesUI.py:3030 +#: flatcamGUI/ObjectUI.py:793 flatcamGUI/ObjectUI.py:1371 flatcamGUI/PreferencesUI.py:2204 +#: flatcamGUI/PreferencesUI.py:3081 msgid "Tool change" msgstr "" -#: flatcamGUI/ObjectUI.py:779 flatcamGUI/PreferencesUI.py:2173 +#: flatcamGUI/ObjectUI.py:795 flatcamGUI/PreferencesUI.py:2206 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." msgstr "" -#: flatcamGUI/ObjectUI.py:785 flatcamGUI/ObjectUI.py:1345 +#: flatcamGUI/ObjectUI.py:801 flatcamGUI/ObjectUI.py:1364 msgid "Tool change Z" msgstr "" -#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1348 flatcamGUI/PreferencesUI.py:2182 -#: flatcamGUI/PreferencesUI.py:3045 +#: flatcamGUI/ObjectUI.py:803 flatcamGUI/ObjectUI.py:1367 flatcamGUI/PreferencesUI.py:2215 +#: flatcamGUI/PreferencesUI.py:3096 msgid "" "Z-axis position (height) for\n" "tool change." msgstr "" -#: flatcamGUI/ObjectUI.py:800 flatcamGUI/PreferencesUI.py:2366 -#: flatcamGUI/PreferencesUI.py:3184 +#: flatcamGUI/ObjectUI.py:821 flatcamGUI/PreferencesUI.py:2407 +#: flatcamGUI/PreferencesUI.py:3245 msgid "Start move Z" msgstr "" -#: flatcamGUI/ObjectUI.py:802 flatcamGUI/PreferencesUI.py:2368 +#: flatcamGUI/ObjectUI.py:823 flatcamGUI/PreferencesUI.py:2409 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." msgstr "" -#: flatcamGUI/ObjectUI.py:810 flatcamGUI/ObjectUI.py:1381 flatcamGUI/PreferencesUI.py:2193 -#: flatcamGUI/PreferencesUI.py:3059 +#: flatcamGUI/ObjectUI.py:831 flatcamGUI/ObjectUI.py:1405 flatcamGUI/PreferencesUI.py:2230 +#: flatcamGUI/PreferencesUI.py:3115 msgid "End move Z" msgstr "" -#: flatcamGUI/ObjectUI.py:812 flatcamGUI/ObjectUI.py:1383 flatcamGUI/PreferencesUI.py:2195 -#: flatcamGUI/PreferencesUI.py:3061 +#: flatcamGUI/ObjectUI.py:833 flatcamGUI/ObjectUI.py:1407 flatcamGUI/PreferencesUI.py:2232 +#: flatcamGUI/PreferencesUI.py:3117 msgid "" "Height of the tool after\n" "the last move at the end of the job." msgstr "" -#: flatcamGUI/ObjectUI.py:824 flatcamGUI/PreferencesUI.py:2206 -#: flatcamGUI/PreferencesUI.py:5019 flatcamTools/ToolSolderPaste.py:223 +#: flatcamGUI/ObjectUI.py:850 flatcamGUI/PreferencesUI.py:2247 +#: flatcamGUI/PreferencesUI.py:5162 flatcamTools/ToolSolderPaste.py:258 msgid "Feedrate Z" msgstr "" -#: flatcamGUI/ObjectUI.py:826 flatcamGUI/PreferencesUI.py:2208 +#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:2249 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -6159,11 +6615,11 @@ msgid "" "This is for linear move G01." msgstr "" -#: flatcamGUI/ObjectUI.py:840 flatcamGUI/PreferencesUI.py:2376 +#: flatcamGUI/ObjectUI.py:866 flatcamGUI/PreferencesUI.py:2417 msgid "Feedrate Rapids" msgstr "" -#: flatcamGUI/ObjectUI.py:842 flatcamGUI/PreferencesUI.py:2378 +#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:2419 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -6172,78 +6628,61 @@ msgid "" "ignore for any other cases." msgstr "" -#: flatcamGUI/ObjectUI.py:860 flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:3105 +#: flatcamGUI/ObjectUI.py:886 flatcamGUI/ObjectUI.py:1483 flatcamGUI/PreferencesUI.py:3166 msgid "Spindle speed" msgstr "" -#: flatcamGUI/ObjectUI.py:862 flatcamGUI/PreferencesUI.py:2223 +#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:2264 msgid "" "Speed of the spindle\n" "in RPM (optional)" msgstr "" -#: flatcamGUI/ObjectUI.py:870 flatcamGUI/ObjectUI.py:1468 flatcamGUI/PreferencesUI.py:2231 -#: flatcamGUI/PreferencesUI.py:3118 -msgid "Dwell" -msgstr "" - -#: flatcamGUI/ObjectUI.py:872 flatcamGUI/ObjectUI.py:1471 flatcamGUI/PreferencesUI.py:2233 -#: flatcamGUI/PreferencesUI.py:3120 +#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1500 flatcamGUI/PreferencesUI.py:2274 +#: flatcamGUI/PreferencesUI.py:3181 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." msgstr "" -#: flatcamGUI/ObjectUI.py:881 flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:2238 -#: flatcamGUI/PreferencesUI.py:3125 +#: flatcamGUI/ObjectUI.py:907 flatcamGUI/ObjectUI.py:1510 flatcamGUI/PreferencesUI.py:2279 +#: flatcamGUI/PreferencesUI.py:3186 msgid "Number of time units for spindle to dwell." msgstr "" -#: flatcamGUI/ObjectUI.py:889 flatcamGUI/PreferencesUI.py:2253 -#: flatcamGUI/PreferencesUI.py:3140 -msgid "Postprocessor" -msgstr "" - -#: flatcamGUI/ObjectUI.py:891 flatcamGUI/PreferencesUI.py:2255 +#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:2296 msgid "" "The postprocessor JSON file that dictates\n" "Gcode output." msgstr "" -#: flatcamGUI/ObjectUI.py:900 flatcamGUI/ObjectUI.py:1501 flatcamGUI/PreferencesUI.py:2392 -#: flatcamGUI/PreferencesUI.py:3222 +#: flatcamGUI/ObjectUI.py:926 flatcamGUI/ObjectUI.py:1530 flatcamGUI/PreferencesUI.py:2433 +#: flatcamGUI/PreferencesUI.py:3283 msgid "Probe Z depth" msgstr "" -#: flatcamGUI/ObjectUI.py:902 flatcamGUI/ObjectUI.py:1503 flatcamGUI/PreferencesUI.py:2394 -#: flatcamGUI/PreferencesUI.py:3224 +#: flatcamGUI/ObjectUI.py:928 flatcamGUI/ObjectUI.py:1532 flatcamGUI/PreferencesUI.py:2435 +#: flatcamGUI/PreferencesUI.py:3285 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." msgstr "" -#: flatcamGUI/ObjectUI.py:916 flatcamGUI/ObjectUI.py:1518 flatcamGUI/PreferencesUI.py:2405 -#: flatcamGUI/PreferencesUI.py:3237 +#: flatcamGUI/ObjectUI.py:942 flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:2446 +#: flatcamGUI/PreferencesUI.py:3298 msgid "Feedrate Probe" msgstr "" -#: flatcamGUI/ObjectUI.py:918 flatcamGUI/ObjectUI.py:1520 flatcamGUI/PreferencesUI.py:2407 -#: flatcamGUI/PreferencesUI.py:3239 +#: flatcamGUI/ObjectUI.py:944 flatcamGUI/ObjectUI.py:1549 flatcamGUI/PreferencesUI.py:2448 +#: flatcamGUI/PreferencesUI.py:3300 msgid "The feedrate used while the probe is probing." msgstr "" -#: flatcamGUI/ObjectUI.py:938 -msgid "" -"Select from the Tools Table above\n" -"the hole dias that are to be drilled.\n" -"Use the # column to make the selection." -msgstr "" - -#: flatcamGUI/ObjectUI.py:945 flatcamGUI/PreferencesUI.py:2264 +#: flatcamGUI/ObjectUI.py:970 flatcamGUI/PreferencesUI.py:2305 msgid "Gcode" msgstr "" -#: flatcamGUI/ObjectUI.py:947 +#: flatcamGUI/ObjectUI.py:972 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -6251,73 +6690,69 @@ msgid "" "converted to a series of drills." msgstr "" -#: flatcamGUI/ObjectUI.py:961 +#: flatcamGUI/ObjectUI.py:986 msgid "Create Drills GCode" msgstr "" -#: flatcamGUI/ObjectUI.py:963 +#: flatcamGUI/ObjectUI.py:988 msgid "Generate the CNC Job." msgstr "" -#: flatcamGUI/ObjectUI.py:968 flatcamGUI/PreferencesUI.py:2282 +#: flatcamGUI/ObjectUI.py:993 flatcamGUI/PreferencesUI.py:2323 msgid "Mill Holes" msgstr "" -#: flatcamGUI/ObjectUI.py:970 flatcamGUI/PreferencesUI.py:2284 -msgid "Create Geometry for milling holes." -msgstr "" - -#: flatcamGUI/ObjectUI.py:975 +#: flatcamGUI/ObjectUI.py:995 msgid "" -"Select from the Tools Table above\n" -"the hole dias that are to be milled.\n" -"Use the # column to make the selection." +"Create Geometry for milling holes.\n" +"Select from the Tools Table above the hole dias to be\n" +"milled. Use the # column to make the selection." msgstr "" -#: flatcamGUI/ObjectUI.py:981 flatcamGUI/PreferencesUI.py:2288 +#: flatcamGUI/ObjectUI.py:1001 flatcamGUI/PreferencesUI.py:2329 msgid "Drill Tool dia" msgstr "" -#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:1303 -#: flatcamGUI/PreferencesUI.py:2290 +#: flatcamGUI/ObjectUI.py:1003 flatcamGUI/PreferencesUI.py:1327 +#: flatcamGUI/PreferencesUI.py:2331 msgid "Diameter of the cutting tool." msgstr "" -#: flatcamGUI/ObjectUI.py:990 +#: flatcamGUI/ObjectUI.py:1010 msgid "Mill Drills Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:992 +#: flatcamGUI/ObjectUI.py:1012 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." msgstr "" -#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:2299 +#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/PreferencesUI.py:2340 msgid "Slot Tool dia" msgstr "" -#: flatcamGUI/ObjectUI.py:1002 flatcamGUI/PreferencesUI.py:2301 +#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/PreferencesUI.py:2342 msgid "" "Diameter of the cutting tool\n" "when milling slots." msgstr "" -#: flatcamGUI/ObjectUI.py:1011 +#: flatcamGUI/ObjectUI.py:1031 msgid "Mill Slots Geo" msgstr "" -#: flatcamGUI/ObjectUI.py:1013 +#: flatcamGUI/ObjectUI.py:1033 msgid "" "Create the Geometry Object\n" "for milling SLOTS toolpaths." msgstr "" -#: flatcamGUI/ObjectUI.py:1034 +#: flatcamGUI/ObjectUI.py:1054 msgid "Geometry Object" msgstr "" -#: flatcamGUI/ObjectUI.py:1066 +#: flatcamGUI/ObjectUI.py:1086 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -6333,27 +6768,27 @@ msgid "" "showed UI form entries named V-Tip Dia and V-Tip Angle." msgstr "" -#: flatcamGUI/ObjectUI.py:1083 flatcamGUI/ObjectUI.py:1696 flatcamGUI/PreferencesUI.py:3376 +#: flatcamGUI/ObjectUI.py:1103 flatcamGUI/ObjectUI.py:1725 flatcamGUI/PreferencesUI.py:3437 msgid "Plot Object" msgstr "" -#: flatcamGUI/ObjectUI.py:1097 flatcamGUI/ObjectUI.py:1709 +#: flatcamGUI/ObjectUI.py:1117 flatcamGUI/ObjectUI.py:1738 msgid "Dia" msgstr "" -#: flatcamGUI/ObjectUI.py:1097 flatcamGUI/ObjectUI.py:1709 +#: flatcamGUI/ObjectUI.py:1117 flatcamGUI/ObjectUI.py:1738 #: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123 msgid "TT" msgstr "" -#: flatcamGUI/ObjectUI.py:1104 +#: flatcamGUI/ObjectUI.py:1124 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" "will be showed as a T1, T2 ... Tn" msgstr "" -#: flatcamGUI/ObjectUI.py:1115 +#: flatcamGUI/ObjectUI.py:1135 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry line.\n" @@ -6361,7 +6796,7 @@ msgid "" "- Out(side) -> The tool cut will follow the geometry line on the outside." msgstr "" -#: flatcamGUI/ObjectUI.py:1122 +#: flatcamGUI/ObjectUI.py:1142 msgid "" "The (Operation) Type has only informative value. Usually the UI form values \n" "are choose based on the operation type and this will serve as a reminder.\n" @@ -6371,7 +6806,7 @@ msgid "" "For Isolation we need a lower Feedrate as it use a milling bit with a fine tip." msgstr "" -#: flatcamGUI/ObjectUI.py:1131 +#: flatcamGUI/ObjectUI.py:1151 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the cut width in " @@ -6387,7 +6822,7 @@ msgid "" "Choosing the V-Shape Tool Type automatically will select the Operation Type as Isolation." msgstr "" -#: flatcamGUI/ObjectUI.py:1143 +#: flatcamGUI/ObjectUI.py:1163 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries that holds " "the geometry\n" @@ -6398,11 +6833,7 @@ msgid "" "for the corresponding tool." msgstr "" -#: flatcamGUI/ObjectUI.py:1156 -msgid "Tool Offset" -msgstr "" - -#: flatcamGUI/ObjectUI.py:1159 +#: flatcamGUI/ObjectUI.py:1181 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -6410,40 +6841,49 @@ msgid "" "cut and negative for 'inside' cut." msgstr "" -#: flatcamGUI/ObjectUI.py:1205 flatcamTools/ToolNonCopperClear.py:260 -#: flatcamTools/ToolPaint.py:190 +#: flatcamGUI/ObjectUI.py:1206 msgid "" "Add a new tool to the Tool Table\n" -"with the diameter specified above." +"with the specified diameter." msgstr "" -#: flatcamGUI/ObjectUI.py:1213 +#: flatcamGUI/ObjectUI.py:1214 +msgid "Add Tool from DataBase" +msgstr "" + +#: flatcamGUI/ObjectUI.py:1216 +msgid "" +"Add a new tool to the Tool Table\n" +"from the Tool DataBase." +msgstr "" + +#: flatcamGUI/ObjectUI.py:1226 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." msgstr "" -#: flatcamGUI/ObjectUI.py:1221 +#: flatcamGUI/ObjectUI.py:1232 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." msgstr "" -#: flatcamGUI/ObjectUI.py:1237 +#: flatcamGUI/ObjectUI.py:1246 msgid "Tool Data" msgstr "" -#: flatcamGUI/ObjectUI.py:1240 +#: flatcamGUI/ObjectUI.py:1249 msgid "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." msgstr "" -#: flatcamGUI/ObjectUI.py:1305 flatcamGUI/PreferencesUI.py:2982 +#: flatcamGUI/ObjectUI.py:1319 flatcamGUI/PreferencesUI.py:3028 msgid "Multi-Depth" msgstr "" -#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/PreferencesUI.py:2985 +#: flatcamGUI/ObjectUI.py:1322 flatcamGUI/PreferencesUI.py:3031 msgid "" "Use multiple passes to limit\n" "the cut depth in each pass. Will\n" @@ -6451,48 +6891,48 @@ msgid "" "reached." msgstr "" -#: flatcamGUI/ObjectUI.py:1322 +#: flatcamGUI/ObjectUI.py:1336 msgid "Depth of each pass (positive)." msgstr "" -#: flatcamGUI/ObjectUI.py:1333 flatcamGUI/PreferencesUI.py:3017 +#: flatcamGUI/ObjectUI.py:1347 flatcamGUI/PreferencesUI.py:3063 msgid "" "Height of the tool when\n" "moving without cutting." msgstr "" -#: flatcamGUI/ObjectUI.py:1355 flatcamGUI/PreferencesUI.py:3033 +#: flatcamGUI/ObjectUI.py:1374 flatcamGUI/PreferencesUI.py:3084 msgid "" "Include tool-change sequence\n" "in the Machine Code (Pause for tool change)." msgstr "" -#: flatcamGUI/ObjectUI.py:1395 flatcamGUI/PreferencesUI.py:3074 +#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/PreferencesUI.py:3135 msgid "Feed Rate X-Y" msgstr "" -#: flatcamGUI/ObjectUI.py:1397 flatcamGUI/PreferencesUI.py:3076 +#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3137 msgid "" "Cutting speed in the XY\n" "plane in units per minute" msgstr "" -#: flatcamGUI/ObjectUI.py:1409 flatcamGUI/PreferencesUI.py:3089 +#: flatcamGUI/ObjectUI.py:1438 flatcamGUI/PreferencesUI.py:3150 msgid "Feed Rate Z" msgstr "" -#: flatcamGUI/ObjectUI.py:1411 flatcamGUI/PreferencesUI.py:3091 +#: flatcamGUI/ObjectUI.py:1440 flatcamGUI/PreferencesUI.py:3152 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" "It is called also Plunge." msgstr "" -#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/PreferencesUI.py:3194 +#: flatcamGUI/ObjectUI.py:1453 flatcamGUI/PreferencesUI.py:3255 msgid "Feed Rate Rapids" msgstr "" -#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3196 +#: flatcamGUI/ObjectUI.py:1455 flatcamGUI/PreferencesUI.py:3257 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -6501,11 +6941,11 @@ msgid "" "ignore for any other cases." msgstr "" -#: flatcamGUI/ObjectUI.py:1444 flatcamGUI/PreferencesUI.py:3212 +#: flatcamGUI/ObjectUI.py:1473 flatcamGUI/PreferencesUI.py:3273 msgid "Re-cut 1st pt." msgstr "" -#: flatcamGUI/ObjectUI.py:1446 flatcamGUI/PreferencesUI.py:3214 +#: flatcamGUI/ObjectUI.py:1475 flatcamGUI/PreferencesUI.py:3275 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -6513,44 +6953,44 @@ msgid "" "extended cut over the first cut section." msgstr "" -#: flatcamGUI/ObjectUI.py:1457 flatcamGUI/PreferencesUI.py:3108 +#: flatcamGUI/ObjectUI.py:1486 flatcamGUI/PreferencesUI.py:3169 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:1489 flatcamGUI/PreferencesUI.py:5077 -#: flatcamTools/ToolSolderPaste.py:275 +#: flatcamGUI/ObjectUI.py:1518 flatcamGUI/PreferencesUI.py:5238 +#: flatcamTools/ToolSolderPaste.py:328 msgid "PostProcessor" msgstr "" -#: flatcamGUI/ObjectUI.py:1491 flatcamGUI/PreferencesUI.py:3142 +#: flatcamGUI/ObjectUI.py:1520 flatcamGUI/PreferencesUI.py:3203 msgid "" "The Postprocessor file that dictates\n" "the Machine Code (like GCode, RML, HPGL) output." msgstr "" -#: flatcamGUI/ObjectUI.py:1535 +#: flatcamGUI/ObjectUI.py:1564 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:1542 +#: flatcamGUI/ObjectUI.py:1571 msgid "Generate" msgstr "" -#: flatcamGUI/ObjectUI.py:1544 +#: flatcamGUI/ObjectUI.py:1573 msgid "Generate the CNC Job object." msgstr "" -#: flatcamGUI/ObjectUI.py:1551 +#: flatcamGUI/ObjectUI.py:1580 msgid "Paint Area" msgstr "" -#: flatcamGUI/ObjectUI.py:1554 flatcamGUI/PreferencesUI.py:4145 +#: flatcamGUI/ObjectUI.py:1583 flatcamGUI/PreferencesUI.py:4252 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -6558,19 +6998,19 @@ msgid "" "to click on the desired polygon." msgstr "" -#: flatcamGUI/ObjectUI.py:1565 +#: flatcamGUI/ObjectUI.py:1594 msgid "Launch Paint Tool in Tools Tab." msgstr "" -#: flatcamGUI/ObjectUI.py:1581 +#: flatcamGUI/ObjectUI.py:1610 msgid "CNC Job Object" msgstr "" -#: flatcamGUI/ObjectUI.py:1591 flatcamGUI/PreferencesUI.py:3381 +#: flatcamGUI/ObjectUI.py:1620 flatcamGUI/PreferencesUI.py:3442 msgid "Plot kind" msgstr "" -#: flatcamGUI/ObjectUI.py:1594 flatcamGUI/PreferencesUI.py:3383 +#: flatcamGUI/ObjectUI.py:1623 flatcamGUI/PreferencesUI.py:3444 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" @@ -6578,46 +7018,46 @@ msgid "" "which means the moves that cut into the material." msgstr "" -#: flatcamGUI/ObjectUI.py:1603 flatcamGUI/PreferencesUI.py:3391 +#: flatcamGUI/ObjectUI.py:1632 flatcamGUI/PreferencesUI.py:3452 msgid "Travel" msgstr "" -#: flatcamGUI/ObjectUI.py:1607 flatcamGUI/PreferencesUI.py:3400 +#: flatcamGUI/ObjectUI.py:1636 flatcamGUI/PreferencesUI.py:3461 msgid "Display Annotation" msgstr "" -#: flatcamGUI/ObjectUI.py:1609 flatcamGUI/PreferencesUI.py:3402 +#: flatcamGUI/ObjectUI.py:1638 flatcamGUI/PreferencesUI.py:3463 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" "of a travel line." msgstr "" -#: flatcamGUI/ObjectUI.py:1624 +#: flatcamGUI/ObjectUI.py:1653 msgid "Travelled dist." msgstr "" -#: flatcamGUI/ObjectUI.py:1626 flatcamGUI/ObjectUI.py:1631 +#: flatcamGUI/ObjectUI.py:1655 flatcamGUI/ObjectUI.py:1660 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." msgstr "" -#: flatcamGUI/ObjectUI.py:1636 +#: flatcamGUI/ObjectUI.py:1665 msgid "Estimated time" msgstr "" -#: flatcamGUI/ObjectUI.py:1638 flatcamGUI/ObjectUI.py:1643 +#: flatcamGUI/ObjectUI.py:1667 flatcamGUI/ObjectUI.py:1672 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." msgstr "" -#: flatcamGUI/ObjectUI.py:1678 +#: flatcamGUI/ObjectUI.py:1707 msgid "CNC Tools Table" msgstr "" -#: flatcamGUI/ObjectUI.py:1681 +#: flatcamGUI/ObjectUI.py:1710 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -6630,55 +7070,66 @@ msgid "" "ball(B), or V-Shaped(V)." msgstr "" -#: flatcamGUI/ObjectUI.py:1710 +#: flatcamGUI/ObjectUI.py:1739 msgid "P" msgstr "" -#: flatcamGUI/ObjectUI.py:1722 +#: flatcamGUI/ObjectUI.py:1751 msgid "Update Plot" msgstr "" -#: flatcamGUI/ObjectUI.py:1724 +#: flatcamGUI/ObjectUI.py:1753 msgid "Update the plot." msgstr "" -#: flatcamGUI/ObjectUI.py:1731 flatcamGUI/PreferencesUI.py:3551 +#: flatcamGUI/ObjectUI.py:1760 flatcamGUI/PreferencesUI.py:3627 msgid "Export CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1733 flatcamGUI/PreferencesUI.py:3502 -#: flatcamGUI/PreferencesUI.py:3553 +#: flatcamGUI/ObjectUI.py:1762 flatcamGUI/PreferencesUI.py:3569 +#: flatcamGUI/PreferencesUI.py:3629 msgid "" "Export and save G-Code to\n" "make this object to a file." msgstr "" -#: flatcamGUI/ObjectUI.py:1739 +#: flatcamGUI/ObjectUI.py:1768 msgid "Prepend to CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1741 flatcamGUI/PreferencesUI.py:3518 +#: flatcamGUI/ObjectUI.py:1770 flatcamGUI/PreferencesUI.py:3585 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." msgstr "" -#: flatcamGUI/ObjectUI.py:1750 +#: flatcamGUI/ObjectUI.py:1777 flatcamGUI/PreferencesUI.py:3592 +msgid "" +"Type here any G-Code commands you would like to add at the beginning of the G-Code file." +msgstr "" + +#: flatcamGUI/ObjectUI.py:1783 msgid "Append to CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1752 flatcamGUI/PreferencesUI.py:3530 +#: flatcamGUI/ObjectUI.py:1785 flatcamGUI/PreferencesUI.py:3601 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" "I.e.: M2 (End of program)" msgstr "" -#: flatcamGUI/ObjectUI.py:1769 flatcamGUI/PreferencesUI.py:3559 +#: flatcamGUI/ObjectUI.py:1793 flatcamGUI/PreferencesUI.py:3609 +msgid "" +"Type here any G-Code commands you would like to append to the generated file. I.e.: M2 " +"(End of program)" +msgstr "" + +#: flatcamGUI/ObjectUI.py:1807 flatcamGUI/PreferencesUI.py:3635 msgid "Toolchange G-Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1772 flatcamGUI/PreferencesUI.py:3562 +#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:3638 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" @@ -6691,257 +7142,268 @@ msgid "" "having as template the 'Toolchange Custom' posprocessor file." msgstr "" -#: flatcamGUI/ObjectUI.py:1791 flatcamGUI/PreferencesUI.py:3590 +#: flatcamGUI/ObjectUI.py:1825 flatcamGUI/PreferencesUI.py:3661 +msgid "" +"Type here any G-Code commands you would like to be executed when Toolchange event is " +"encountered. This will constitute a Custom Toolchange GCode, or a Toolchange Macro. The " +"FlatCAM variables are surrounded by '%' symbol. \n" +"WARNING: it can be used only with a postprocessor file that has 'toolchange_custom' in " +"it's name." +msgstr "" + +#: flatcamGUI/ObjectUI.py:1840 flatcamGUI/PreferencesUI.py:3677 msgid "Use Toolchange Macro" msgstr "" -#: flatcamGUI/ObjectUI.py:1793 flatcamGUI/PreferencesUI.py:3592 +#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:3679 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." msgstr "" -#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:3604 +#: flatcamGUI/ObjectUI.py:1850 flatcamGUI/PreferencesUI.py:3691 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" "They have to be surrounded by the '%' symbol" msgstr "" -#: flatcamGUI/ObjectUI.py:1808 flatcamGUI/PreferencesUI.py:1662 -#: flatcamGUI/PreferencesUI.py:2613 flatcamGUI/PreferencesUI.py:3319 -#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3692 -#: flatcamGUI/PreferencesUI.py:3967 flatcamGUI/PreferencesUI.py:4079 -#: flatcamGUI/PreferencesUI.py:4302 flatcamGUI/PreferencesUI.py:4500 -#: flatcamGUI/PreferencesUI.py:4749 flatcamGUI/PreferencesUI.py:4924 -#: flatcamGUI/PreferencesUI.py:5097 flatcamGUI/PreferencesUI.py:5119 -#: flatcamGUI/PreferencesUI.py:5343 flatcamTools/ToolNonCopperClear.py:287 +#: flatcamGUI/ObjectUI.py:1857 flatcamGUI/PreferencesUI.py:1686 +#: flatcamGUI/PreferencesUI.py:2654 flatcamGUI/PreferencesUI.py:3380 +#: flatcamGUI/PreferencesUI.py:3698 flatcamGUI/PreferencesUI.py:3780 +#: flatcamGUI/PreferencesUI.py:4074 flatcamGUI/PreferencesUI.py:4186 +#: flatcamGUI/PreferencesUI.py:4409 flatcamGUI/PreferencesUI.py:4607 +#: flatcamGUI/PreferencesUI.py:4858 flatcamGUI/PreferencesUI.py:5034 +#: flatcamGUI/PreferencesUI.py:5258 flatcamGUI/PreferencesUI.py:5280 +#: flatcamGUI/PreferencesUI.py:5504 flatcamGUI/PreferencesUI.py:5541 +#: flatcamGUI/PreferencesUI.py:5735 flatcamTools/ToolCopperThieving.py:87 +#: flatcamTools/ToolNonCopperClear.py:315 msgid "Parameters" msgstr "" -#: flatcamGUI/ObjectUI.py:1811 flatcamGUI/PreferencesUI.py:3614 +#: flatcamGUI/ObjectUI.py:1860 flatcamGUI/PreferencesUI.py:3701 msgid "FlatCAM CNC parameters" msgstr "" -#: flatcamGUI/ObjectUI.py:1812 flatcamGUI/PreferencesUI.py:3615 +#: flatcamGUI/ObjectUI.py:1861 flatcamGUI/PreferencesUI.py:3702 msgid "tool number" msgstr "" -#: flatcamGUI/ObjectUI.py:1813 flatcamGUI/PreferencesUI.py:3616 +#: flatcamGUI/ObjectUI.py:1862 flatcamGUI/PreferencesUI.py:3703 msgid "tool diameter" msgstr "" -#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:3617 +#: flatcamGUI/ObjectUI.py:1863 flatcamGUI/PreferencesUI.py:3704 msgid "for Excellon, total number of drills" msgstr "" -#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:3619 +#: flatcamGUI/ObjectUI.py:1865 flatcamGUI/PreferencesUI.py:3706 msgid "X coord for Toolchange" msgstr "" -#: flatcamGUI/ObjectUI.py:1817 +#: flatcamGUI/ObjectUI.py:1866 flatcamGUI/PreferencesUI.py:3707 msgid "Y coord for Toolchange" msgstr "" -#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/PreferencesUI.py:3622 +#: flatcamGUI/ObjectUI.py:1867 flatcamGUI/PreferencesUI.py:3709 msgid "Z coord for Toolchange" msgstr "" -#: flatcamGUI/ObjectUI.py:1819 +#: flatcamGUI/ObjectUI.py:1868 msgid "depth where to cut" msgstr "" -#: flatcamGUI/ObjectUI.py:1820 +#: flatcamGUI/ObjectUI.py:1869 msgid "height where to travel" msgstr "" -#: flatcamGUI/ObjectUI.py:1821 flatcamGUI/PreferencesUI.py:3625 +#: flatcamGUI/ObjectUI.py:1870 flatcamGUI/PreferencesUI.py:3712 msgid "the step value for multidepth cut" msgstr "" -#: flatcamGUI/ObjectUI.py:1823 flatcamGUI/PreferencesUI.py:3627 +#: flatcamGUI/ObjectUI.py:1872 flatcamGUI/PreferencesUI.py:3714 msgid "the value for the spindle speed" msgstr "" -#: flatcamGUI/ObjectUI.py:1825 +#: flatcamGUI/ObjectUI.py:1874 msgid "time to dwell to allow the spindle to reach it's set RPM" msgstr "" -#: flatcamGUI/ObjectUI.py:1841 +#: flatcamGUI/ObjectUI.py:1890 msgid "View CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1843 +#: flatcamGUI/ObjectUI.py:1892 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." msgstr "" -#: flatcamGUI/ObjectUI.py:1848 +#: flatcamGUI/ObjectUI.py:1897 msgid "Save CNC Code" msgstr "" -#: flatcamGUI/ObjectUI.py:1850 +#: flatcamGUI/ObjectUI.py:1899 msgid "" "Opens dialog to save G-Code\n" "file." msgstr "" -#: flatcamGUI/ObjectUI.py:1870 +#: flatcamGUI/ObjectUI.py:1919 msgid "Script Object" msgstr "" -#: flatcamGUI/ObjectUI.py:1889 flatcamGUI/ObjectUI.py:1948 +#: flatcamGUI/ObjectUI.py:1938 flatcamGUI/ObjectUI.py:1997 msgid "Auto Completer" msgstr "" -#: flatcamGUI/ObjectUI.py:1891 +#: flatcamGUI/ObjectUI.py:1940 msgid "This selects if the auto completer is enabled in the Script Editor." msgstr "" -#: flatcamGUI/ObjectUI.py:1922 +#: flatcamGUI/ObjectUI.py:1971 msgid "Document Object" msgstr "" -#: flatcamGUI/ObjectUI.py:1950 +#: flatcamGUI/ObjectUI.py:1999 msgid "This selects if the auto completer is enabled in the Document Editor." msgstr "" -#: flatcamGUI/ObjectUI.py:1968 +#: flatcamGUI/ObjectUI.py:2017 msgid "Font Type" msgstr "" -#: flatcamGUI/ObjectUI.py:1985 +#: flatcamGUI/ObjectUI.py:2034 msgid "Font Size" msgstr "" -#: flatcamGUI/ObjectUI.py:2021 +#: flatcamGUI/ObjectUI.py:2070 msgid "Alignment" msgstr "" -#: flatcamGUI/ObjectUI.py:2026 +#: flatcamGUI/ObjectUI.py:2075 msgid "Align Left" msgstr "" -#: flatcamGUI/ObjectUI.py:2031 +#: flatcamGUI/ObjectUI.py:2080 msgid "Center" msgstr "" -#: flatcamGUI/ObjectUI.py:2036 +#: flatcamGUI/ObjectUI.py:2085 msgid "Align Right" msgstr "" -#: flatcamGUI/ObjectUI.py:2041 +#: flatcamGUI/ObjectUI.py:2090 msgid "Justify" msgstr "" -#: flatcamGUI/ObjectUI.py:2048 +#: flatcamGUI/ObjectUI.py:2097 msgid "Font Color" msgstr "" -#: flatcamGUI/ObjectUI.py:2050 +#: flatcamGUI/ObjectUI.py:2099 msgid "Set the font color for the selected text" msgstr "" -#: flatcamGUI/ObjectUI.py:2064 +#: flatcamGUI/ObjectUI.py:2113 msgid "Selection Color" msgstr "" -#: flatcamGUI/ObjectUI.py:2066 +#: flatcamGUI/ObjectUI.py:2115 msgid "Set the selection color when doing text selection." msgstr "" -#: flatcamGUI/ObjectUI.py:2080 +#: flatcamGUI/ObjectUI.py:2129 msgid "Tab Size" msgstr "" -#: flatcamGUI/ObjectUI.py:2082 +#: flatcamGUI/ObjectUI.py:2131 msgid "Set the tab size. In pixels. Default value is 80 pixels." msgstr "" -#: flatcamGUI/PlotCanvasLegacy.py:1082 +#: flatcamGUI/PlotCanvasLegacy.py:1086 msgid "" "Could not annotate due of a difference between the number of text elements and the number " "of text positions." msgstr "" -#: flatcamGUI/PreferencesUI.py:295 +#: flatcamGUI/PreferencesUI.py:306 msgid "GUI Preferences" msgstr "" -#: flatcamGUI/PreferencesUI.py:301 +#: flatcamGUI/PreferencesUI.py:312 msgid "Grid X value" msgstr "" -#: flatcamGUI/PreferencesUI.py:303 +#: flatcamGUI/PreferencesUI.py:314 msgid "This is the Grid snap value on X axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:310 +#: flatcamGUI/PreferencesUI.py:321 msgid "Grid Y value" msgstr "" -#: flatcamGUI/PreferencesUI.py:312 +#: flatcamGUI/PreferencesUI.py:323 msgid "This is the Grid snap value on Y axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:319 +#: flatcamGUI/PreferencesUI.py:330 msgid "Snap Max" msgstr "" -#: flatcamGUI/PreferencesUI.py:326 +#: flatcamGUI/PreferencesUI.py:337 msgid "Workspace" msgstr "" -#: flatcamGUI/PreferencesUI.py:328 +#: flatcamGUI/PreferencesUI.py:339 msgid "" "Draw a delimiting rectangle on canvas.\n" "The purpose is to illustrate the limits for our work." msgstr "" -#: flatcamGUI/PreferencesUI.py:331 +#: flatcamGUI/PreferencesUI.py:342 msgid "Wk. format" msgstr "" -#: flatcamGUI/PreferencesUI.py:333 +#: flatcamGUI/PreferencesUI.py:344 msgid "" "Select the type of rectangle to be used on canvas,\n" "as valid workspace." msgstr "" -#: flatcamGUI/PreferencesUI.py:346 +#: flatcamGUI/PreferencesUI.py:357 msgid "Plot Fill" msgstr "" -#: flatcamGUI/PreferencesUI.py:348 +#: flatcamGUI/PreferencesUI.py:359 msgid "" "Set the fill color for plotted objects.\n" "First 6 digits are the color and the last 2\n" "digits are for alpha (transparency) level." msgstr "" -#: flatcamGUI/PreferencesUI.py:362 flatcamGUI/PreferencesUI.py:411 -#: flatcamGUI/PreferencesUI.py:460 +#: flatcamGUI/PreferencesUI.py:373 flatcamGUI/PreferencesUI.py:422 +#: flatcamGUI/PreferencesUI.py:471 msgid "Alpha Level" msgstr "" -#: flatcamGUI/PreferencesUI.py:364 +#: flatcamGUI/PreferencesUI.py:375 msgid "Set the fill transparency for plotted objects." msgstr "" -#: flatcamGUI/PreferencesUI.py:380 +#: flatcamGUI/PreferencesUI.py:391 msgid "Plot Line" msgstr "" -#: flatcamGUI/PreferencesUI.py:382 +#: flatcamGUI/PreferencesUI.py:393 msgid "Set the line color for plotted objects." msgstr "" -#: flatcamGUI/PreferencesUI.py:394 +#: flatcamGUI/PreferencesUI.py:405 msgid "Sel. Fill" msgstr "" -#: flatcamGUI/PreferencesUI.py:396 +#: flatcamGUI/PreferencesUI.py:407 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from left to right.\n" @@ -6949,23 +7411,23 @@ msgid "" "digits are for alpha (transparency) level." msgstr "" -#: flatcamGUI/PreferencesUI.py:413 +#: flatcamGUI/PreferencesUI.py:424 msgid "Set the fill transparency for the 'left to right' selection box." msgstr "" -#: flatcamGUI/PreferencesUI.py:429 +#: flatcamGUI/PreferencesUI.py:440 msgid "Sel. Line" msgstr "" -#: flatcamGUI/PreferencesUI.py:431 +#: flatcamGUI/PreferencesUI.py:442 msgid "Set the line color for the 'left to right' selection box." msgstr "" -#: flatcamGUI/PreferencesUI.py:443 +#: flatcamGUI/PreferencesUI.py:454 msgid "Sel2. Fill" msgstr "" -#: flatcamGUI/PreferencesUI.py:445 +#: flatcamGUI/PreferencesUI.py:456 msgid "" "Set the fill color for the selection box\n" "in case that the selection is done from right to left.\n" @@ -6973,138 +7435,138 @@ msgid "" "digits are for alpha (transparency) level." msgstr "" -#: flatcamGUI/PreferencesUI.py:462 +#: flatcamGUI/PreferencesUI.py:473 msgid "Set the fill transparency for selection 'right to left' box." msgstr "" -#: flatcamGUI/PreferencesUI.py:478 +#: flatcamGUI/PreferencesUI.py:489 msgid "Sel2. Line" msgstr "" -#: flatcamGUI/PreferencesUI.py:480 +#: flatcamGUI/PreferencesUI.py:491 msgid "Set the line color for the 'right to left' selection box." msgstr "" -#: flatcamGUI/PreferencesUI.py:492 +#: flatcamGUI/PreferencesUI.py:503 msgid "Editor Draw" msgstr "" -#: flatcamGUI/PreferencesUI.py:494 +#: flatcamGUI/PreferencesUI.py:505 msgid "Set the color for the shape." msgstr "" -#: flatcamGUI/PreferencesUI.py:506 +#: flatcamGUI/PreferencesUI.py:517 msgid "Editor Draw Sel." msgstr "" -#: flatcamGUI/PreferencesUI.py:508 +#: flatcamGUI/PreferencesUI.py:519 msgid "Set the color of the shape when selected." msgstr "" -#: flatcamGUI/PreferencesUI.py:520 +#: flatcamGUI/PreferencesUI.py:531 msgid "Project Items" msgstr "" -#: flatcamGUI/PreferencesUI.py:522 +#: flatcamGUI/PreferencesUI.py:533 msgid "Set the color of the items in Project Tab Tree." msgstr "" -#: flatcamGUI/PreferencesUI.py:533 +#: flatcamGUI/PreferencesUI.py:544 msgid "Proj. Dis. Items" msgstr "" -#: flatcamGUI/PreferencesUI.py:535 +#: flatcamGUI/PreferencesUI.py:546 msgid "" "Set the color of the items in Project Tab Tree,\n" "for the case when the items are disabled." msgstr "" -#: flatcamGUI/PreferencesUI.py:548 +#: flatcamGUI/PreferencesUI.py:559 msgid "Activity Icon" msgstr "" -#: flatcamGUI/PreferencesUI.py:550 +#: flatcamGUI/PreferencesUI.py:561 msgid "Select the GIF that show activity when FlatCAM is active." msgstr "" -#: flatcamGUI/PreferencesUI.py:596 +#: flatcamGUI/PreferencesUI.py:607 msgid "GUI Settings" msgstr "" -#: flatcamGUI/PreferencesUI.py:609 +#: flatcamGUI/PreferencesUI.py:620 msgid "Theme" msgstr "" -#: flatcamGUI/PreferencesUI.py:611 +#: flatcamGUI/PreferencesUI.py:622 msgid "" "Select a theme for FlatCAM.\n" "The application will restart after change." msgstr "" -#: flatcamGUI/PreferencesUI.py:615 +#: flatcamGUI/PreferencesUI.py:626 msgid "Light" msgstr "" -#: flatcamGUI/PreferencesUI.py:616 +#: flatcamGUI/PreferencesUI.py:627 msgid "Dark" msgstr "" -#: flatcamGUI/PreferencesUI.py:623 +#: flatcamGUI/PreferencesUI.py:634 msgid "Layout" msgstr "" -#: flatcamGUI/PreferencesUI.py:625 +#: flatcamGUI/PreferencesUI.py:636 msgid "" "Select an layout for FlatCAM.\n" "It is applied immediately." msgstr "" -#: flatcamGUI/PreferencesUI.py:644 +#: flatcamGUI/PreferencesUI.py:655 msgid "Style" msgstr "" -#: flatcamGUI/PreferencesUI.py:646 +#: flatcamGUI/PreferencesUI.py:657 msgid "" "Select an style for FlatCAM.\n" "It will be applied at the next app start." msgstr "" -#: flatcamGUI/PreferencesUI.py:660 +#: flatcamGUI/PreferencesUI.py:671 msgid "HDPI Support" msgstr "" -#: flatcamGUI/PreferencesUI.py:662 +#: flatcamGUI/PreferencesUI.py:673 msgid "" "Enable High DPI support for FlatCAM.\n" "It will be applied at the next app start." msgstr "" -#: flatcamGUI/PreferencesUI.py:678 flatcamGUI/PreferencesUI.py:928 +#: flatcamGUI/PreferencesUI.py:689 flatcamGUI/PreferencesUI.py:939 msgid "Clear GUI Settings" msgstr "" -#: flatcamGUI/PreferencesUI.py:680 +#: flatcamGUI/PreferencesUI.py:691 msgid "" "Clear the GUI settings for FlatCAM,\n" "such as: layout, gui state, style, hdpi support etc." msgstr "" -#: flatcamGUI/PreferencesUI.py:690 +#: flatcamGUI/PreferencesUI.py:701 msgid "Hover Shape" msgstr "" -#: flatcamGUI/PreferencesUI.py:692 +#: flatcamGUI/PreferencesUI.py:703 msgid "" "Enable display of a hover shape for FlatCAM objects.\n" "It is displayed whenever the mouse cursor is hovering\n" "over any kind of not-selected object." msgstr "" -#: flatcamGUI/PreferencesUI.py:702 +#: flatcamGUI/PreferencesUI.py:713 msgid "Sel. Shape" msgstr "" -#: flatcamGUI/PreferencesUI.py:704 +#: flatcamGUI/PreferencesUI.py:715 msgid "" "Enable the display of a selection shape for FlatCAM objects.\n" "It is displayed whenever the mouse selects an object\n" @@ -7112,168 +7574,168 @@ msgid "" "right to left." msgstr "" -#: flatcamGUI/PreferencesUI.py:717 +#: flatcamGUI/PreferencesUI.py:728 msgid "NB Font Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:719 +#: flatcamGUI/PreferencesUI.py:730 msgid "" "This sets the font size for the elements found in the Notebook.\n" "The notebook is the collapsible area in the left side of the GUI,\n" "and include the Project, Selected and Tool tabs." msgstr "" -#: flatcamGUI/PreferencesUI.py:738 +#: flatcamGUI/PreferencesUI.py:749 msgid "Axis Font Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:740 +#: flatcamGUI/PreferencesUI.py:751 msgid "This sets the font size for canvas axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:757 +#: flatcamGUI/PreferencesUI.py:768 msgid "Textbox Font Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:759 +#: flatcamGUI/PreferencesUI.py:770 msgid "" "This sets the font size for the Textbox GUI\n" "elements that are used in FlatCAM." msgstr "" -#: flatcamGUI/PreferencesUI.py:780 +#: flatcamGUI/PreferencesUI.py:791 msgid "Splash Screen" msgstr "" -#: flatcamGUI/PreferencesUI.py:782 +#: flatcamGUI/PreferencesUI.py:793 msgid "Enable display of the splash screen at application startup." msgstr "" -#: flatcamGUI/PreferencesUI.py:795 +#: flatcamGUI/PreferencesUI.py:806 msgid "Sys Tray Icon" msgstr "" -#: flatcamGUI/PreferencesUI.py:797 +#: flatcamGUI/PreferencesUI.py:808 msgid "Enable display of FlatCAM icon in Sys Tray." msgstr "" -#: flatcamGUI/PreferencesUI.py:805 +#: flatcamGUI/PreferencesUI.py:816 msgid "Shell at StartUp" msgstr "" -#: flatcamGUI/PreferencesUI.py:807 flatcamGUI/PreferencesUI.py:812 +#: flatcamGUI/PreferencesUI.py:818 flatcamGUI/PreferencesUI.py:823 msgid "" "Check this box if you want the shell to\n" "start automatically at startup." msgstr "" -#: flatcamGUI/PreferencesUI.py:820 +#: flatcamGUI/PreferencesUI.py:831 msgid "Project at StartUp" msgstr "" -#: flatcamGUI/PreferencesUI.py:822 flatcamGUI/PreferencesUI.py:827 +#: flatcamGUI/PreferencesUI.py:833 flatcamGUI/PreferencesUI.py:838 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "to be shown automatically at startup." msgstr "" -#: flatcamGUI/PreferencesUI.py:835 +#: flatcamGUI/PreferencesUI.py:846 msgid "Project AutoHide" msgstr "" -#: flatcamGUI/PreferencesUI.py:837 flatcamGUI/PreferencesUI.py:843 +#: flatcamGUI/PreferencesUI.py:848 flatcamGUI/PreferencesUI.py:854 msgid "" "Check this box if you want the project/selected/tool tab area to\n" "hide automatically when there are no objects loaded and\n" "to show whenever a new object is created." msgstr "" -#: flatcamGUI/PreferencesUI.py:854 +#: flatcamGUI/PreferencesUI.py:865 msgid "Enable ToolTips" msgstr "" -#: flatcamGUI/PreferencesUI.py:856 flatcamGUI/PreferencesUI.py:861 +#: flatcamGUI/PreferencesUI.py:867 flatcamGUI/PreferencesUI.py:872 msgid "" "Check this box if you want to have toolTips displayed\n" "when hovering with mouse over items throughout the App." msgstr "" -#: flatcamGUI/PreferencesUI.py:869 +#: flatcamGUI/PreferencesUI.py:880 msgid "Mouse Cursor" msgstr "" -#: flatcamGUI/PreferencesUI.py:871 +#: flatcamGUI/PreferencesUI.py:882 msgid "" "Choose a mouse cursor shape.\n" "- Small -> with a customizable size.\n" "- Big -> Infinite lines" msgstr "" -#: flatcamGUI/PreferencesUI.py:877 +#: flatcamGUI/PreferencesUI.py:888 msgid "Small" msgstr "" -#: flatcamGUI/PreferencesUI.py:878 +#: flatcamGUI/PreferencesUI.py:889 msgid "Big" msgstr "" -#: flatcamGUI/PreferencesUI.py:884 +#: flatcamGUI/PreferencesUI.py:895 msgid "Mouse Cursor Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:886 +#: flatcamGUI/PreferencesUI.py:897 msgid "Set the size of the mouse cursor, in pixels." msgstr "" -#: flatcamGUI/PreferencesUI.py:897 +#: flatcamGUI/PreferencesUI.py:908 msgid "Delete object confirmation" msgstr "" -#: flatcamGUI/PreferencesUI.py:899 +#: flatcamGUI/PreferencesUI.py:910 msgid "" "When checked the application will ask for user confirmation\n" "whenever the Delete object(s) event is triggered, either by\n" "menu shortcut or key shortcut." msgstr "" -#: flatcamGUI/PreferencesUI.py:925 +#: flatcamGUI/PreferencesUI.py:936 msgid "Are you sure you want to delete the GUI Settings? \n" msgstr "" -#: flatcamGUI/PreferencesUI.py:949 +#: flatcamGUI/PreferencesUI.py:960 msgid "App Preferences" msgstr "" -#: flatcamGUI/PreferencesUI.py:958 flatcamGUI/PreferencesUI.py:1241 -#: flatcamGUI/PreferencesUI.py:1575 flatcamGUI/PreferencesUI.py:2476 +#: flatcamGUI/PreferencesUI.py:969 flatcamGUI/PreferencesUI.py:1265 +#: flatcamGUI/PreferencesUI.py:1599 flatcamGUI/PreferencesUI.py:2517 #: flatcamTools/ToolDistance.py:47 flatcamTools/ToolDistanceMin.py:48 #: flatcamTools/ToolPcbWizard.py:126 flatcamTools/ToolProperties.py:138 msgid "Units" msgstr "" -#: flatcamGUI/PreferencesUI.py:959 +#: flatcamGUI/PreferencesUI.py:970 msgid "" "The default value for FlatCAM units.\n" "Whatever is selected here is set every time\n" "FLatCAM is started." msgstr "" -#: flatcamGUI/PreferencesUI.py:962 +#: flatcamGUI/PreferencesUI.py:973 msgid "IN" msgstr "" -#: flatcamGUI/PreferencesUI.py:963 flatcamGUI/PreferencesUI.py:1247 -#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:2035 -#: flatcamGUI/PreferencesUI.py:2482 flatcamTools/ToolCalculators.py:62 +#: flatcamGUI/PreferencesUI.py:974 flatcamGUI/PreferencesUI.py:1271 +#: flatcamGUI/PreferencesUI.py:1605 flatcamGUI/PreferencesUI.py:2059 +#: flatcamGUI/PreferencesUI.py:2523 flatcamTools/ToolCalculators.py:62 #: flatcamTools/ToolPcbWizard.py:125 msgid "MM" msgstr "" -#: flatcamGUI/PreferencesUI.py:969 +#: flatcamGUI/PreferencesUI.py:980 msgid "Graphic Engine" msgstr "" -#: flatcamGUI/PreferencesUI.py:970 +#: flatcamGUI/PreferencesUI.py:981 msgid "" "Choose what graphic engine to use in FlatCAM.\n" "Legacy(2D) -> reduced functionality, slow performance but enhanced compatibility.\n" @@ -7283,19 +7745,19 @@ msgid "" "use the Legacy(2D) mode." msgstr "" -#: flatcamGUI/PreferencesUI.py:976 +#: flatcamGUI/PreferencesUI.py:987 msgid "Legacy(2D)" msgstr "" -#: flatcamGUI/PreferencesUI.py:977 +#: flatcamGUI/PreferencesUI.py:988 msgid "OpenGL(3D)" msgstr "" -#: flatcamGUI/PreferencesUI.py:984 +#: flatcamGUI/PreferencesUI.py:995 msgid "APP. LEVEL" msgstr "" -#: flatcamGUI/PreferencesUI.py:985 +#: flatcamGUI/PreferencesUI.py:996 msgid "" "Choose the default level of usage for FlatCAM.\n" "BASIC level -> reduced functionality, best for beginner's.\n" @@ -7305,11 +7767,11 @@ msgid "" "the Selected Tab for all kinds of FlatCAM objects." msgstr "" -#: flatcamGUI/PreferencesUI.py:997 +#: flatcamGUI/PreferencesUI.py:1008 msgid "Portable app" msgstr "" -#: flatcamGUI/PreferencesUI.py:998 +#: flatcamGUI/PreferencesUI.py:1009 msgid "" "Choose if the application should run as portable.\n" "\n" @@ -7318,19 +7780,19 @@ msgid "" "in the application folder, in the lib\\config subfolder." msgstr "" -#: flatcamGUI/PreferencesUI.py:1008 +#: flatcamGUI/PreferencesUI.py:1019 msgid "Languages" msgstr "" -#: flatcamGUI/PreferencesUI.py:1009 +#: flatcamGUI/PreferencesUI.py:1020 msgid "Set the language used throughout FlatCAM." msgstr "" -#: flatcamGUI/PreferencesUI.py:1015 +#: flatcamGUI/PreferencesUI.py:1026 msgid "Apply Language" msgstr "" -#: flatcamGUI/PreferencesUI.py:1016 +#: flatcamGUI/PreferencesUI.py:1027 msgid "" "Set the language used throughout FlatCAM.\n" "The app will restart after click.Windows: When FlatCAM is installed in Program Files\n" @@ -7340,66 +7802,66 @@ msgid "" "applied at the next app start." msgstr "" -#: flatcamGUI/PreferencesUI.py:1028 +#: flatcamGUI/PreferencesUI.py:1039 msgid "Version Check" msgstr "" -#: flatcamGUI/PreferencesUI.py:1030 flatcamGUI/PreferencesUI.py:1035 +#: flatcamGUI/PreferencesUI.py:1041 flatcamGUI/PreferencesUI.py:1046 msgid "" "Check this box if you want to check\n" "for a new version automatically at startup." msgstr "" -#: flatcamGUI/PreferencesUI.py:1043 +#: flatcamGUI/PreferencesUI.py:1054 msgid "Send Stats" msgstr "" -#: flatcamGUI/PreferencesUI.py:1045 flatcamGUI/PreferencesUI.py:1050 +#: flatcamGUI/PreferencesUI.py:1056 flatcamGUI/PreferencesUI.py:1061 msgid "" "Check this box if you agree to send anonymous\n" "stats automatically at startup, to help improve FlatCAM." msgstr "" -#: flatcamGUI/PreferencesUI.py:1060 +#: flatcamGUI/PreferencesUI.py:1071 msgid "Pan Button" msgstr "" -#: flatcamGUI/PreferencesUI.py:1061 +#: flatcamGUI/PreferencesUI.py:1072 msgid "" "Select the mouse button to use for panning:\n" "- MMB --> Middle Mouse Button\n" "- RMB --> Right Mouse Button" msgstr "" -#: flatcamGUI/PreferencesUI.py:1064 +#: flatcamGUI/PreferencesUI.py:1075 msgid "MMB" msgstr "" -#: flatcamGUI/PreferencesUI.py:1065 +#: flatcamGUI/PreferencesUI.py:1076 msgid "RMB" msgstr "" -#: flatcamGUI/PreferencesUI.py:1071 +#: flatcamGUI/PreferencesUI.py:1082 msgid "Multiple Sel" msgstr "" -#: flatcamGUI/PreferencesUI.py:1072 +#: flatcamGUI/PreferencesUI.py:1083 msgid "Select the key used for multiple selection." msgstr "" -#: flatcamGUI/PreferencesUI.py:1073 +#: flatcamGUI/PreferencesUI.py:1084 msgid "CTRL" msgstr "" -#: flatcamGUI/PreferencesUI.py:1074 +#: flatcamGUI/PreferencesUI.py:1085 msgid "SHIFT" msgstr "" -#: flatcamGUI/PreferencesUI.py:1080 +#: flatcamGUI/PreferencesUI.py:1091 msgid "Workers number" msgstr "" -#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:1091 +#: flatcamGUI/PreferencesUI.py:1093 flatcamGUI/PreferencesUI.py:1102 msgid "" "The number of Qthreads made available to the App.\n" "A bigger number may finish the jobs more quickly but\n" @@ -7409,11 +7871,11 @@ msgid "" "After change, it will be applied at next App start." msgstr "" -#: flatcamGUI/PreferencesUI.py:1104 +#: flatcamGUI/PreferencesUI.py:1115 msgid "Geo Tolerance" msgstr "" -#: flatcamGUI/PreferencesUI.py:1106 flatcamGUI/PreferencesUI.py:1115 +#: flatcamGUI/PreferencesUI.py:1117 flatcamGUI/PreferencesUI.py:1126 msgid "" "This value can counter the effect of the Circle Steps\n" "parameter. Default value is 0.01.\n" @@ -7423,11 +7885,11 @@ msgid "" "performance at the expense of level of detail." msgstr "" -#: flatcamGUI/PreferencesUI.py:1130 +#: flatcamGUI/PreferencesUI.py:1141 msgid "\"Open\" behavior" msgstr "" -#: flatcamGUI/PreferencesUI.py:1132 +#: flatcamGUI/PreferencesUI.py:1143 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" @@ -7436,82 +7898,95 @@ msgid "" "path for saving files or the path for opening files." msgstr "" -#: flatcamGUI/PreferencesUI.py:1141 +#: flatcamGUI/PreferencesUI.py:1152 msgid "Save Compressed Project" msgstr "" -#: flatcamGUI/PreferencesUI.py:1143 +#: flatcamGUI/PreferencesUI.py:1154 msgid "" "Whether to save a compressed or uncompressed project.\n" "When checked it will save a compressed FlatCAM project." msgstr "" -#: flatcamGUI/PreferencesUI.py:1152 +#: flatcamGUI/PreferencesUI.py:1163 msgid "Compression" msgstr "" -#: flatcamGUI/PreferencesUI.py:1154 +#: flatcamGUI/PreferencesUI.py:1165 msgid "" "The level of compression used when saving\n" "a FlatCAM project. Higher value means better compression\n" "but require more RAM usage and more processing time." msgstr "" -#: flatcamGUI/PreferencesUI.py:1165 +#: flatcamGUI/PreferencesUI.py:1177 msgid "Bookmarks limit" msgstr "" -#: flatcamGUI/PreferencesUI.py:1167 +#: flatcamGUI/PreferencesUI.py:1179 msgid "" "The maximum number of bookmarks that may be installed in the menu.\n" "The number of bookmarks in the bookmark manager may be greater\n" "but the menu will hold only so much." msgstr "" -#: flatcamGUI/PreferencesUI.py:1187 +#: flatcamGUI/PreferencesUI.py:1188 +msgid "Allow Machinist Unsafe Settings" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1190 +msgid "" +"If checked, some of the application settings will be allowed\n" +"to have values that are usually unsafe to use.\n" +"Like Z travel negative values or Z Cut positive values.\n" +"It will applied at the next application start.\n" +"<>: Don't change this unless you know what you are doing !!!" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1211 msgid "Gerber General" msgstr "" -#: flatcamGUI/PreferencesUI.py:1218 flatcamGUI/PreferencesUI.py:2917 -#: flatcamGUI/PreferencesUI.py:3416 +#: flatcamGUI/PreferencesUI.py:1242 flatcamGUI/PreferencesUI.py:2958 +#: flatcamGUI/PreferencesUI.py:3474 flatcamGUI/PreferencesUI.py:5743 msgid "Circle Steps" msgstr "" -#: flatcamGUI/PreferencesUI.py:1220 +#: flatcamGUI/PreferencesUI.py:1244 msgid "" "The number of circle steps for Gerber \n" "circular aperture linear approximation." msgstr "" -#: flatcamGUI/PreferencesUI.py:1232 +#: flatcamGUI/PreferencesUI.py:1256 msgid "Default Values" msgstr "" -#: flatcamGUI/PreferencesUI.py:1234 +#: flatcamGUI/PreferencesUI.py:1258 msgid "" "Those values will be used as fallback values\n" "in case that they are not found in the Gerber file." msgstr "" -#: flatcamGUI/PreferencesUI.py:1243 flatcamGUI/PreferencesUI.py:1249 -#: flatcamGUI/PreferencesUI.py:1577 flatcamGUI/PreferencesUI.py:1583 +#: flatcamGUI/PreferencesUI.py:1267 flatcamGUI/PreferencesUI.py:1273 +#: flatcamGUI/PreferencesUI.py:1601 flatcamGUI/PreferencesUI.py:1607 msgid "The units used in the Gerber file." msgstr "" -#: flatcamGUI/PreferencesUI.py:1246 flatcamGUI/PreferencesUI.py:1580 -#: flatcamGUI/PreferencesUI.py:1936 flatcamGUI/PreferencesUI.py:2034 -#: flatcamGUI/PreferencesUI.py:2481 flatcamTools/ToolCalculators.py:61 +#: flatcamGUI/PreferencesUI.py:1270 flatcamGUI/PreferencesUI.py:1604 +#: flatcamGUI/PreferencesUI.py:1960 flatcamGUI/PreferencesUI.py:2058 +#: flatcamGUI/PreferencesUI.py:2522 flatcamTools/ToolCalculators.py:61 #: flatcamTools/ToolPcbWizard.py:124 msgid "INCH" msgstr "" -#: flatcamGUI/PreferencesUI.py:1256 flatcamGUI/PreferencesUI.py:1629 -#: flatcamGUI/PreferencesUI.py:2549 +#: flatcamGUI/PreferencesUI.py:1280 flatcamGUI/PreferencesUI.py:1653 +#: flatcamGUI/PreferencesUI.py:2590 msgid "Zeros" msgstr "" -#: flatcamGUI/PreferencesUI.py:1259 flatcamGUI/PreferencesUI.py:1269 -#: flatcamGUI/PreferencesUI.py:1632 flatcamGUI/PreferencesUI.py:1642 +#: flatcamGUI/PreferencesUI.py:1283 flatcamGUI/PreferencesUI.py:1293 +#: flatcamGUI/PreferencesUI.py:1656 flatcamGUI/PreferencesUI.py:1666 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7520,50 +7995,55 @@ msgid "" "and Leading Zeros are kept." msgstr "" -#: flatcamGUI/PreferencesUI.py:1266 flatcamGUI/PreferencesUI.py:1639 -#: flatcamGUI/PreferencesUI.py:2010 flatcamGUI/PreferencesUI.py:2559 +#: flatcamGUI/PreferencesUI.py:1290 flatcamGUI/PreferencesUI.py:1663 +#: flatcamGUI/PreferencesUI.py:2034 flatcamGUI/PreferencesUI.py:2600 #: flatcamTools/ToolPcbWizard.py:110 msgid "LZ" msgstr "" -#: flatcamGUI/PreferencesUI.py:1267 flatcamGUI/PreferencesUI.py:1640 -#: flatcamGUI/PreferencesUI.py:2011 flatcamGUI/PreferencesUI.py:2560 +#: flatcamGUI/PreferencesUI.py:1291 flatcamGUI/PreferencesUI.py:1664 +#: flatcamGUI/PreferencesUI.py:2035 flatcamGUI/PreferencesUI.py:2601 #: flatcamTools/ToolPcbWizard.py:111 msgid "TZ" msgstr "" -#: flatcamGUI/PreferencesUI.py:1287 +#: flatcamGUI/PreferencesUI.py:1311 msgid "Gerber Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:1430 +#: flatcamGUI/PreferencesUI.py:1372 flatcamGUI/PreferencesUI.py:3412 +#: flatcamGUI/PreferencesUI.py:3883 flatcamTools/ToolNonCopperClear.py:170 +msgid "Conv." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:1454 msgid "Gerber Adv. Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:1433 flatcamGUI/PreferencesUI.py:2335 -#: flatcamGUI/PreferencesUI.py:3163 +#: flatcamGUI/PreferencesUI.py:1457 flatcamGUI/PreferencesUI.py:2376 +#: flatcamGUI/PreferencesUI.py:3224 msgid "Advanced Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:1435 +#: flatcamGUI/PreferencesUI.py:1459 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" "Advanced App. Level." msgstr "" -#: flatcamGUI/PreferencesUI.py:1454 +#: flatcamGUI/PreferencesUI.py:1478 msgid "Table Show/Hide" msgstr "" -#: flatcamGUI/PreferencesUI.py:1456 +#: flatcamGUI/PreferencesUI.py:1480 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" "that are drawn on canvas." msgstr "" -#: flatcamGUI/PreferencesUI.py:1518 +#: flatcamGUI/PreferencesUI.py:1542 msgid "" "Buffering type:\n" "- None --> best performance, fast file loading but no so good display\n" @@ -7571,82 +8051,82 @@ msgid "" "<>: Don't change this unless you know what you are doing !!!" msgstr "" -#: flatcamGUI/PreferencesUI.py:1523 flatcamGUI/PreferencesUI.py:4478 +#: flatcamGUI/PreferencesUI.py:1547 flatcamGUI/PreferencesUI.py:4585 #: flatcamTools/ToolFilm.py:232 flatcamTools/ToolProperties.py:303 #: flatcamTools/ToolProperties.py:317 flatcamTools/ToolProperties.py:320 #: flatcamTools/ToolProperties.py:323 msgid "None" msgstr "" -#: flatcamGUI/PreferencesUI.py:1524 +#: flatcamGUI/PreferencesUI.py:1548 msgid "Full" msgstr "" -#: flatcamGUI/PreferencesUI.py:1529 +#: flatcamGUI/PreferencesUI.py:1553 msgid "Simplify" msgstr "" -#: flatcamGUI/PreferencesUI.py:1531 +#: flatcamGUI/PreferencesUI.py:1555 msgid "" "When checked all the Gerber polygons will be\n" "loaded with simplification having a set tolerance.\n" "<>: Don't change this unless you know what you are doing !!!" msgstr "" -#: flatcamGUI/PreferencesUI.py:1538 +#: flatcamGUI/PreferencesUI.py:1562 msgid "Tolerance" msgstr "" -#: flatcamGUI/PreferencesUI.py:1539 +#: flatcamGUI/PreferencesUI.py:1563 msgid "Tolerance for polygon simplification." msgstr "" -#: flatcamGUI/PreferencesUI.py:1561 +#: flatcamGUI/PreferencesUI.py:1585 msgid "Gerber Export" msgstr "" -#: flatcamGUI/PreferencesUI.py:1564 flatcamGUI/PreferencesUI.py:2465 +#: flatcamGUI/PreferencesUI.py:1588 flatcamGUI/PreferencesUI.py:2506 msgid "Export Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:1566 +#: flatcamGUI/PreferencesUI.py:1590 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." msgstr "" -#: flatcamGUI/PreferencesUI.py:1589 flatcamGUI/PreferencesUI.py:2490 +#: flatcamGUI/PreferencesUI.py:1613 flatcamGUI/PreferencesUI.py:2531 msgid "Int/Decimals" msgstr "" -#: flatcamGUI/PreferencesUI.py:1591 +#: flatcamGUI/PreferencesUI.py:1615 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." msgstr "" -#: flatcamGUI/PreferencesUI.py:1604 +#: flatcamGUI/PreferencesUI.py:1628 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." msgstr "" -#: flatcamGUI/PreferencesUI.py:1620 +#: flatcamGUI/PreferencesUI.py:1644 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." msgstr "" -#: flatcamGUI/PreferencesUI.py:1664 +#: flatcamGUI/PreferencesUI.py:1688 msgid "A list of Gerber Editor parameters." msgstr "" -#: flatcamGUI/PreferencesUI.py:1672 flatcamGUI/PreferencesUI.py:2623 -#: flatcamGUI/PreferencesUI.py:3329 +#: flatcamGUI/PreferencesUI.py:1696 flatcamGUI/PreferencesUI.py:2664 +#: flatcamGUI/PreferencesUI.py:3390 flatcamGUI/PreferencesUI.py:5704 msgid "Selection limit" msgstr "" -#: flatcamGUI/PreferencesUI.py:1674 +#: flatcamGUI/PreferencesUI.py:1698 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -7655,104 +8135,104 @@ msgid "" "large number of geometric elements." msgstr "" -#: flatcamGUI/PreferencesUI.py:1687 +#: flatcamGUI/PreferencesUI.py:1711 msgid "New Aperture code" msgstr "" -#: flatcamGUI/PreferencesUI.py:1700 +#: flatcamGUI/PreferencesUI.py:1724 msgid "New Aperture size" msgstr "" -#: flatcamGUI/PreferencesUI.py:1702 +#: flatcamGUI/PreferencesUI.py:1726 msgid "Size for the new aperture" msgstr "" -#: flatcamGUI/PreferencesUI.py:1713 +#: flatcamGUI/PreferencesUI.py:1737 msgid "New Aperture type" msgstr "" -#: flatcamGUI/PreferencesUI.py:1715 +#: flatcamGUI/PreferencesUI.py:1739 msgid "" "Type for the new aperture.\n" "Can be 'C', 'R' or 'O'." msgstr "" -#: flatcamGUI/PreferencesUI.py:1738 +#: flatcamGUI/PreferencesUI.py:1762 msgid "Aperture Dimensions" msgstr "" -#: flatcamGUI/PreferencesUI.py:1740 flatcamGUI/PreferencesUI.py:2935 -#: flatcamGUI/PreferencesUI.py:3704 +#: flatcamGUI/PreferencesUI.py:1764 flatcamGUI/PreferencesUI.py:2976 +#: flatcamGUI/PreferencesUI.py:3792 msgid "Diameters of the cutting tools, separated by ','" msgstr "" -#: flatcamGUI/PreferencesUI.py:1746 +#: flatcamGUI/PreferencesUI.py:1770 msgid "Linear Pad Array" msgstr "" -#: flatcamGUI/PreferencesUI.py:1750 flatcamGUI/PreferencesUI.py:2667 -#: flatcamGUI/PreferencesUI.py:2815 +#: flatcamGUI/PreferencesUI.py:1774 flatcamGUI/PreferencesUI.py:2708 +#: flatcamGUI/PreferencesUI.py:2856 msgid "Linear Direction" msgstr "" -#: flatcamGUI/PreferencesUI.py:1790 +#: flatcamGUI/PreferencesUI.py:1814 msgid "Circular Pad Array" msgstr "" -#: flatcamGUI/PreferencesUI.py:1794 flatcamGUI/PreferencesUI.py:2713 -#: flatcamGUI/PreferencesUI.py:2863 +#: flatcamGUI/PreferencesUI.py:1818 flatcamGUI/PreferencesUI.py:2754 +#: flatcamGUI/PreferencesUI.py:2904 msgid "Circular Direction" msgstr "" -#: flatcamGUI/PreferencesUI.py:1796 flatcamGUI/PreferencesUI.py:2715 -#: flatcamGUI/PreferencesUI.py:2865 +#: flatcamGUI/PreferencesUI.py:1820 flatcamGUI/PreferencesUI.py:2756 +#: flatcamGUI/PreferencesUI.py:2906 msgid "" "Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise." msgstr "" -#: flatcamGUI/PreferencesUI.py:1807 flatcamGUI/PreferencesUI.py:2726 -#: flatcamGUI/PreferencesUI.py:2876 +#: flatcamGUI/PreferencesUI.py:1831 flatcamGUI/PreferencesUI.py:2767 +#: flatcamGUI/PreferencesUI.py:2917 msgid "Circular Angle" msgstr "" -#: flatcamGUI/PreferencesUI.py:1826 +#: flatcamGUI/PreferencesUI.py:1850 msgid "Distance at which to buffer the Gerber element." msgstr "" -#: flatcamGUI/PreferencesUI.py:1836 +#: flatcamGUI/PreferencesUI.py:1860 msgid "Scale Tool" msgstr "" -#: flatcamGUI/PreferencesUI.py:1842 +#: flatcamGUI/PreferencesUI.py:1866 msgid "Factor to scale the Gerber element." msgstr "" -#: flatcamGUI/PreferencesUI.py:1855 +#: flatcamGUI/PreferencesUI.py:1879 msgid "Threshold low" msgstr "" -#: flatcamGUI/PreferencesUI.py:1857 +#: flatcamGUI/PreferencesUI.py:1881 msgid "Threshold value under which the apertures are not marked." msgstr "" -#: flatcamGUI/PreferencesUI.py:1867 +#: flatcamGUI/PreferencesUI.py:1891 msgid "Threshold high" msgstr "" -#: flatcamGUI/PreferencesUI.py:1869 +#: flatcamGUI/PreferencesUI.py:1893 msgid "Threshold value over which the apertures are not marked." msgstr "" -#: flatcamGUI/PreferencesUI.py:1887 +#: flatcamGUI/PreferencesUI.py:1911 msgid "Excellon General" msgstr "" -#: flatcamGUI/PreferencesUI.py:1909 +#: flatcamGUI/PreferencesUI.py:1933 msgid "Excellon Format" msgstr "" -#: flatcamGUI/PreferencesUI.py:1911 +#: flatcamGUI/PreferencesUI.py:1935 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7775,37 +8255,37 @@ msgid "" "KiCAD 3:5 INCH TZ" msgstr "" -#: flatcamGUI/PreferencesUI.py:1939 +#: flatcamGUI/PreferencesUI.py:1963 msgid "Default values for INCH are 2:4" msgstr "" -#: flatcamGUI/PreferencesUI.py:1946 flatcamGUI/PreferencesUI.py:1977 -#: flatcamGUI/PreferencesUI.py:2504 +#: flatcamGUI/PreferencesUI.py:1970 flatcamGUI/PreferencesUI.py:2001 +#: flatcamGUI/PreferencesUI.py:2545 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." msgstr "" -#: flatcamGUI/PreferencesUI.py:1959 flatcamGUI/PreferencesUI.py:1990 -#: flatcamGUI/PreferencesUI.py:2517 +#: flatcamGUI/PreferencesUI.py:1983 flatcamGUI/PreferencesUI.py:2014 +#: flatcamGUI/PreferencesUI.py:2558 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." msgstr "" -#: flatcamGUI/PreferencesUI.py:1967 +#: flatcamGUI/PreferencesUI.py:1991 msgid "METRIC" msgstr "" -#: flatcamGUI/PreferencesUI.py:1970 +#: flatcamGUI/PreferencesUI.py:1994 msgid "Default values for METRIC are 3:3" msgstr "" -#: flatcamGUI/PreferencesUI.py:1999 +#: flatcamGUI/PreferencesUI.py:2023 msgid "Default Zeros" msgstr "" -#: flatcamGUI/PreferencesUI.py:2002 flatcamGUI/PreferencesUI.py:2552 +#: flatcamGUI/PreferencesUI.py:2026 flatcamGUI/PreferencesUI.py:2593 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -7814,7 +8294,7 @@ msgid "" "and Leading Zeros are removed." msgstr "" -#: flatcamGUI/PreferencesUI.py:2013 +#: flatcamGUI/PreferencesUI.py:2037 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -7824,11 +8304,11 @@ msgid "" "and Leading Zeros are removed." msgstr "" -#: flatcamGUI/PreferencesUI.py:2023 +#: flatcamGUI/PreferencesUI.py:2047 msgid "Default Units" msgstr "" -#: flatcamGUI/PreferencesUI.py:2026 +#: flatcamGUI/PreferencesUI.py:2050 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -7836,26 +8316,26 @@ msgid "" "therefore this parameter will be used." msgstr "" -#: flatcamGUI/PreferencesUI.py:2037 +#: flatcamGUI/PreferencesUI.py:2061 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" "therefore this parameter will be used." msgstr "" -#: flatcamGUI/PreferencesUI.py:2043 +#: flatcamGUI/PreferencesUI.py:2067 msgid "Update Export settings" msgstr "" -#: flatcamGUI/PreferencesUI.py:2051 +#: flatcamGUI/PreferencesUI.py:2075 msgid "Excellon Optimization" msgstr "" -#: flatcamGUI/PreferencesUI.py:2054 +#: flatcamGUI/PreferencesUI.py:2078 msgid "Algorithm:" msgstr "" -#: flatcamGUI/PreferencesUI.py:2056 flatcamGUI/PreferencesUI.py:2073 +#: flatcamGUI/PreferencesUI.py:2080 flatcamGUI/PreferencesUI.py:2097 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If <> is checked then Google OR-Tools algorithm with\n" @@ -7868,19 +8348,19 @@ msgid "" "Travelling Salesman algorithm for path optimization." msgstr "" -#: flatcamGUI/PreferencesUI.py:2068 +#: flatcamGUI/PreferencesUI.py:2092 msgid "MetaHeuristic" msgstr "" -#: flatcamGUI/PreferencesUI.py:2070 +#: flatcamGUI/PreferencesUI.py:2094 msgid "TSA" msgstr "" -#: flatcamGUI/PreferencesUI.py:2085 +#: flatcamGUI/PreferencesUI.py:2109 msgid "Optimization Time" msgstr "" -#: flatcamGUI/PreferencesUI.py:2088 +#: flatcamGUI/PreferencesUI.py:2112 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -7888,29 +8368,21 @@ msgid "" "In seconds." msgstr "" -#: flatcamGUI/PreferencesUI.py:2131 +#: flatcamGUI/PreferencesUI.py:2155 msgid "Excellon Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:2136 +#: flatcamGUI/PreferencesUI.py:2160 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." msgstr "" -#: flatcamGUI/PreferencesUI.py:2180 flatcamGUI/PreferencesUI.py:3042 -msgid "Toolchange Z" -msgstr "" - -#: flatcamGUI/PreferencesUI.py:2221 -msgid "Spindle Speed" -msgstr "" - -#: flatcamGUI/PreferencesUI.py:2236 flatcamGUI/PreferencesUI.py:3123 +#: flatcamGUI/PreferencesUI.py:2277 flatcamGUI/PreferencesUI.py:3184 msgid "Duration" msgstr "" -#: flatcamGUI/PreferencesUI.py:2266 +#: flatcamGUI/PreferencesUI.py:2307 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -7918,34 +8390,38 @@ msgid "" "converted to drills." msgstr "" -#: flatcamGUI/PreferencesUI.py:2316 +#: flatcamGUI/PreferencesUI.py:2325 +msgid "Create Geometry for milling holes." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:2357 msgid "Defaults" msgstr "" -#: flatcamGUI/PreferencesUI.py:2329 +#: flatcamGUI/PreferencesUI.py:2370 msgid "Excellon Adv. Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:2337 +#: flatcamGUI/PreferencesUI.py:2378 msgid "" "A list of Excellon advanced parameters.\n" "Those parameters are available only for\n" "Advanced App. Level." msgstr "" -#: flatcamGUI/PreferencesUI.py:2358 +#: flatcamGUI/PreferencesUI.py:2399 msgid "Toolchange X,Y" msgstr "" -#: flatcamGUI/PreferencesUI.py:2360 flatcamGUI/PreferencesUI.py:3177 +#: flatcamGUI/PreferencesUI.py:2401 flatcamGUI/PreferencesUI.py:3238 msgid "Toolchange X,Y position." msgstr "" -#: flatcamGUI/PreferencesUI.py:2417 flatcamGUI/PreferencesUI.py:3251 +#: flatcamGUI/PreferencesUI.py:2458 flatcamGUI/PreferencesUI.py:3312 msgid "Spindle dir." msgstr "" -#: flatcamGUI/PreferencesUI.py:2419 flatcamGUI/PreferencesUI.py:3253 +#: flatcamGUI/PreferencesUI.py:2460 flatcamGUI/PreferencesUI.py:3314 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -7953,11 +8429,11 @@ msgid "" "- CCW = counter clockwise" msgstr "" -#: flatcamGUI/PreferencesUI.py:2430 flatcamGUI/PreferencesUI.py:3265 +#: flatcamGUI/PreferencesUI.py:2471 flatcamGUI/PreferencesUI.py:3326 msgid "Fast Plunge" msgstr "" -#: flatcamGUI/PreferencesUI.py:2432 flatcamGUI/PreferencesUI.py:3267 +#: flatcamGUI/PreferencesUI.py:2473 flatcamGUI/PreferencesUI.py:3328 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -7965,11 +8441,11 @@ msgid "" "WARNING: the move is done at Toolchange X,Y coords." msgstr "" -#: flatcamGUI/PreferencesUI.py:2441 +#: flatcamGUI/PreferencesUI.py:2482 msgid "Fast Retract" msgstr "" -#: flatcamGUI/PreferencesUI.py:2443 +#: flatcamGUI/PreferencesUI.py:2484 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -7979,21 +8455,21 @@ msgid "" "(travel height) is done as fast as possible (G0) in one move." msgstr "" -#: flatcamGUI/PreferencesUI.py:2462 +#: flatcamGUI/PreferencesUI.py:2503 msgid "Excellon Export" msgstr "" -#: flatcamGUI/PreferencesUI.py:2467 +#: flatcamGUI/PreferencesUI.py:2508 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." msgstr "" -#: flatcamGUI/PreferencesUI.py:2478 flatcamGUI/PreferencesUI.py:2484 +#: flatcamGUI/PreferencesUI.py:2519 flatcamGUI/PreferencesUI.py:2525 msgid "The units used in the Excellon file." msgstr "" -#: flatcamGUI/PreferencesUI.py:2492 +#: flatcamGUI/PreferencesUI.py:2533 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -8001,11 +8477,11 @@ msgid "" "coordinates are not using period." msgstr "" -#: flatcamGUI/PreferencesUI.py:2526 +#: flatcamGUI/PreferencesUI.py:2567 msgid "Format" msgstr "" -#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:2538 +#: flatcamGUI/PreferencesUI.py:2569 flatcamGUI/PreferencesUI.py:2579 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -8015,15 +8491,15 @@ msgid "" "or TZ = trailing zeros are kept." msgstr "" -#: flatcamGUI/PreferencesUI.py:2535 +#: flatcamGUI/PreferencesUI.py:2576 msgid "Decimal" msgstr "" -#: flatcamGUI/PreferencesUI.py:2536 +#: flatcamGUI/PreferencesUI.py:2577 msgid "No-Decimal" msgstr "" -#: flatcamGUI/PreferencesUI.py:2562 +#: flatcamGUI/PreferencesUI.py:2603 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8032,11 +8508,11 @@ msgid "" "and Leading Zeros are removed." msgstr "" -#: flatcamGUI/PreferencesUI.py:2572 +#: flatcamGUI/PreferencesUI.py:2613 msgid "Slot type" msgstr "" -#: flatcamGUI/PreferencesUI.py:2575 flatcamGUI/PreferencesUI.py:2585 +#: flatcamGUI/PreferencesUI.py:2616 flatcamGUI/PreferencesUI.py:2626 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -8045,19 +8521,19 @@ msgid "" "using the Drilled slot command (G85)." msgstr "" -#: flatcamGUI/PreferencesUI.py:2582 +#: flatcamGUI/PreferencesUI.py:2623 msgid "Routed" msgstr "" -#: flatcamGUI/PreferencesUI.py:2583 +#: flatcamGUI/PreferencesUI.py:2624 msgid "Drilled(G85)" msgstr "" -#: flatcamGUI/PreferencesUI.py:2615 +#: flatcamGUI/PreferencesUI.py:2656 msgid "A list of Excellon Editor parameters." msgstr "" -#: flatcamGUI/PreferencesUI.py:2625 +#: flatcamGUI/PreferencesUI.py:2666 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -8066,52 +8542,60 @@ msgid "" "large number of geometric elements." msgstr "" -#: flatcamGUI/PreferencesUI.py:2638 +#: flatcamGUI/PreferencesUI.py:2679 flatcamGUI/PreferencesUI.py:3863 msgid "New Tool Dia" msgstr "" -#: flatcamGUI/PreferencesUI.py:2663 +#: flatcamGUI/PreferencesUI.py:2704 msgid "Linear Drill Array" msgstr "" -#: flatcamGUI/PreferencesUI.py:2709 +#: flatcamGUI/PreferencesUI.py:2750 msgid "Circular Drill Array" msgstr "" -#: flatcamGUI/PreferencesUI.py:2798 +#: flatcamGUI/PreferencesUI.py:2820 +msgid "" +"Angle at which the slot is placed.\n" +"The precision is of max 2 decimals.\n" +"Min value is: -359.99 degrees.\n" +"Max value is: 360.00 degrees." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:2839 msgid "Linear Slot Array" msgstr "" -#: flatcamGUI/PreferencesUI.py:2859 +#: flatcamGUI/PreferencesUI.py:2900 msgid "Circular Slot Array" msgstr "" -#: flatcamGUI/PreferencesUI.py:2898 +#: flatcamGUI/PreferencesUI.py:2939 msgid "Geometry General" msgstr "" -#: flatcamGUI/PreferencesUI.py:2919 +#: flatcamGUI/PreferencesUI.py:2960 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." msgstr "" -#: flatcamGUI/PreferencesUI.py:2950 +#: flatcamGUI/PreferencesUI.py:2991 msgid "Geometry Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:2957 +#: flatcamGUI/PreferencesUI.py:2998 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" "Geometry object." msgstr "" -#: flatcamGUI/PreferencesUI.py:2994 +#: flatcamGUI/PreferencesUI.py:3040 msgid "Depth/Pass" msgstr "" -#: flatcamGUI/PreferencesUI.py:2996 +#: flatcamGUI/PreferencesUI.py:3042 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -8120,59 +8604,59 @@ msgid "" "which has negative value." msgstr "" -#: flatcamGUI/PreferencesUI.py:3158 +#: flatcamGUI/PreferencesUI.py:3219 msgid "Geometry Adv. Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:3165 +#: flatcamGUI/PreferencesUI.py:3226 msgid "" "A list of Geometry advanced parameters.\n" "Those parameters are available only for\n" "Advanced App. Level." msgstr "" -#: flatcamGUI/PreferencesUI.py:3175 flatcamGUI/PreferencesUI.py:5000 -#: flatcamTools/ToolSolderPaste.py:206 +#: flatcamGUI/PreferencesUI.py:3236 flatcamGUI/PreferencesUI.py:5135 +#: flatcamTools/ToolSolderPaste.py:233 msgid "Toolchange X-Y" msgstr "" -#: flatcamGUI/PreferencesUI.py:3186 +#: flatcamGUI/PreferencesUI.py:3247 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." msgstr "" -#: flatcamGUI/PreferencesUI.py:3277 +#: flatcamGUI/PreferencesUI.py:3338 msgid "Seg. X size" msgstr "" -#: flatcamGUI/PreferencesUI.py:3279 +#: flatcamGUI/PreferencesUI.py:3340 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" "A value of 0 means no segmentation on the X axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:3293 +#: flatcamGUI/PreferencesUI.py:3354 msgid "Seg. Y size" msgstr "" -#: flatcamGUI/PreferencesUI.py:3295 +#: flatcamGUI/PreferencesUI.py:3356 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" "A value of 0 means no segmentation on the Y axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:3316 +#: flatcamGUI/PreferencesUI.py:3377 msgid "Geometry Editor" msgstr "" -#: flatcamGUI/PreferencesUI.py:3321 +#: flatcamGUI/PreferencesUI.py:3382 msgid "A list of Geometry Editor parameters." msgstr "" -#: flatcamGUI/PreferencesUI.py:3331 +#: flatcamGUI/PreferencesUI.py:3392 flatcamGUI/PreferencesUI.py:5706 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -8181,51 +8665,51 @@ msgid "" "large number of geometric elements." msgstr "" -#: flatcamGUI/PreferencesUI.py:3363 +#: flatcamGUI/PreferencesUI.py:3424 msgid "CNC Job General" msgstr "" -#: flatcamGUI/PreferencesUI.py:3418 +#: flatcamGUI/PreferencesUI.py:3476 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." msgstr "" -#: flatcamGUI/PreferencesUI.py:3427 +#: flatcamGUI/PreferencesUI.py:3485 msgid "Travel dia" msgstr "" -#: flatcamGUI/PreferencesUI.py:3429 +#: flatcamGUI/PreferencesUI.py:3487 msgid "" "The width of the travel lines to be\n" "rendered in the plot." msgstr "" -#: flatcamGUI/PreferencesUI.py:3445 +#: flatcamGUI/PreferencesUI.py:3503 msgid "Coordinates decimals" msgstr "" -#: flatcamGUI/PreferencesUI.py:3447 +#: flatcamGUI/PreferencesUI.py:3505 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" msgstr "" -#: flatcamGUI/PreferencesUI.py:3458 +#: flatcamGUI/PreferencesUI.py:3516 msgid "Feedrate decimals" msgstr "" -#: flatcamGUI/PreferencesUI.py:3460 +#: flatcamGUI/PreferencesUI.py:3518 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" msgstr "" -#: flatcamGUI/PreferencesUI.py:3471 +#: flatcamGUI/PreferencesUI.py:3529 msgid "Coordinates type" msgstr "" -#: flatcamGUI/PreferencesUI.py:3473 +#: flatcamGUI/PreferencesUI.py:3531 msgid "" "The type of coordinates to be used in Gcode.\n" "Can be:\n" @@ -8233,102 +8717,119 @@ msgid "" "- Incremental G91 -> the reference is the previous position" msgstr "" -#: flatcamGUI/PreferencesUI.py:3479 +#: flatcamGUI/PreferencesUI.py:3537 msgid "Absolute G90" msgstr "" -#: flatcamGUI/PreferencesUI.py:3480 +#: flatcamGUI/PreferencesUI.py:3538 msgid "Incremental G91" msgstr "" -#: flatcamGUI/PreferencesUI.py:3497 +#: flatcamGUI/PreferencesUI.py:3548 +msgid "Force Windows style line-ending" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:3550 +msgid "" +"When checked will force a Windows style line-ending\n" +"(\\r\\n) on non-Windows OS's." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:3564 msgid "CNC Job Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:3500 +#: flatcamGUI/PreferencesUI.py:3567 msgid "Export G-Code" msgstr "" -#: flatcamGUI/PreferencesUI.py:3516 +#: flatcamGUI/PreferencesUI.py:3583 msgid "Prepend to G-Code" msgstr "" -#: flatcamGUI/PreferencesUI.py:3528 +#: flatcamGUI/PreferencesUI.py:3599 msgid "Append to G-Code" msgstr "" -#: flatcamGUI/PreferencesUI.py:3548 +#: flatcamGUI/PreferencesUI.py:3624 msgid "CNC Job Adv. Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:3620 -msgid "y_toolchange = Y coord for Toolchange" -msgstr "" - -#: flatcamGUI/PreferencesUI.py:3623 +#: flatcamGUI/PreferencesUI.py:3710 msgid "Z depth for the cut" msgstr "" -#: flatcamGUI/PreferencesUI.py:3624 +#: flatcamGUI/PreferencesUI.py:3711 msgid "Z height for travel" msgstr "" -#: flatcamGUI/PreferencesUI.py:3630 +#: flatcamGUI/PreferencesUI.py:3717 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" -#: flatcamGUI/PreferencesUI.py:3649 +#: flatcamGUI/PreferencesUI.py:3736 msgid "Annotation Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:3651 +#: flatcamGUI/PreferencesUI.py:3738 msgid "The font size of the annotation text. In pixels." msgstr "" -#: flatcamGUI/PreferencesUI.py:3661 +#: flatcamGUI/PreferencesUI.py:3748 msgid "Annotation Color" msgstr "" -#: flatcamGUI/PreferencesUI.py:3663 +#: flatcamGUI/PreferencesUI.py:3750 msgid "Set the font color for the annotation texts." msgstr "" -#: flatcamGUI/PreferencesUI.py:3689 +#: flatcamGUI/PreferencesUI.py:3776 msgid "NCC Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:3702 flatcamGUI/PreferencesUI.py:4935 +#: flatcamGUI/PreferencesUI.py:3790 flatcamGUI/PreferencesUI.py:5045 msgid "Tools dia" msgstr "" -#: flatcamGUI/PreferencesUI.py:3713 flatcamGUI/PreferencesUI.py:3721 -#: flatcamTools/ToolNonCopperClear.py:210 flatcamTools/ToolNonCopperClear.py:218 +#: flatcamGUI/PreferencesUI.py:3801 flatcamGUI/PreferencesUI.py:3809 +#: flatcamTools/ToolNonCopperClear.py:215 flatcamTools/ToolNonCopperClear.py:223 msgid "" "Default tool type:\n" "- 'V-shape'\n" "- Circular" msgstr "" -#: flatcamGUI/PreferencesUI.py:3718 flatcamTools/ToolNonCopperClear.py:215 +#: flatcamGUI/PreferencesUI.py:3806 flatcamTools/ToolNonCopperClear.py:220 msgid "V-shape" msgstr "" -#: flatcamGUI/PreferencesUI.py:3758 flatcamGUI/PreferencesUI.py:3766 -#: flatcamTools/ToolNonCopperClear.py:162 flatcamTools/ToolNonCopperClear.py:170 +#: flatcamGUI/PreferencesUI.py:3846 flatcamGUI/PreferencesUI.py:3855 +#: flatcamTools/ToolNonCopperClear.py:256 flatcamTools/ToolNonCopperClear.py:264 +msgid "" +"Depth of cut into material. Negative value.\n" +"In FlatCAM units." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:3865 +msgid "The new tool diameter (cut width) to add in the tool table." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:3877 flatcamGUI/PreferencesUI.py:3885 +#: flatcamTools/ToolNonCopperClear.py:164 flatcamTools/ToolNonCopperClear.py:172 msgid "" "Milling type when the selected tool is of type: 'iso_op':\n" "- climb / best for precision milling and to reduce tool usage\n" "- conventional / useful when there is no backlash compensation" msgstr "" -#: flatcamGUI/PreferencesUI.py:3775 flatcamGUI/PreferencesUI.py:4167 -#: flatcamTools/ToolNonCopperClear.py:176 flatcamTools/ToolPaint.py:153 +#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4274 +#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153 msgid "Tool order" msgstr "" -#: flatcamGUI/PreferencesUI.py:3776 flatcamGUI/PreferencesUI.py:3786 -#: flatcamGUI/PreferencesUI.py:4168 flatcamGUI/PreferencesUI.py:4178 -#: flatcamTools/ToolNonCopperClear.py:177 flatcamTools/ToolNonCopperClear.py:187 +#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3905 +#: flatcamGUI/PreferencesUI.py:4275 flatcamGUI/PreferencesUI.py:4285 +#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolNonCopperClear.py:192 #: flatcamTools/ToolPaint.py:154 flatcamTools/ToolPaint.py:164 msgid "" "This set the way that the tools in the tools table are used.\n" @@ -8340,24 +8841,17 @@ msgid "" "in reverse and disable this control." msgstr "" -#: flatcamGUI/PreferencesUI.py:3784 flatcamGUI/PreferencesUI.py:4176 -#: flatcamTools/ToolNonCopperClear.py:185 flatcamTools/ToolPaint.py:162 +#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4283 +#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162 msgid "Forward" msgstr "" -#: flatcamGUI/PreferencesUI.py:3785 flatcamGUI/PreferencesUI.py:4177 -#: flatcamTools/ToolNonCopperClear.py:186 flatcamTools/ToolPaint.py:163 +#: flatcamGUI/PreferencesUI.py:3904 flatcamGUI/PreferencesUI.py:4284 +#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163 msgid "Reverse" msgstr "" -#: flatcamGUI/PreferencesUI.py:3798 flatcamGUI/PreferencesUI.py:3807 -#: flatcamTools/ToolNonCopperClear.py:293 flatcamTools/ToolNonCopperClear.py:301 -msgid "" -"Depth of cut into material. Negative value.\n" -"In FlatCAM units." -msgstr "" - -#: flatcamGUI/PreferencesUI.py:3817 flatcamTools/ToolNonCopperClear.py:310 +#: flatcamGUI/PreferencesUI.py:3917 flatcamTools/ToolNonCopperClear.py:321 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -8372,33 +8866,34 @@ msgid "" "due of too many paths." msgstr "" -#: flatcamGUI/PreferencesUI.py:3838 flatcamTools/ToolNonCopperClear.py:330 +#: flatcamGUI/PreferencesUI.py:3938 flatcamGUI/PreferencesUI.py:5772 +#: flatcamTools/ToolCopperThieving.py:111 flatcamTools/ToolNonCopperClear.py:341 msgid "Bounding box margin." msgstr "" -#: flatcamGUI/PreferencesUI.py:3851 flatcamGUI/PreferencesUI.py:4227 -#: flatcamTools/ToolNonCopperClear.py:341 +#: flatcamGUI/PreferencesUI.py:3951 flatcamGUI/PreferencesUI.py:4334 +#: flatcamTools/ToolNonCopperClear.py:352 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards.
Seed-" "based: Outwards from seed.
Line-based: Parallel lines." msgstr "" -#: flatcamGUI/PreferencesUI.py:3865 flatcamGUI/PreferencesUI.py:4241 -#: flatcamTools/ToolNonCopperClear.py:355 flatcamTools/ToolPaint.py:269 +#: flatcamGUI/PreferencesUI.py:3967 flatcamGUI/PreferencesUI.py:4348 +#: flatcamTools/ToolNonCopperClear.py:366 flatcamTools/ToolPaint.py:269 msgid "Connect" msgstr "" -#: flatcamGUI/PreferencesUI.py:3875 flatcamGUI/PreferencesUI.py:4251 -#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:278 +#: flatcamGUI/PreferencesUI.py:3978 flatcamGUI/PreferencesUI.py:4358 +#: flatcamTools/ToolNonCopperClear.py:375 flatcamTools/ToolPaint.py:278 msgid "Contour" msgstr "" -#: flatcamGUI/PreferencesUI.py:3885 flatcamTools/ToolNonCopperClear.py:373 +#: flatcamGUI/PreferencesUI.py:3989 flatcamTools/ToolNonCopperClear.py:384 #: flatcamTools/ToolPaint.py:287 msgid "Rest M." msgstr "" -#: flatcamGUI/PreferencesUI.py:3887 flatcamTools/ToolNonCopperClear.py:375 +#: flatcamGUI/PreferencesUI.py:3991 flatcamTools/ToolNonCopperClear.py:386 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -8409,8 +8904,8 @@ msgid "" "If not checked, use the standard algorithm." msgstr "" -#: flatcamGUI/PreferencesUI.py:3902 flatcamGUI/PreferencesUI.py:3914 -#: flatcamTools/ToolNonCopperClear.py:390 flatcamTools/ToolNonCopperClear.py:402 +#: flatcamGUI/PreferencesUI.py:4007 flatcamTools/ToolNonCopperClear.py:401 +#: flatcamTools/ToolNonCopperClear.py:413 msgid "" "If used, it will add an offset to the copper features.\n" "The copper clearing will finish to a distance\n" @@ -8418,28 +8913,37 @@ msgid "" "The value can be between 0 and 10 FlatCAM units." msgstr "" -#: flatcamGUI/PreferencesUI.py:3912 flatcamTools/ToolNonCopperClear.py:400 +#: flatcamGUI/PreferencesUI.py:4018 flatcamTools/ToolNonCopperClear.py:411 msgid "Offset value" msgstr "" -#: flatcamGUI/PreferencesUI.py:3929 flatcamTools/ToolNonCopperClear.py:426 +#: flatcamGUI/PreferencesUI.py:4020 +msgid "" +"If used, it will add an offset to the copper features.\n" +"The copper clearing will finish to a distance\n" +"from the copper features.\n" +"The value can be between 0.0 and 9999.9 FlatCAM units." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:4035 flatcamGUI/PreferencesUI.py:5784 +#: flatcamTools/ToolCopperThieving.py:123 flatcamTools/ToolNonCopperClear.py:437 msgid "Itself" msgstr "" -#: flatcamGUI/PreferencesUI.py:3930 flatcamGUI/PreferencesUI.py:4272 +#: flatcamGUI/PreferencesUI.py:4036 flatcamGUI/PreferencesUI.py:4379 msgid "Area" msgstr "" -#: flatcamGUI/PreferencesUI.py:3931 +#: flatcamGUI/PreferencesUI.py:4037 msgid "Ref" msgstr "" -#: flatcamGUI/PreferencesUI.py:3932 flatcamGUI/PreferencesUI.py:4451 +#: flatcamGUI/PreferencesUI.py:4038 flatcamGUI/PreferencesUI.py:4558 #: flatcamTools/ToolFilm.py:202 msgid "Reference" msgstr "" -#: flatcamGUI/PreferencesUI.py:3934 flatcamTools/ToolNonCopperClear.py:432 +#: flatcamGUI/PreferencesUI.py:4040 msgid "" "- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" @@ -8449,66 +8953,66 @@ msgid "" "specified by another object." msgstr "" -#: flatcamGUI/PreferencesUI.py:3945 flatcamGUI/PreferencesUI.py:4280 +#: flatcamGUI/PreferencesUI.py:4052 flatcamGUI/PreferencesUI.py:4387 msgid "Normal" msgstr "" -#: flatcamGUI/PreferencesUI.py:3946 flatcamGUI/PreferencesUI.py:4281 +#: flatcamGUI/PreferencesUI.py:4053 flatcamGUI/PreferencesUI.py:4388 msgid "Progressive" msgstr "" -#: flatcamGUI/PreferencesUI.py:3947 +#: flatcamGUI/PreferencesUI.py:4054 msgid "NCC Plotting" msgstr "" -#: flatcamGUI/PreferencesUI.py:3949 +#: flatcamGUI/PreferencesUI.py:4056 msgid "" "- 'Normal' - normal plotting, done at the end of the NCC job\n" "- 'Progressive' - after each shape is generated it will be plotted." msgstr "" -#: flatcamGUI/PreferencesUI.py:3963 +#: flatcamGUI/PreferencesUI.py:4070 msgid "Cutout Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:3980 flatcamTools/ToolCutOut.py:114 +#: flatcamGUI/PreferencesUI.py:4087 flatcamTools/ToolCutOut.py:114 msgid "" "Diameter of the tool used to cutout\n" "the PCB shape out of the surrounding material." msgstr "" -#: flatcamGUI/PreferencesUI.py:3992 flatcamTools/ToolCutOut.py:95 +#: flatcamGUI/PreferencesUI.py:4099 flatcamTools/ToolCutOut.py:95 msgid "Obj kind" msgstr "" -#: flatcamGUI/PreferencesUI.py:3994 flatcamTools/ToolCutOut.py:97 +#: flatcamGUI/PreferencesUI.py:4101 flatcamTools/ToolCutOut.py:97 msgid "" "Choice of what kind the object we want to cutout is.
- Single: contain a single " "PCB Gerber outline object.
- Panel: a panel PCB Gerber object, which is made\n" "out of many individual PCB outlines." msgstr "" -#: flatcamGUI/PreferencesUI.py:4001 flatcamGUI/PreferencesUI.py:4271 +#: flatcamGUI/PreferencesUI.py:4108 flatcamGUI/PreferencesUI.py:4378 #: flatcamTools/ToolCutOut.py:103 msgid "Single" msgstr "" -#: flatcamGUI/PreferencesUI.py:4002 flatcamTools/ToolCutOut.py:104 +#: flatcamGUI/PreferencesUI.py:4109 flatcamTools/ToolCutOut.py:104 msgid "Panel" msgstr "" -#: flatcamGUI/PreferencesUI.py:4008 flatcamTools/ToolCutOut.py:125 +#: flatcamGUI/PreferencesUI.py:4115 flatcamTools/ToolCutOut.py:125 msgid "" "Margin over bounds. A positive value here\n" "will make the cutout of the PCB further from\n" "the actual PCB border" msgstr "" -#: flatcamGUI/PreferencesUI.py:4020 +#: flatcamGUI/PreferencesUI.py:4127 msgid "Gap size" msgstr "" -#: flatcamGUI/PreferencesUI.py:4022 flatcamTools/ToolCutOut.py:137 +#: flatcamGUI/PreferencesUI.py:4129 flatcamTools/ToolCutOut.py:137 msgid "" "The size of the bridge gaps in the cutout\n" "used to keep the board connected to\n" @@ -8516,11 +9020,11 @@ msgid "" "from which the PCB is cutout)." msgstr "" -#: flatcamGUI/PreferencesUI.py:4035 flatcamTools/ToolCutOut.py:173 +#: flatcamGUI/PreferencesUI.py:4142 flatcamTools/ToolCutOut.py:173 msgid "Gaps" msgstr "" -#: flatcamGUI/PreferencesUI.py:4037 +#: flatcamGUI/PreferencesUI.py:4144 msgid "" "Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" @@ -8534,75 +9038,75 @@ msgid "" "- 8 - 2*left + 2*right +2*top + 2*bottom" msgstr "" -#: flatcamGUI/PreferencesUI.py:4059 flatcamTools/ToolCutOut.py:154 +#: flatcamGUI/PreferencesUI.py:4166 flatcamTools/ToolCutOut.py:154 msgid "Convex Sh." msgstr "" -#: flatcamGUI/PreferencesUI.py:4061 flatcamTools/ToolCutOut.py:156 +#: flatcamGUI/PreferencesUI.py:4168 flatcamTools/ToolCutOut.py:156 msgid "" "Create a convex shape surrounding the entire PCB.\n" "Used only if the source object type is Gerber." msgstr "" -#: flatcamGUI/PreferencesUI.py:4075 +#: flatcamGUI/PreferencesUI.py:4182 msgid "2Sided Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4081 +#: flatcamGUI/PreferencesUI.py:4188 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." msgstr "" -#: flatcamGUI/PreferencesUI.py:4095 flatcamTools/ToolDblSided.py:247 +#: flatcamGUI/PreferencesUI.py:4202 flatcamTools/ToolDblSided.py:247 msgid "Drill dia" msgstr "" -#: flatcamGUI/PreferencesUI.py:4097 flatcamTools/ToolDblSided.py:238 +#: flatcamGUI/PreferencesUI.py:4204 flatcamTools/ToolDblSided.py:238 #: flatcamTools/ToolDblSided.py:249 msgid "Diameter of the drill for the alignment holes." msgstr "" -#: flatcamGUI/PreferencesUI.py:4106 flatcamTools/ToolDblSided.py:128 +#: flatcamGUI/PreferencesUI.py:4213 flatcamTools/ToolDblSided.py:128 msgid "Mirror Axis:" msgstr "" -#: flatcamGUI/PreferencesUI.py:4108 flatcamTools/ToolDblSided.py:130 +#: flatcamGUI/PreferencesUI.py:4215 flatcamTools/ToolDblSided.py:130 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "" -#: flatcamGUI/PreferencesUI.py:4117 flatcamTools/ToolDblSided.py:139 +#: flatcamGUI/PreferencesUI.py:4224 flatcamTools/ToolDblSided.py:139 msgid "Point" msgstr "" -#: flatcamGUI/PreferencesUI.py:4118 flatcamTools/ToolDblSided.py:140 +#: flatcamGUI/PreferencesUI.py:4225 flatcamTools/ToolDblSided.py:140 msgid "Box" msgstr "" -#: flatcamGUI/PreferencesUI.py:4119 +#: flatcamGUI/PreferencesUI.py:4226 msgid "Axis Ref" msgstr "" -#: flatcamGUI/PreferencesUI.py:4121 flatcamTools/ToolDblSided.py:143 +#: flatcamGUI/PreferencesUI.py:4228 flatcamTools/ToolDblSided.py:143 msgid "" "The axis should pass through a point or cut\n" " a specified box (in a FlatCAM object) through \n" "the center." msgstr "" -#: flatcamGUI/PreferencesUI.py:4137 +#: flatcamGUI/PreferencesUI.py:4244 msgid "Paint Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4143 +#: flatcamGUI/PreferencesUI.py:4250 msgid "Parameters:" msgstr "" -#: flatcamGUI/PreferencesUI.py:4261 flatcamTools/ToolPaint.py:302 +#: flatcamGUI/PreferencesUI.py:4368 flatcamTools/ToolPaint.py:302 msgid "Selection" msgstr "" -#: flatcamGUI/PreferencesUI.py:4263 flatcamTools/ToolPaint.py:304 +#: flatcamGUI/PreferencesUI.py:4370 flatcamTools/ToolPaint.py:304 #: flatcamTools/ToolPaint.py:320 msgid "" "How to select Polygons to be painted.\n" @@ -8614,36 +9118,36 @@ msgid "" "specified by another object." msgstr "" -#: flatcamGUI/PreferencesUI.py:4274 +#: flatcamGUI/PreferencesUI.py:4381 msgid "Ref." msgstr "" -#: flatcamGUI/PreferencesUI.py:4282 +#: flatcamGUI/PreferencesUI.py:4389 msgid "Paint Plotting" msgstr "" -#: flatcamGUI/PreferencesUI.py:4284 +#: flatcamGUI/PreferencesUI.py:4391 msgid "" "- 'Normal' - normal plotting, done at the end of the Paint job\n" "- 'Progressive' - after each shape is generated it will be plotted." msgstr "" -#: flatcamGUI/PreferencesUI.py:4298 +#: flatcamGUI/PreferencesUI.py:4405 msgid "Film Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4304 +#: flatcamGUI/PreferencesUI.py:4411 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" "The file is saved in SVG format." msgstr "" -#: flatcamGUI/PreferencesUI.py:4315 +#: flatcamGUI/PreferencesUI.py:4422 msgid "Film Type" msgstr "" -#: flatcamGUI/PreferencesUI.py:4317 flatcamTools/ToolFilm.py:270 +#: flatcamGUI/PreferencesUI.py:4424 flatcamTools/ToolFilm.py:270 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -8653,19 +9157,19 @@ msgid "" "The Film format is SVG." msgstr "" -#: flatcamGUI/PreferencesUI.py:4328 +#: flatcamGUI/PreferencesUI.py:4435 msgid "Film Color" msgstr "" -#: flatcamGUI/PreferencesUI.py:4330 +#: flatcamGUI/PreferencesUI.py:4437 msgid "Set the film color when positive film is selected." msgstr "" -#: flatcamGUI/PreferencesUI.py:4353 flatcamTools/ToolFilm.py:286 +#: flatcamGUI/PreferencesUI.py:4460 flatcamTools/ToolFilm.py:286 msgid "Border" msgstr "" -#: flatcamGUI/PreferencesUI.py:4355 flatcamTools/ToolFilm.py:288 +#: flatcamGUI/PreferencesUI.py:4462 flatcamTools/ToolFilm.py:288 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -8677,176 +9181,179 @@ msgid "" "surroundings if not for this border." msgstr "" -#: flatcamGUI/PreferencesUI.py:4372 flatcamTools/ToolFilm.py:253 +#: flatcamGUI/PreferencesUI.py:4479 flatcamTools/ToolFilm.py:253 msgid "Scale Stroke" msgstr "" -#: flatcamGUI/PreferencesUI.py:4374 flatcamTools/ToolFilm.py:255 +#: flatcamGUI/PreferencesUI.py:4481 flatcamTools/ToolFilm.py:255 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or thinner,\n" "therefore the fine features may be more affected by this parameter." msgstr "" -#: flatcamGUI/PreferencesUI.py:4381 flatcamTools/ToolFilm.py:130 +#: flatcamGUI/PreferencesUI.py:4488 flatcamTools/ToolFilm.py:130 msgid "Film Adjustments" msgstr "" -#: flatcamGUI/PreferencesUI.py:4383 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/PreferencesUI.py:4490 flatcamTools/ToolFilm.py:132 msgid "" "Sometime the printers will distort the print shape, especially the Laser types.\n" "This section provide the tools to compensate for the print distortions." msgstr "" -#: flatcamGUI/PreferencesUI.py:4390 flatcamTools/ToolFilm.py:139 +#: flatcamGUI/PreferencesUI.py:4497 flatcamTools/ToolFilm.py:139 msgid "Scale Film geometry" msgstr "" -#: flatcamGUI/PreferencesUI.py:4392 flatcamTools/ToolFilm.py:141 +#: flatcamGUI/PreferencesUI.py:4499 flatcamTools/ToolFilm.py:141 msgid "" "A value greater than 1 will stretch the film\n" "while a value less than 1 will jolt it." msgstr "" -#: flatcamGUI/PreferencesUI.py:4402 flatcamGUI/PreferencesUI.py:4821 +#: flatcamGUI/PreferencesUI.py:4509 flatcamGUI/PreferencesUI.py:4930 #: flatcamTools/ToolFilm.py:151 flatcamTools/ToolTransform.py:147 msgid "X factor" msgstr "" -#: flatcamGUI/PreferencesUI.py:4411 flatcamGUI/PreferencesUI.py:4834 +#: flatcamGUI/PreferencesUI.py:4518 flatcamGUI/PreferencesUI.py:4943 #: flatcamTools/ToolFilm.py:160 flatcamTools/ToolTransform.py:168 msgid "Y factor" msgstr "" -#: flatcamGUI/PreferencesUI.py:4421 flatcamTools/ToolFilm.py:172 +#: flatcamGUI/PreferencesUI.py:4528 flatcamTools/ToolFilm.py:172 msgid "Skew Film geometry" msgstr "" -#: flatcamGUI/PreferencesUI.py:4423 flatcamTools/ToolFilm.py:174 +#: flatcamGUI/PreferencesUI.py:4530 flatcamTools/ToolFilm.py:174 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." msgstr "" -#: flatcamGUI/PreferencesUI.py:4433 flatcamGUI/PreferencesUI.py:4790 +#: flatcamGUI/PreferencesUI.py:4540 flatcamGUI/PreferencesUI.py:4899 #: flatcamTools/ToolFilm.py:184 flatcamTools/ToolTransform.py:97 msgid "X angle" msgstr "" -#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:4804 +#: flatcamGUI/PreferencesUI.py:4549 flatcamGUI/PreferencesUI.py:4913 #: flatcamTools/ToolFilm.py:193 flatcamTools/ToolTransform.py:119 msgid "Y angle" msgstr "" -#: flatcamGUI/PreferencesUI.py:4453 flatcamTools/ToolFilm.py:204 +#: flatcamGUI/PreferencesUI.py:4560 flatcamTools/ToolFilm.py:204 msgid "" "The reference point to be used as origin for the skew.\n" "It can be one of the four points of the geometry bounding box." msgstr "" -#: flatcamGUI/PreferencesUI.py:4456 flatcamTools/ToolFilm.py:207 +#: flatcamGUI/PreferencesUI.py:4563 flatcamTools/ToolCalibrateExcellon.py:151 +#: flatcamTools/ToolFilm.py:207 msgid "Bottom Left" msgstr "" -#: flatcamGUI/PreferencesUI.py:4457 flatcamTools/ToolFilm.py:208 +#: flatcamGUI/PreferencesUI.py:4564 flatcamTools/ToolCalibrateExcellon.py:204 +#: flatcamTools/ToolFilm.py:208 msgid "Top Left" msgstr "" -#: flatcamGUI/PreferencesUI.py:4458 flatcamTools/ToolFilm.py:209 +#: flatcamGUI/PreferencesUI.py:4565 flatcamTools/ToolCalibrateExcellon.py:180 +#: flatcamTools/ToolFilm.py:209 msgid "Bottom Right" msgstr "" -#: flatcamGUI/PreferencesUI.py:4459 flatcamTools/ToolFilm.py:210 +#: flatcamGUI/PreferencesUI.py:4566 flatcamTools/ToolFilm.py:210 msgid "Top right" msgstr "" -#: flatcamGUI/PreferencesUI.py:4467 flatcamTools/ToolFilm.py:221 +#: flatcamGUI/PreferencesUI.py:4574 flatcamTools/ToolFilm.py:221 msgid "Mirror Film geometry" msgstr "" -#: flatcamGUI/PreferencesUI.py:4469 flatcamTools/ToolFilm.py:223 +#: flatcamGUI/PreferencesUI.py:4576 flatcamTools/ToolFilm.py:223 msgid "Mirror the film geometry on the selected axis or on both." msgstr "" -#: flatcamGUI/PreferencesUI.py:4481 flatcamTools/ToolFilm.py:235 +#: flatcamGUI/PreferencesUI.py:4588 flatcamTools/ToolFilm.py:235 msgid "Both" msgstr "" -#: flatcamGUI/PreferencesUI.py:4483 flatcamTools/ToolFilm.py:237 +#: flatcamGUI/PreferencesUI.py:4590 flatcamTools/ToolFilm.py:237 msgid "Mirror axis" msgstr "" -#: flatcamGUI/PreferencesUI.py:4496 +#: flatcamGUI/PreferencesUI.py:4603 msgid "Panelize Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4502 +#: flatcamGUI/PreferencesUI.py:4609 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" "at a X distance, Y distance of each other." msgstr "" -#: flatcamGUI/PreferencesUI.py:4517 flatcamTools/ToolPanelize.py:159 +#: flatcamGUI/PreferencesUI.py:4626 flatcamTools/ToolPanelize.py:159 msgid "Spacing cols" msgstr "" -#: flatcamGUI/PreferencesUI.py:4519 flatcamTools/ToolPanelize.py:161 +#: flatcamGUI/PreferencesUI.py:4628 flatcamTools/ToolPanelize.py:161 msgid "" "Spacing between columns of the desired panel.\n" "In current units." msgstr "" -#: flatcamGUI/PreferencesUI.py:4531 flatcamTools/ToolPanelize.py:171 +#: flatcamGUI/PreferencesUI.py:4640 flatcamTools/ToolPanelize.py:171 msgid "Spacing rows" msgstr "" -#: flatcamGUI/PreferencesUI.py:4533 flatcamTools/ToolPanelize.py:173 +#: flatcamGUI/PreferencesUI.py:4642 flatcamTools/ToolPanelize.py:173 msgid "" "Spacing between rows of the desired panel.\n" "In current units." msgstr "" -#: flatcamGUI/PreferencesUI.py:4544 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/PreferencesUI.py:4653 flatcamTools/ToolPanelize.py:182 msgid "Columns" msgstr "" -#: flatcamGUI/PreferencesUI.py:4546 flatcamTools/ToolPanelize.py:184 +#: flatcamGUI/PreferencesUI.py:4655 flatcamTools/ToolPanelize.py:184 msgid "Number of columns of the desired panel" msgstr "" -#: flatcamGUI/PreferencesUI.py:4556 flatcamTools/ToolPanelize.py:192 +#: flatcamGUI/PreferencesUI.py:4665 flatcamTools/ToolPanelize.py:192 msgid "Rows" msgstr "" -#: flatcamGUI/PreferencesUI.py:4558 flatcamTools/ToolPanelize.py:194 +#: flatcamGUI/PreferencesUI.py:4667 flatcamTools/ToolPanelize.py:194 msgid "Number of rows of the desired panel" msgstr "" -#: flatcamGUI/PreferencesUI.py:4564 flatcamTools/ToolPanelize.py:200 +#: flatcamGUI/PreferencesUI.py:4673 flatcamTools/ToolPanelize.py:200 msgid "Gerber" msgstr "" -#: flatcamGUI/PreferencesUI.py:4565 flatcamTools/ToolPanelize.py:201 +#: flatcamGUI/PreferencesUI.py:4674 flatcamTools/ToolPanelize.py:201 msgid "Geo" msgstr "" -#: flatcamGUI/PreferencesUI.py:4566 flatcamTools/ToolPanelize.py:202 +#: flatcamGUI/PreferencesUI.py:4675 flatcamTools/ToolPanelize.py:202 msgid "Panel Type" msgstr "" -#: flatcamGUI/PreferencesUI.py:4568 +#: flatcamGUI/PreferencesUI.py:4677 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" "- Geometry" msgstr "" -#: flatcamGUI/PreferencesUI.py:4577 +#: flatcamGUI/PreferencesUI.py:4686 msgid "Constrain within" msgstr "" -#: flatcamGUI/PreferencesUI.py:4579 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/PreferencesUI.py:4688 flatcamTools/ToolPanelize.py:214 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -8855,142 +9362,143 @@ msgid "" "they fit completely within selected area." msgstr "" -#: flatcamGUI/PreferencesUI.py:4592 flatcamTools/ToolPanelize.py:226 +#: flatcamGUI/PreferencesUI.py:4701 flatcamTools/ToolPanelize.py:226 msgid "Width (DX)" msgstr "" -#: flatcamGUI/PreferencesUI.py:4594 flatcamTools/ToolPanelize.py:228 +#: flatcamGUI/PreferencesUI.py:4703 flatcamTools/ToolPanelize.py:228 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." msgstr "" -#: flatcamGUI/PreferencesUI.py:4605 flatcamTools/ToolPanelize.py:237 +#: flatcamGUI/PreferencesUI.py:4714 flatcamTools/ToolPanelize.py:237 msgid "Height (DY)" msgstr "" -#: flatcamGUI/PreferencesUI.py:4607 flatcamTools/ToolPanelize.py:239 +#: flatcamGUI/PreferencesUI.py:4716 flatcamTools/ToolPanelize.py:239 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." msgstr "" -#: flatcamGUI/PreferencesUI.py:4621 +#: flatcamGUI/PreferencesUI.py:4730 msgid "Calculators Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4625 flatcamTools/ToolCalculators.py:25 +#: flatcamGUI/PreferencesUI.py:4734 flatcamTools/ToolCalculators.py:25 msgid "V-Shape Tool Calculator" msgstr "" -#: flatcamGUI/PreferencesUI.py:4627 +#: flatcamGUI/PreferencesUI.py:4736 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" "depth-of-cut as parameters." msgstr "" -#: flatcamGUI/PreferencesUI.py:4642 flatcamTools/ToolCalculators.py:94 +#: flatcamGUI/PreferencesUI.py:4751 flatcamTools/ToolCalculators.py:94 msgid "Tip Diameter" msgstr "" -#: flatcamGUI/PreferencesUI.py:4644 flatcamTools/ToolCalculators.py:100 +#: flatcamGUI/PreferencesUI.py:4753 flatcamTools/ToolCalculators.py:102 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." msgstr "" -#: flatcamGUI/PreferencesUI.py:4656 flatcamTools/ToolCalculators.py:103 +#: flatcamGUI/PreferencesUI.py:4765 flatcamTools/ToolCalculators.py:105 msgid "Tip Angle" msgstr "" -#: flatcamGUI/PreferencesUI.py:4658 +#: flatcamGUI/PreferencesUI.py:4767 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." msgstr "" -#: flatcamGUI/PreferencesUI.py:4672 +#: flatcamGUI/PreferencesUI.py:4781 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." msgstr "" -#: flatcamGUI/PreferencesUI.py:4679 flatcamTools/ToolCalculators.py:27 +#: flatcamGUI/PreferencesUI.py:4788 flatcamTools/ToolCalculators.py:27 msgid "ElectroPlating Calculator" msgstr "" -#: flatcamGUI/PreferencesUI.py:4681 flatcamTools/ToolCalculators.py:154 +#: flatcamGUI/PreferencesUI.py:4790 flatcamTools/ToolCalculators.py:158 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium chloride." msgstr "" -#: flatcamGUI/PreferencesUI.py:4695 flatcamTools/ToolCalculators.py:163 +#: flatcamGUI/PreferencesUI.py:4804 flatcamTools/ToolCalculators.py:167 msgid "Board Length" msgstr "" -#: flatcamGUI/PreferencesUI.py:4697 flatcamTools/ToolCalculators.py:168 +#: flatcamGUI/PreferencesUI.py:4806 flatcamTools/ToolCalculators.py:173 msgid "This is the board length. In centimeters." msgstr "" -#: flatcamGUI/PreferencesUI.py:4707 flatcamTools/ToolCalculators.py:170 +#: flatcamGUI/PreferencesUI.py:4816 flatcamTools/ToolCalculators.py:175 msgid "Board Width" msgstr "" -#: flatcamGUI/PreferencesUI.py:4709 flatcamTools/ToolCalculators.py:175 +#: flatcamGUI/PreferencesUI.py:4818 flatcamTools/ToolCalculators.py:181 msgid "This is the board width.In centimeters." msgstr "" -#: flatcamGUI/PreferencesUI.py:4714 flatcamTools/ToolCalculators.py:177 +#: flatcamGUI/PreferencesUI.py:4823 flatcamTools/ToolCalculators.py:183 msgid "Current Density" msgstr "" -#: flatcamGUI/PreferencesUI.py:4720 flatcamTools/ToolCalculators.py:182 +#: flatcamGUI/PreferencesUI.py:4829 flatcamTools/ToolCalculators.py:190 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." msgstr "" -#: flatcamGUI/PreferencesUI.py:4726 flatcamTools/ToolCalculators.py:185 +#: flatcamGUI/PreferencesUI.py:4835 flatcamTools/ToolCalculators.py:193 msgid "Copper Growth" msgstr "" -#: flatcamGUI/PreferencesUI.py:4732 flatcamTools/ToolCalculators.py:190 +#: flatcamGUI/PreferencesUI.py:4841 flatcamTools/ToolCalculators.py:200 msgid "" "How thick the copper growth is intended to be.\n" "In microns." msgstr "" -#: flatcamGUI/PreferencesUI.py:4745 +#: flatcamGUI/PreferencesUI.py:4854 msgid "Transform Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4751 +#: flatcamGUI/PreferencesUI.py:4860 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." msgstr "" -#: flatcamGUI/PreferencesUI.py:4782 +#: flatcamGUI/PreferencesUI.py:4891 flatcamTools/ToolCalibrateExcellon.py:338 +#: flatcamTools/ToolCalibrateExcellon.py:367 msgid "Skew" msgstr "" -#: flatcamGUI/PreferencesUI.py:4823 flatcamTools/ToolTransform.py:149 +#: flatcamGUI/PreferencesUI.py:4932 flatcamTools/ToolTransform.py:149 msgid "Factor for scaling on X axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:4836 flatcamTools/ToolTransform.py:170 +#: flatcamGUI/PreferencesUI.py:4945 flatcamTools/ToolTransform.py:170 msgid "Factor for scaling on Y axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:4844 flatcamTools/ToolTransform.py:193 +#: flatcamGUI/PreferencesUI.py:4953 flatcamTools/ToolTransform.py:193 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." msgstr "" -#: flatcamGUI/PreferencesUI.py:4852 flatcamTools/ToolTransform.py:201 +#: flatcamGUI/PreferencesUI.py:4961 flatcamTools/ToolTransform.py:201 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -8998,27 +9506,27 @@ msgid "" "of the selected objects when unchecked." msgstr "" -#: flatcamGUI/PreferencesUI.py:4868 flatcamTools/ToolTransform.py:216 +#: flatcamGUI/PreferencesUI.py:4977 flatcamTools/ToolTransform.py:216 msgid "X val" msgstr "" -#: flatcamGUI/PreferencesUI.py:4870 flatcamTools/ToolTransform.py:218 +#: flatcamGUI/PreferencesUI.py:4979 flatcamTools/ToolTransform.py:218 msgid "Distance to offset on X axis. In current units." msgstr "" -#: flatcamGUI/PreferencesUI.py:4881 flatcamTools/ToolTransform.py:237 +#: flatcamGUI/PreferencesUI.py:4990 flatcamTools/ToolTransform.py:237 msgid "Y val" msgstr "" -#: flatcamGUI/PreferencesUI.py:4883 flatcamTools/ToolTransform.py:239 +#: flatcamGUI/PreferencesUI.py:4992 flatcamTools/ToolTransform.py:239 msgid "Distance to offset on Y axis. In current units." msgstr "" -#: flatcamGUI/PreferencesUI.py:4889 flatcamTools/ToolTransform.py:284 +#: flatcamGUI/PreferencesUI.py:4998 flatcamTools/ToolTransform.py:284 msgid "Mirror Reference" msgstr "" -#: flatcamGUI/PreferencesUI.py:4891 flatcamTools/ToolTransform.py:286 +#: flatcamGUI/PreferencesUI.py:5000 flatcamTools/ToolTransform.py:286 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9031,195 +9539,195 @@ msgid "" "Point Entry field and click Flip on X(Y)" msgstr "" -#: flatcamGUI/PreferencesUI.py:4902 +#: flatcamGUI/PreferencesUI.py:5011 msgid "Mirror Reference point" msgstr "" -#: flatcamGUI/PreferencesUI.py:4904 +#: flatcamGUI/PreferencesUI.py:5013 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" "the 'y' in (x, y) will be used when using Flip on Y and" msgstr "" -#: flatcamGUI/PreferencesUI.py:4921 +#: flatcamGUI/PreferencesUI.py:5030 msgid "SolderPaste Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:4926 +#: flatcamGUI/PreferencesUI.py:5036 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." msgstr "" -#: flatcamGUI/PreferencesUI.py:4937 +#: flatcamGUI/PreferencesUI.py:5047 msgid "Diameters of nozzle tools, separated by ','" msgstr "" -#: flatcamGUI/PreferencesUI.py:4944 +#: flatcamGUI/PreferencesUI.py:5055 msgid "New Nozzle Dia" msgstr "" -#: flatcamGUI/PreferencesUI.py:4946 flatcamTools/ToolSolderPaste.py:102 +#: flatcamGUI/PreferencesUI.py:5057 flatcamTools/ToolSolderPaste.py:106 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" -#: flatcamGUI/PreferencesUI.py:4954 flatcamTools/ToolSolderPaste.py:165 +#: flatcamGUI/PreferencesUI.py:5073 flatcamTools/ToolSolderPaste.py:176 msgid "Z Dispense Start" msgstr "" -#: flatcamGUI/PreferencesUI.py:4956 flatcamTools/ToolSolderPaste.py:167 +#: flatcamGUI/PreferencesUI.py:5075 flatcamTools/ToolSolderPaste.py:178 msgid "The height (Z) when solder paste dispensing starts." msgstr "" -#: flatcamGUI/PreferencesUI.py:4963 flatcamTools/ToolSolderPaste.py:173 +#: flatcamGUI/PreferencesUI.py:5086 flatcamTools/ToolSolderPaste.py:188 msgid "Z Dispense" msgstr "" -#: flatcamGUI/PreferencesUI.py:4965 flatcamTools/ToolSolderPaste.py:175 +#: flatcamGUI/PreferencesUI.py:5088 flatcamTools/ToolSolderPaste.py:190 msgid "The height (Z) when doing solder paste dispensing." msgstr "" -#: flatcamGUI/PreferencesUI.py:4972 flatcamTools/ToolSolderPaste.py:181 +#: flatcamGUI/PreferencesUI.py:5099 flatcamTools/ToolSolderPaste.py:200 msgid "Z Dispense Stop" msgstr "" -#: flatcamGUI/PreferencesUI.py:4974 flatcamTools/ToolSolderPaste.py:183 +#: flatcamGUI/PreferencesUI.py:5101 flatcamTools/ToolSolderPaste.py:202 msgid "The height (Z) when solder paste dispensing stops." msgstr "" -#: flatcamGUI/PreferencesUI.py:4981 flatcamTools/ToolSolderPaste.py:189 +#: flatcamGUI/PreferencesUI.py:5112 flatcamTools/ToolSolderPaste.py:212 msgid "Z Travel" msgstr "" -#: flatcamGUI/PreferencesUI.py:4983 flatcamTools/ToolSolderPaste.py:191 +#: flatcamGUI/PreferencesUI.py:5114 flatcamTools/ToolSolderPaste.py:214 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." msgstr "" -#: flatcamGUI/PreferencesUI.py:4991 flatcamTools/ToolSolderPaste.py:198 +#: flatcamGUI/PreferencesUI.py:5126 flatcamTools/ToolSolderPaste.py:225 msgid "Z Toolchange" msgstr "" -#: flatcamGUI/PreferencesUI.py:4993 flatcamTools/ToolSolderPaste.py:200 +#: flatcamGUI/PreferencesUI.py:5128 flatcamTools/ToolSolderPaste.py:227 msgid "The height (Z) for tool (nozzle) change." msgstr "" -#: flatcamGUI/PreferencesUI.py:5002 flatcamTools/ToolSolderPaste.py:208 +#: flatcamGUI/PreferencesUI.py:5137 flatcamTools/ToolSolderPaste.py:235 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." msgstr "" -#: flatcamGUI/PreferencesUI.py:5010 flatcamTools/ToolSolderPaste.py:215 +#: flatcamGUI/PreferencesUI.py:5149 flatcamTools/ToolSolderPaste.py:246 msgid "Feedrate X-Y" msgstr "" -#: flatcamGUI/PreferencesUI.py:5012 flatcamTools/ToolSolderPaste.py:217 +#: flatcamGUI/PreferencesUI.py:5151 flatcamTools/ToolSolderPaste.py:248 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "" -#: flatcamGUI/PreferencesUI.py:5021 flatcamTools/ToolSolderPaste.py:225 +#: flatcamGUI/PreferencesUI.py:5164 flatcamTools/ToolSolderPaste.py:260 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." msgstr "" -#: flatcamGUI/PreferencesUI.py:5029 flatcamTools/ToolSolderPaste.py:232 +#: flatcamGUI/PreferencesUI.py:5176 flatcamTools/ToolSolderPaste.py:271 msgid "Feedrate Z Dispense" msgstr "" -#: flatcamGUI/PreferencesUI.py:5031 +#: flatcamGUI/PreferencesUI.py:5178 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." msgstr "" -#: flatcamGUI/PreferencesUI.py:5039 flatcamTools/ToolSolderPaste.py:241 +#: flatcamGUI/PreferencesUI.py:5189 flatcamTools/ToolSolderPaste.py:283 msgid "Spindle Speed FWD" msgstr "" -#: flatcamGUI/PreferencesUI.py:5041 flatcamTools/ToolSolderPaste.py:243 +#: flatcamGUI/PreferencesUI.py:5191 flatcamTools/ToolSolderPaste.py:285 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." msgstr "" -#: flatcamGUI/PreferencesUI.py:5049 flatcamTools/ToolSolderPaste.py:250 +#: flatcamGUI/PreferencesUI.py:5203 flatcamTools/ToolSolderPaste.py:296 msgid "Dwell FWD" msgstr "" -#: flatcamGUI/PreferencesUI.py:5051 flatcamTools/ToolSolderPaste.py:252 +#: flatcamGUI/PreferencesUI.py:5205 flatcamTools/ToolSolderPaste.py:298 msgid "Pause after solder dispensing." msgstr "" -#: flatcamGUI/PreferencesUI.py:5058 flatcamTools/ToolSolderPaste.py:258 +#: flatcamGUI/PreferencesUI.py:5215 flatcamTools/ToolSolderPaste.py:307 msgid "Spindle Speed REV" msgstr "" -#: flatcamGUI/PreferencesUI.py:5060 flatcamTools/ToolSolderPaste.py:260 +#: flatcamGUI/PreferencesUI.py:5217 flatcamTools/ToolSolderPaste.py:309 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." msgstr "" -#: flatcamGUI/PreferencesUI.py:5068 flatcamTools/ToolSolderPaste.py:267 +#: flatcamGUI/PreferencesUI.py:5229 flatcamTools/ToolSolderPaste.py:320 msgid "Dwell REV" msgstr "" -#: flatcamGUI/PreferencesUI.py:5070 flatcamTools/ToolSolderPaste.py:269 +#: flatcamGUI/PreferencesUI.py:5231 flatcamTools/ToolSolderPaste.py:322 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." msgstr "" -#: flatcamGUI/PreferencesUI.py:5079 flatcamTools/ToolSolderPaste.py:277 +#: flatcamGUI/PreferencesUI.py:5240 flatcamTools/ToolSolderPaste.py:330 msgid "Files that control the GCode generation." msgstr "" -#: flatcamGUI/PreferencesUI.py:5094 +#: flatcamGUI/PreferencesUI.py:5255 msgid "Substractor Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:5099 +#: flatcamGUI/PreferencesUI.py:5260 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." msgstr "" -#: flatcamGUI/PreferencesUI.py:5104 flatcamTools/ToolSub.py:142 +#: flatcamGUI/PreferencesUI.py:5265 flatcamTools/ToolSub.py:142 msgid "Close paths" msgstr "" -#: flatcamGUI/PreferencesUI.py:5105 +#: flatcamGUI/PreferencesUI.py:5266 msgid "Checking this will close the paths cut by the Geometry substractor object." msgstr "" -#: flatcamGUI/PreferencesUI.py:5116 +#: flatcamGUI/PreferencesUI.py:5277 msgid "Check Rules Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:5121 +#: flatcamGUI/PreferencesUI.py:5282 msgid "" "A tool to check if Gerber files are within a set\n" "of Manufacturing Rules." msgstr "" -#: flatcamGUI/PreferencesUI.py:5131 flatcamTools/ToolRulesCheck.py:256 +#: flatcamGUI/PreferencesUI.py:5292 flatcamTools/ToolRulesCheck.py:256 #: flatcamTools/ToolRulesCheck.py:900 msgid "Trace Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:5133 flatcamTools/ToolRulesCheck.py:258 +#: flatcamGUI/PreferencesUI.py:5294 flatcamTools/ToolRulesCheck.py:258 msgid "This checks if the minimum size for traces is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5143 flatcamGUI/PreferencesUI.py:5163 -#: flatcamGUI/PreferencesUI.py:5183 flatcamGUI/PreferencesUI.py:5203 -#: flatcamGUI/PreferencesUI.py:5223 flatcamGUI/PreferencesUI.py:5243 -#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5283 -#: flatcamGUI/PreferencesUI.py:5305 flatcamGUI/PreferencesUI.py:5325 +#: flatcamGUI/PreferencesUI.py:5304 flatcamGUI/PreferencesUI.py:5324 +#: flatcamGUI/PreferencesUI.py:5344 flatcamGUI/PreferencesUI.py:5364 +#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5404 +#: flatcamGUI/PreferencesUI.py:5424 flatcamGUI/PreferencesUI.py:5444 +#: flatcamGUI/PreferencesUI.py:5466 flatcamGUI/PreferencesUI.py:5486 #: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290 #: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336 #: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382 @@ -9228,221 +9736,436 @@ msgstr "" msgid "Min value" msgstr "" -#: flatcamGUI/PreferencesUI.py:5145 flatcamTools/ToolRulesCheck.py:270 +#: flatcamGUI/PreferencesUI.py:5306 flatcamTools/ToolRulesCheck.py:270 msgid "Minimum acceptable trace size." msgstr "" -#: flatcamGUI/PreferencesUI.py:5150 flatcamTools/ToolRulesCheck.py:277 +#: flatcamGUI/PreferencesUI.py:5311 flatcamTools/ToolRulesCheck.py:277 #: flatcamTools/ToolRulesCheck.py:1128 flatcamTools/ToolRulesCheck.py:1158 msgid "Copper to Copper clearance" msgstr "" -#: flatcamGUI/PreferencesUI.py:5152 flatcamTools/ToolRulesCheck.py:279 +#: flatcamGUI/PreferencesUI.py:5313 flatcamTools/ToolRulesCheck.py:279 msgid "" "This checks if the minimum clearance between copper\n" "features is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5165 flatcamGUI/PreferencesUI.py:5185 -#: flatcamGUI/PreferencesUI.py:5205 flatcamGUI/PreferencesUI.py:5225 -#: flatcamGUI/PreferencesUI.py:5245 flatcamGUI/PreferencesUI.py:5265 -#: flatcamGUI/PreferencesUI.py:5327 flatcamTools/ToolRulesCheck.py:292 +#: flatcamGUI/PreferencesUI.py:5326 flatcamGUI/PreferencesUI.py:5346 +#: flatcamGUI/PreferencesUI.py:5366 flatcamGUI/PreferencesUI.py:5386 +#: flatcamGUI/PreferencesUI.py:5406 flatcamGUI/PreferencesUI.py:5426 +#: flatcamGUI/PreferencesUI.py:5488 flatcamTools/ToolRulesCheck.py:292 #: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338 #: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384 #: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455 msgid "Minimum acceptable clearance value." msgstr "" -#: flatcamGUI/PreferencesUI.py:5170 flatcamTools/ToolRulesCheck.py:300 +#: flatcamGUI/PreferencesUI.py:5331 flatcamTools/ToolRulesCheck.py:300 #: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1194 #: flatcamTools/ToolRulesCheck.py:1207 flatcamTools/ToolRulesCheck.py:1214 msgid "Copper to Outline clearance" msgstr "" -#: flatcamGUI/PreferencesUI.py:5172 flatcamTools/ToolRulesCheck.py:302 +#: flatcamGUI/PreferencesUI.py:5333 flatcamTools/ToolRulesCheck.py:302 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5190 flatcamTools/ToolRulesCheck.py:323 +#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolRulesCheck.py:323 msgid "Silk to Silk Clearance" msgstr "" -#: flatcamGUI/PreferencesUI.py:5192 flatcamTools/ToolRulesCheck.py:325 +#: flatcamGUI/PreferencesUI.py:5353 flatcamTools/ToolRulesCheck.py:325 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5210 flatcamTools/ToolRulesCheck.py:346 +#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolRulesCheck.py:346 #: flatcamTools/ToolRulesCheck.py:1297 flatcamTools/ToolRulesCheck.py:1303 #: flatcamTools/ToolRulesCheck.py:1321 msgid "Silk to Solder Mask Clearance" msgstr "" -#: flatcamGUI/PreferencesUI.py:5212 flatcamTools/ToolRulesCheck.py:348 +#: flatcamGUI/PreferencesUI.py:5373 flatcamTools/ToolRulesCheck.py:348 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5230 flatcamTools/ToolRulesCheck.py:369 +#: flatcamGUI/PreferencesUI.py:5391 flatcamTools/ToolRulesCheck.py:369 #: flatcamTools/ToolRulesCheck.py:1351 flatcamTools/ToolRulesCheck.py:1357 #: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1378 msgid "Silk to Outline Clearance" msgstr "" -#: flatcamGUI/PreferencesUI.py:5232 flatcamTools/ToolRulesCheck.py:371 +#: flatcamGUI/PreferencesUI.py:5393 flatcamTools/ToolRulesCheck.py:371 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5250 flatcamTools/ToolRulesCheck.py:392 +#: flatcamGUI/PreferencesUI.py:5411 flatcamTools/ToolRulesCheck.py:392 #: flatcamTools/ToolRulesCheck.py:1389 flatcamTools/ToolRulesCheck.py:1416 msgid "Minimum Solder Mask Sliver" msgstr "" -#: flatcamGUI/PreferencesUI.py:5252 flatcamTools/ToolRulesCheck.py:394 +#: flatcamGUI/PreferencesUI.py:5413 flatcamTools/ToolRulesCheck.py:394 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5270 flatcamTools/ToolRulesCheck.py:415 +#: flatcamGUI/PreferencesUI.py:5431 flatcamTools/ToolRulesCheck.py:415 #: flatcamTools/ToolRulesCheck.py:1454 flatcamTools/ToolRulesCheck.py:1460 #: flatcamTools/ToolRulesCheck.py:1476 flatcamTools/ToolRulesCheck.py:1483 msgid "Minimum Annular Ring" msgstr "" -#: flatcamGUI/PreferencesUI.py:5272 flatcamTools/ToolRulesCheck.py:417 +#: flatcamGUI/PreferencesUI.py:5433 flatcamTools/ToolRulesCheck.py:417 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5285 flatcamTools/ToolRulesCheck.py:430 +#: flatcamGUI/PreferencesUI.py:5446 flatcamTools/ToolRulesCheck.py:430 msgid "Minimum acceptable ring value." msgstr "" -#: flatcamGUI/PreferencesUI.py:5292 flatcamTools/ToolRulesCheck.py:440 +#: flatcamGUI/PreferencesUI.py:5453 flatcamTools/ToolRulesCheck.py:440 #: flatcamTools/ToolRulesCheck.py:844 msgid "Hole to Hole Clearance" msgstr "" -#: flatcamGUI/PreferencesUI.py:5294 flatcamTools/ToolRulesCheck.py:442 +#: flatcamGUI/PreferencesUI.py:5455 flatcamTools/ToolRulesCheck.py:442 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." msgstr "" -#: flatcamGUI/PreferencesUI.py:5307 flatcamTools/ToolRulesCheck.py:478 +#: flatcamGUI/PreferencesUI.py:5468 flatcamTools/ToolRulesCheck.py:478 msgid "Minimum acceptable drill size." msgstr "" -#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolRulesCheck.py:463 +#: flatcamGUI/PreferencesUI.py:5473 flatcamTools/ToolRulesCheck.py:463 #: flatcamTools/ToolRulesCheck.py:818 msgid "Hole Size" msgstr "" -#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolRulesCheck.py:465 +#: flatcamGUI/PreferencesUI.py:5475 flatcamTools/ToolRulesCheck.py:465 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." msgstr "" -#: flatcamGUI/PreferencesUI.py:5339 +#: flatcamGUI/PreferencesUI.py:5500 msgid "Optimal Tool Options" msgstr "" -#: flatcamGUI/PreferencesUI.py:5345 +#: flatcamGUI/PreferencesUI.py:5506 msgid "" "A tool to find the minimum distance between\n" "every two Gerber geometric elements" msgstr "" -#: flatcamGUI/PreferencesUI.py:5360 flatcamTools/ToolOptimal.py:78 +#: flatcamGUI/PreferencesUI.py:5521 flatcamTools/ToolOptimal.py:78 msgid "Precision" msgstr "" -#: flatcamGUI/PreferencesUI.py:5362 +#: flatcamGUI/PreferencesUI.py:5523 msgid "Number of decimals for the distances and coordinates in this tool." msgstr "" -#: flatcamGUI/PreferencesUI.py:5376 +#: flatcamGUI/PreferencesUI.py:5537 +msgid "QRCode Tool Options" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5543 +msgid "" +"A tool to create a QRCode that can be inserted\n" +"into a selected Gerber file, or it can be exported as a file." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5555 flatcamTools/ToolQRCode.py:99 +msgid "Version" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5557 flatcamTools/ToolQRCode.py:101 +msgid "" +"QRCode version can have values from 1 (21x21 boxes)\n" +"to 40 (177x177 boxes)." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5568 flatcamTools/ToolQRCode.py:112 +msgid "Error correction" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5570 flatcamGUI/PreferencesUI.py:5581 +#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125 +#, python-format +msgid "" +"Parameter that controls the error correction used for the QR Code.\n" +"L = maximum 7%% errors can be corrected\n" +"M = maximum 15%% errors can be corrected\n" +"Q = maximum 25%% errors can be corrected\n" +"H = maximum 30%% errors can be corrected." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5591 flatcamTools/ToolQRCode.py:135 +msgid "Box Size" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5593 flatcamTools/ToolQRCode.py:137 +msgid "" +"Box size control the overall size of the QRcode\n" +"by adjusting the size of each box in the code." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5604 flatcamTools/ToolQRCode.py:148 +msgid "Border Size" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5606 flatcamTools/ToolQRCode.py:150 +msgid "" +"Size of the QRCode border. How many boxes thick is the border.\n" +"Default value is 4. The width of the clearance around the QRCode." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5617 flatcamTools/ToolQRCode.py:162 +msgid "QRCode Data" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5619 flatcamTools/ToolQRCode.py:164 +msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5623 flatcamTools/ToolQRCode.py:168 +msgid "Add here the text to be included in the QRCode..." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5629 flatcamTools/ToolQRCode.py:174 +msgid "Polarity" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5631 flatcamTools/ToolQRCode.py:176 +msgid "" +"Choose the polarity of the QRCode.\n" +"It can be drawn in a negative way (squares are clear)\n" +"or in a positive way (squares are opaque)." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5635 flatcamTools/ToolFilm.py:266 +#: flatcamTools/ToolQRCode.py:180 +msgid "Negative" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolFilm.py:265 +#: flatcamTools/ToolQRCode.py:181 +msgid "Positive" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5638 flatcamTools/ToolQRCode.py:183 +msgid "" +"Choose the type of QRCode to be created.\n" +"If added on a Silkscreen Gerber file the QRCode may\n" +"be added as positive. If it is added to a Copper Gerber\n" +"file then perhaps the QRCode can be added as negative." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5649 flatcamGUI/PreferencesUI.py:5655 +#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200 +msgid "" +"The bounding box, meaning the empty space that surrounds\n" +"the QRCode geometry, can have a rounded or a square shape." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5652 flatcamTools/ToolQRCode.py:197 +msgid "Rounded" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5662 flatcamTools/ToolQRCode.py:228 +msgid "Fill Color" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5664 flatcamTools/ToolQRCode.py:230 +msgid "Set the QRCode fill color (squares color)." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5683 flatcamTools/ToolQRCode.py:252 +msgid "Back Color" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5685 flatcamTools/ToolQRCode.py:254 +msgid "Set the QRCode background color." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5725 +msgid "Copper Thieving Tool Options" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5737 +msgid "" +"A tool to generate a Copper Thieving that can be added\n" +"to a selected Gerber file." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5745 +msgid "Number of steps (lines) used to interpolate circles." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolCopperThieving.py:94 +msgid "Clearance" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5757 +msgid "" +"This set the distance between the copper Thieving components\n" +"(the polygon fill may be split in multiple polygons)\n" +"and the copper traces in the Gerber file." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5785 flatcamTools/ToolCopperThieving.py:124 +#: flatcamTools/ToolNonCopperClear.py:438 flatcamTools/ToolPaint.py:315 +msgid "Area Selection" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5786 flatcamTools/ToolCopperThieving.py:125 +#: flatcamTools/ToolNonCopperClear.py:439 flatcamTools/ToolPaint.py:317 +msgid "Reference Object" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5788 flatcamTools/ToolCopperThieving.py:127 +#: flatcamTools/ToolNonCopperClear.py:441 +msgid "Reference:" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5790 +msgid "" +"- 'Itself' - the copper Thieving extent is based on the object that is copper cleared.\n" +" - 'Area Selection' - left mouse click to start selection of the area to be filled.\n" +"- 'Reference Object' - will do copper thieving within the area specified by another " +"object." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5799 flatcamTools/ToolCopperThieving.py:168 +#: flatcamTools/ToolCutOut.py:219 +msgid "Rectangular" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5800 flatcamTools/ToolCopperThieving.py:169 +msgid "Minimal" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5802 flatcamTools/ToolCopperThieving.py:171 +#: flatcamTools/ToolFilm.py:102 +msgid "Box Type:" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5804 flatcamTools/ToolCopperThieving.py:173 +msgid "" +"- 'Rectangular' - the bounding box will be of rectangular shape.\n" +" - 'Minimal' - the bounding box will be the convex hull shape." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5819 flatcamTools/ToolCopperThieving.py:189 +msgid "Dots Grid" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5820 flatcamTools/ToolCopperThieving.py:190 +msgid "Squares Grid" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5821 flatcamTools/ToolCopperThieving.py:191 +msgid "Lines Grid" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5823 flatcamTools/ToolCopperThieving.py:193 +msgid "Fill Type:" +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolCopperThieving.py:195 +msgid "" +"- 'Solid' - copper thieving will be a solid polygon.\n" +" - 'Dots Grid' - the empty area will be filled with a pattern of dots.\n" +"- 'Squares Grid' - the empty area will be filled with a pattern of squares.\n" +"- 'Lines Grid' - the empty area will be filled with a pattern of lines." +msgstr "" + +#: flatcamGUI/PreferencesUI.py:5841 msgid "Excellon File associations" msgstr "" -#: flatcamGUI/PreferencesUI.py:5388 flatcamGUI/PreferencesUI.py:5460 -#: flatcamGUI/PreferencesUI.py:5529 flatcamGUI/PreferencesUI.py:5598 +#: flatcamGUI/PreferencesUI.py:5853 flatcamGUI/PreferencesUI.py:5925 +#: flatcamGUI/PreferencesUI.py:5994 flatcamGUI/PreferencesUI.py:6063 msgid "Restore" msgstr "" -#: flatcamGUI/PreferencesUI.py:5389 flatcamGUI/PreferencesUI.py:5461 -#: flatcamGUI/PreferencesUI.py:5530 +#: flatcamGUI/PreferencesUI.py:5854 flatcamGUI/PreferencesUI.py:5926 +#: flatcamGUI/PreferencesUI.py:5995 msgid "Restore the extension list to the default state." msgstr "" -#: flatcamGUI/PreferencesUI.py:5390 flatcamGUI/PreferencesUI.py:5462 -#: flatcamGUI/PreferencesUI.py:5531 flatcamGUI/PreferencesUI.py:5600 +#: flatcamGUI/PreferencesUI.py:5855 flatcamGUI/PreferencesUI.py:5927 +#: flatcamGUI/PreferencesUI.py:5996 flatcamGUI/PreferencesUI.py:6065 msgid "Delete All" msgstr "" -#: flatcamGUI/PreferencesUI.py:5391 flatcamGUI/PreferencesUI.py:5463 -#: flatcamGUI/PreferencesUI.py:5532 +#: flatcamGUI/PreferencesUI.py:5856 flatcamGUI/PreferencesUI.py:5928 +#: flatcamGUI/PreferencesUI.py:5997 msgid "Delete all extensions from the list." msgstr "" -#: flatcamGUI/PreferencesUI.py:5399 flatcamGUI/PreferencesUI.py:5471 -#: flatcamGUI/PreferencesUI.py:5540 +#: flatcamGUI/PreferencesUI.py:5864 flatcamGUI/PreferencesUI.py:5936 +#: flatcamGUI/PreferencesUI.py:6005 msgid "Extensions list" msgstr "" -#: flatcamGUI/PreferencesUI.py:5401 flatcamGUI/PreferencesUI.py:5473 -#: flatcamGUI/PreferencesUI.py:5542 +#: flatcamGUI/PreferencesUI.py:5866 flatcamGUI/PreferencesUI.py:5938 +#: flatcamGUI/PreferencesUI.py:6007 msgid "" "List of file extensions to be\n" "associated with FlatCAM." msgstr "" -#: flatcamGUI/PreferencesUI.py:5421 flatcamGUI/PreferencesUI.py:5493 -#: flatcamGUI/PreferencesUI.py:5561 flatcamGUI/PreferencesUI.py:5632 +#: flatcamGUI/PreferencesUI.py:5886 flatcamGUI/PreferencesUI.py:5958 +#: flatcamGUI/PreferencesUI.py:6026 flatcamGUI/PreferencesUI.py:6097 msgid "Extension" msgstr "" -#: flatcamGUI/PreferencesUI.py:5422 flatcamGUI/PreferencesUI.py:5494 -#: flatcamGUI/PreferencesUI.py:5562 +#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:5959 +#: flatcamGUI/PreferencesUI.py:6027 msgid "A file extension to be added or deleted to the list." msgstr "" -#: flatcamGUI/PreferencesUI.py:5430 flatcamGUI/PreferencesUI.py:5502 -#: flatcamGUI/PreferencesUI.py:5570 +#: flatcamGUI/PreferencesUI.py:5895 flatcamGUI/PreferencesUI.py:5967 +#: flatcamGUI/PreferencesUI.py:6035 msgid "Add Extension" msgstr "" -#: flatcamGUI/PreferencesUI.py:5431 flatcamGUI/PreferencesUI.py:5503 -#: flatcamGUI/PreferencesUI.py:5571 +#: flatcamGUI/PreferencesUI.py:5896 flatcamGUI/PreferencesUI.py:5968 +#: flatcamGUI/PreferencesUI.py:6036 msgid "Add a file extension to the list" msgstr "" -#: flatcamGUI/PreferencesUI.py:5432 flatcamGUI/PreferencesUI.py:5504 -#: flatcamGUI/PreferencesUI.py:5572 +#: flatcamGUI/PreferencesUI.py:5897 flatcamGUI/PreferencesUI.py:5969 +#: flatcamGUI/PreferencesUI.py:6037 msgid "Delete Extension" msgstr "" -#: flatcamGUI/PreferencesUI.py:5433 flatcamGUI/PreferencesUI.py:5505 -#: flatcamGUI/PreferencesUI.py:5573 +#: flatcamGUI/PreferencesUI.py:5898 flatcamGUI/PreferencesUI.py:5970 +#: flatcamGUI/PreferencesUI.py:6038 msgid "Delete a file extension from the list" msgstr "" -#: flatcamGUI/PreferencesUI.py:5440 flatcamGUI/PreferencesUI.py:5512 -#: flatcamGUI/PreferencesUI.py:5580 +#: flatcamGUI/PreferencesUI.py:5905 flatcamGUI/PreferencesUI.py:5977 +#: flatcamGUI/PreferencesUI.py:6045 msgid "Apply Association" msgstr "" -#: flatcamGUI/PreferencesUI.py:5441 flatcamGUI/PreferencesUI.py:5513 -#: flatcamGUI/PreferencesUI.py:5581 +#: flatcamGUI/PreferencesUI.py:5906 flatcamGUI/PreferencesUI.py:5978 +#: flatcamGUI/PreferencesUI.py:6046 msgid "" "Apply the file associations between\n" "FlatCAM and the files with above extensions.\n" @@ -9450,31 +10173,31 @@ msgid "" "This work only in Windows." msgstr "" -#: flatcamGUI/PreferencesUI.py:5458 +#: flatcamGUI/PreferencesUI.py:5923 msgid "GCode File associations" msgstr "" -#: flatcamGUI/PreferencesUI.py:5527 +#: flatcamGUI/PreferencesUI.py:5992 msgid "Gerber File associations" msgstr "" -#: flatcamGUI/PreferencesUI.py:5596 +#: flatcamGUI/PreferencesUI.py:6061 msgid "Autocompleter Keywords" msgstr "" -#: flatcamGUI/PreferencesUI.py:5599 +#: flatcamGUI/PreferencesUI.py:6064 msgid "Restore the autocompleter keywords list to the default state." msgstr "" -#: flatcamGUI/PreferencesUI.py:5601 +#: flatcamGUI/PreferencesUI.py:6066 msgid "Delete all autocompleter keywords from the list." msgstr "" -#: flatcamGUI/PreferencesUI.py:5609 +#: flatcamGUI/PreferencesUI.py:6074 msgid "Keywords list" msgstr "" -#: flatcamGUI/PreferencesUI.py:5611 +#: flatcamGUI/PreferencesUI.py:6076 msgid "" "List of keywords used by\n" "the autocompleter in FlatCAM.\n" @@ -9482,23 +10205,23 @@ msgid "" "in the Code Editor and for the Tcl Shell." msgstr "" -#: flatcamGUI/PreferencesUI.py:5633 +#: flatcamGUI/PreferencesUI.py:6098 msgid "A keyword to be added or deleted to the list." msgstr "" -#: flatcamGUI/PreferencesUI.py:5641 +#: flatcamGUI/PreferencesUI.py:6106 msgid "Add keyword" msgstr "" -#: flatcamGUI/PreferencesUI.py:5642 +#: flatcamGUI/PreferencesUI.py:6107 msgid "Add a keyword to the list" msgstr "" -#: flatcamGUI/PreferencesUI.py:5643 +#: flatcamGUI/PreferencesUI.py:6108 msgid "Delete keyword" msgstr "" -#: flatcamGUI/PreferencesUI.py:5644 +#: flatcamGUI/PreferencesUI.py:6109 msgid "Delete a keyword from the list" msgstr "" @@ -9616,69 +10339,416 @@ msgstr "" msgid "Here you enter the value to be converted from MM to INCH" msgstr "" -#: flatcamTools/ToolCalculators.py:107 +#: flatcamTools/ToolCalculators.py:111 msgid "" "This is the angle of the tip of the tool.\n" "It is specified by manufacturer." msgstr "" -#: flatcamTools/ToolCalculators.py:116 +#: flatcamTools/ToolCalculators.py:120 msgid "" "This is the depth to cut into the material.\n" "In the CNCJob is the CutZ parameter." msgstr "" -#: flatcamTools/ToolCalculators.py:119 +#: flatcamTools/ToolCalculators.py:123 msgid "Tool Diameter" msgstr "" -#: flatcamTools/ToolCalculators.py:124 +#: flatcamTools/ToolCalculators.py:128 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:135 flatcamTools/ToolCalculators.py:221 +#: flatcamTools/ToolCalculators.py:139 flatcamTools/ToolCalculators.py:235 msgid "Calculate" msgstr "" -#: flatcamTools/ToolCalculators.py:138 +#: flatcamTools/ToolCalculators.py:142 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:195 +#: flatcamTools/ToolCalculators.py:205 msgid "Current Value" msgstr "" -#: flatcamTools/ToolCalculators.py:200 +#: flatcamTools/ToolCalculators.py:212 msgid "" "This is the current intensity value\n" "to be set on the Power Supply. In Amps." msgstr "" -#: flatcamTools/ToolCalculators.py:204 +#: flatcamTools/ToolCalculators.py:216 msgid "Time" msgstr "" -#: flatcamTools/ToolCalculators.py:209 +#: flatcamTools/ToolCalculators.py:223 msgid "" "This is the calculated time required for the procedure.\n" "In minutes." msgstr "" -#: flatcamTools/ToolCalculators.py:224 +#: flatcamTools/ToolCalculators.py:238 msgid "" "Calculate the current intensity value and the procedure time,\n" "depending on the parameters above" msgstr "" -#: flatcamTools/ToolCalculators.py:271 +#: flatcamTools/ToolCalculators.py:285 msgid "Calc. Tool" msgstr "" +#: flatcamTools/ToolCalibrateExcellon.py:33 +msgid "Calibrate Excellon" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:68 +msgid "Excellon Object to be used as a source for reference points." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:75 +msgid "GCode Parameters" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:77 +msgid "Parameters used when creating the GCode in this tool." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:84 +msgid "Height (Z) for travelling between the points." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:96 +msgid "Verification Z" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:98 +msgid "Height (Z) for checking the point." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:110 +msgid "Zero Z tool" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:112 +msgid "" +"Include a sequence to zero the height (Z)\n" +"of the verification tool." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:121 +msgid "Height (Z) for mounting the verification probe." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:143 +msgid "Calibration Points" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:145 +msgid "" +"Contain the expected calibration points and the\n" +"ones measured." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:153 flatcamTools/ToolCalibrateExcellon.py:182 +#: flatcamTools/ToolCalibrateExcellon.py:206 flatcamTools/ToolCalibrateExcellon.py:230 +#: flatcamTools/ToolSub.py:73 flatcamTools/ToolSub.py:119 +msgid "Target" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:155 +msgid "Cal. Origin" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:184 flatcamTools/ToolCalibrateExcellon.py:208 +#: flatcamTools/ToolCalibrateExcellon.py:232 +msgid "Found Delta" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:228 +msgid "Top Right" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:252 flatcamTools/ToolSolderPaste.py:148 +msgid "STEP 1" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:254 +msgid "" +"Pick four points by clicking inside the drill holes.\n" +"Those four points should be in the four\n" +"(as much as possible) corners of the Excellon object." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:261 +msgid "Acquire Calibration Points" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:263 +msgid "" +"Pick four points by clicking inside the drill holes.\n" +"Those four points should be in the four squares of\n" +"the Excellon object." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:271 flatcamTools/ToolSolderPaste.py:358 +msgid "STEP 2" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:273 flatcamTools/ToolCalibrateExcellon.py:281 +msgid "" +"Generate GCode file to locate and align the PCB by using\n" +"the four points acquired above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:279 flatcamTools/ToolSolderPaste.py:341 +msgid "Generate GCode" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:288 flatcamTools/ToolSolderPaste.py:387 +msgid "STEP 3" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:290 flatcamTools/ToolCalibrateExcellon.py:299 +msgid "" +"Calculate Scale and Skew factors based on the differences (delta)\n" +"found when checking the PCB pattern. The differences must be filled\n" +"in the fields Found (Delta)." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:297 +msgid "Calculate Factors" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:334 +msgid "Apply Scale factors on the calibration points." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:369 +msgid "Apply Skew factors on the calibration points." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:374 flatcamTools/ToolSolderPaste.py:433 +msgid "STEP 4" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:376 flatcamTools/ToolCalibrateExcellon.py:384 +msgid "" +"Generate verification GCode file adjusted with\n" +"the factors above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:382 +msgid "Generate Adjusted GCode" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:390 +msgid "STEP 5" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:392 +msgid "" +"Ajust the Excellon and Cutout Geometry objects\n" +"with the factors determined, and verified, above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:404 +msgid "Excellon Object to be adjusted." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:417 +msgid "Geometry Object to be adjusted." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:424 +msgid "Adjust Objects" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:426 +msgid "" +"Adjust (scale and/or skew) the objects\n" +"with the factors determined above." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:476 +msgid "Cal Exc Tool" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:507 flatcamTools/ToolDblSided.py:468 +msgid "There is no Excellon object loaded ..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:510 +msgid "Click inside the First drill point. Bottom Left..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:538 +msgid "Click inside the Second drill point. Bottom Right..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:542 +msgid "Click inside the Third drill point. Top Left..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:546 +msgid "Click inside the Fourth drill point. Top Right..." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:550 +msgid "Done. All four points have been acquired." +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:564 +msgid "Verification GCode" +msgstr "" + +#: flatcamTools/ToolCalibrateExcellon.py:580 +msgid "Cancelled. Four points are needed for GCode generation." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:74 +msgid "Gerber Object to which will be added a copper thieving." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:89 +msgid "Parameters used for this tool." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:96 +msgid "" +"This set the distance between the copper thieving components\n" +"(the polygon fill may be split in multiple polygons)\n" +"and the copper traces in the Gerber file." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:129 +msgid "" +"- 'Itself' - the copper thieving extent is based on the object that is copper cleared.\n" +" - 'Area Selection' - left mouse click to start selection of the area to be filled.\n" +"- 'Reference Object' - will do copper thieving within the area specified by another " +"object." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:136 flatcamTools/ToolNonCopperClear.py:453 +#: flatcamTools/ToolPaint.py:332 +msgid "Ref. Type" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:138 +msgid "" +"The type of FlatCAM object to be used as copper thieving reference.\n" +"It can be Gerber, Excellon or Geometry." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:142 flatcamTools/ToolDblSided.py:190 +#: flatcamTools/ToolNonCopperClear.py:459 flatcamTools/ToolPaint.py:338 +msgid "Reference Gerber" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:143 flatcamTools/ToolDblSided.py:191 +#: flatcamTools/ToolNonCopperClear.py:460 flatcamTools/ToolPaint.py:339 +msgid "Reference Excellon" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:192 +#: flatcamTools/ToolNonCopperClear.py:461 flatcamTools/ToolPaint.py:340 +msgid "Reference Geometry" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:149 flatcamTools/ToolNonCopperClear.py:464 +#: flatcamTools/ToolPaint.py:343 +msgid "Ref. Object" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:151 flatcamTools/ToolNonCopperClear.py:466 +#: flatcamTools/ToolPaint.py:345 +msgid "The FlatCAM object to be used as non copper clearing reference." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:204 +msgid "Insert Copper thieving" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:206 +msgid "" +"Will add a polygon (may be split in multiple parts)\n" +"that will surround the actual Gerber traces at a certain distance." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:320 flatcamTools/ToolDblSided.py:425 +#: flatcamTools/ToolOptimal.py:321 flatcamTools/ToolQRCode.py:392 +msgid "There is no Gerber object loaded ..." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:330 flatcamTools/ToolCopperThieving.py:363 +#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:572 +#: flatcamTools/ToolNonCopperClear.py:1140 flatcamTools/ToolNonCopperClear.py:1181 +#: flatcamTools/ToolNonCopperClear.py:1213 flatcamTools/ToolPaint.py:1082 +#: flatcamTools/ToolPanelize.py:384 flatcamTools/ToolPanelize.py:399 +#: flatcamTools/ToolSub.py:261 flatcamTools/ToolSub.py:276 flatcamTools/ToolSub.py:463 +#: flatcamTools/ToolSub.py:478 tclCommands/TclCommandCopperClear.py:135 +#: tclCommands/TclCommandCopperClear.py:212 tclCommands/TclCommandPaint.py:137 +msgid "Could not retrieve object" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:340 flatcamTools/ToolNonCopperClear.py:1194 +msgid "Click the start point of the area." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:391 +msgid "Click the end point of the filling area." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:397 flatcamTools/ToolNonCopperClear.py:1250 +#: flatcamTools/ToolPaint.py:1124 +msgid "Zone added. Click to start adding next zone or right click to finish." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:512 flatcamTools/ToolCopperThieving.py:514 +msgid "Copper thieving" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:522 +msgid "Copper Thieving Tool started. Reading parameters." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:538 +msgid "Copper Thieving Tool. Preparing isolation polygons." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:583 +msgid "Copper Thieving Tool. Preparing areas to fill with copper." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:619 +msgid "Geometry not supported for bounding box" +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:626 flatcamTools/ToolNonCopperClear.py:1501 +#: flatcamTools/ToolPaint.py:2510 +msgid "No object available." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:669 flatcamTools/ToolNonCopperClear.py:1543 +msgid "The reference object type is not supported." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:674 +msgid "Copper Thieving Tool. Appending new geometry and buffering." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:714 +msgid "Copper Thieving Tool done." +msgstr "" + +#: flatcamTools/ToolCopperThieving.py:771 +msgid "Copper Thieving Tool exit." +msgstr "" + #: flatcamTools/ToolCutOut.py:36 msgid "Cutout PCB" msgstr "" @@ -9742,10 +10812,6 @@ msgid "" "Useful when the PCB has a non-rectangular shape." msgstr "" -#: flatcamTools/ToolCutOut.py:219 -msgid "Rectangular" -msgstr "" - #: flatcamTools/ToolCutOut.py:221 msgid "" "The resulting cutout shape is\n" @@ -9816,16 +10882,6 @@ msgid "" "the Geometry object used as a cutout geometry." msgstr "" -#: flatcamTools/ToolCutOut.py:401 flatcamTools/ToolCutOut.py:572 -#: flatcamTools/ToolNonCopperClear.py:1136 flatcamTools/ToolNonCopperClear.py:1177 -#: flatcamTools/ToolNonCopperClear.py:1209 flatcamTools/ToolPaint.py:1082 -#: flatcamTools/ToolPanelize.py:384 flatcamTools/ToolPanelize.py:399 -#: flatcamTools/ToolSub.py:261 flatcamTools/ToolSub.py:276 flatcamTools/ToolSub.py:463 -#: flatcamTools/ToolSub.py:478 tclCommands/TclCommandCopperClear.py:131 -#: tclCommands/TclCommandCopperClear.py:208 tclCommands/TclCommandPaint.py:133 -msgid "Could not retrieve object" -msgstr "" - #: flatcamTools/ToolCutOut.py:406 msgid "" "There is no object selected for Cutout.\n" @@ -9858,9 +10914,9 @@ msgstr "" msgid "Any form CutOut operation finished." msgstr "" -#: flatcamTools/ToolCutOut.py:576 flatcamTools/ToolNonCopperClear.py:1140 +#: flatcamTools/ToolCutOut.py:576 flatcamTools/ToolNonCopperClear.py:1144 #: flatcamTools/ToolPaint.py:978 flatcamTools/ToolPanelize.py:389 -#: tclCommands/TclCommandBbox.py:66 tclCommands/TclCommandNregions.py:65 +#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70 msgid "Object not found" msgstr "" @@ -9953,21 +11009,6 @@ msgid "" "and left mouse button click on canvas or you can enter the coords manually." msgstr "" -#: flatcamTools/ToolDblSided.py:190 flatcamTools/ToolNonCopperClear.py:451 -#: flatcamTools/ToolPaint.py:338 -msgid "Gerber Reference Box Object" -msgstr "" - -#: flatcamTools/ToolDblSided.py:191 flatcamTools/ToolNonCopperClear.py:452 -#: flatcamTools/ToolPaint.py:339 -msgid "Excellon Reference Box Object" -msgstr "" - -#: flatcamTools/ToolDblSided.py:192 flatcamTools/ToolNonCopperClear.py:453 -#: flatcamTools/ToolPaint.py:340 -msgid "Geometry Reference Box Object" -msgstr "" - #: flatcamTools/ToolDblSided.py:200 msgid "Alignment Drill Coordinates" msgstr "" @@ -10043,10 +11084,6 @@ msgstr "" msgid "Excellon object with alignment drills created..." msgstr "" -#: flatcamTools/ToolDblSided.py:425 flatcamTools/ToolOptimal.py:310 -msgid "There is no Gerber object loaded ..." -msgstr "" - #: flatcamTools/ToolDblSided.py:429 flatcamTools/ToolDblSided.py:472 #: flatcamTools/ToolDblSided.py:516 msgid "Only Gerber, Excellon and Geometry objects can be mirrored." @@ -10066,10 +11103,6 @@ msgstr "" msgid "was mirrored" msgstr "" -#: flatcamTools/ToolDblSided.py:468 -msgid "There is no Excellon object loaded ..." -msgstr "" - #: flatcamTools/ToolDblSided.py:483 msgid "There are no Point coordinates in the Point field. Add coords and try again ..." msgstr "" @@ -10236,10 +11269,6 @@ msgstr "" msgid "Object for which to create the film." msgstr "" -#: flatcamTools/ToolFilm.py:102 -msgid "Box Type:" -msgstr "" - #: flatcamTools/ToolFilm.py:104 msgid "" "Specify the type of object to be used as an container for\n" @@ -10260,14 +11289,6 @@ msgid "" "same object for which the film is created." msgstr "" -#: flatcamTools/ToolFilm.py:265 -msgid "Positive" -msgstr "" - -#: flatcamTools/ToolFilm.py:266 -msgid "Negative" -msgstr "" - #: flatcamTools/ToolFilm.py:268 msgid "Film Type:" msgstr "" @@ -10565,197 +11586,175 @@ msgid "" "- Clear -> the regular non-copper clearing." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:204 +#: flatcamTools/ToolNonCopperClear.py:209 msgid "Tool Selection" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:227 -msgid "Diameter for the new tool to add in the Tool Table" +#: flatcamTools/ToolNonCopperClear.py:273 +msgid "" +"Diameter for the new tool to add in the Tool Table.\n" +"If the tool is V-shape type then this value is automatically\n" +"calculated from the other parameters." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:272 flatcamTools/ToolPaint.py:202 -#: flatcamTools/ToolSolderPaste.py:122 +#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190 +msgid "" +"Add a new tool to the Tool Table\n" +"with the diameter specified above." +msgstr "" + +#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202 +#: flatcamTools/ToolSolderPaste.py:129 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:427 flatcamTools/ToolPaint.py:315 -msgid "Area Selection" +#: flatcamTools/ToolNonCopperClear.py:443 +msgid "" +"- 'Itself' - the non copper clearing extent is based on the object that is copper " +"cleared.\n" +" - 'Area Selection' - left mouse click to start selection of the area to be painted.\n" +"- 'Reference Object' - will do non copper clearing within the area specified by another " +"object." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:428 flatcamTools/ToolPaint.py:317 -msgid "Reference Object" -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:430 -msgid "Reference:" -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:332 -msgid "Ref. Type" -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:447 +#: flatcamTools/ToolNonCopperClear.py:455 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:456 flatcamTools/ToolPaint.py:343 -msgid "Ref. Object" -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:345 -msgid "The FlatCAM object to be used as non copper clearing reference." -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:471 +#: flatcamTools/ToolNonCopperClear.py:479 msgid "Generate Geometry" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:555 flatcamTools/ToolPaint.py:469 -#: flatcamTools/ToolSolderPaste.py:463 +#: flatcamTools/ToolNonCopperClear.py:567 flatcamTools/ToolPaint.py:469 +#: flatcamTools/ToolSolderPaste.py:515 msgid "New Tool" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:961 flatcamTools/ToolPaint.py:741 -#: flatcamTools/ToolSolderPaste.py:794 +#: flatcamTools/ToolNonCopperClear.py:965 flatcamTools/ToolPaint.py:741 +#: flatcamTools/ToolSolderPaste.py:846 msgid "Please enter a tool diameter to add, in Float format." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:992 flatcamTools/ToolPaint.py:766 +#: flatcamTools/ToolNonCopperClear.py:996 flatcamTools/ToolPaint.py:766 msgid "Adding tool cancelled. Tool already in Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:997 flatcamTools/ToolPaint.py:772 +#: flatcamTools/ToolNonCopperClear.py:1001 flatcamTools/ToolPaint.py:772 msgid "New tool added to Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1041 flatcamTools/ToolPaint.py:818 +#: flatcamTools/ToolNonCopperClear.py:1045 flatcamTools/ToolPaint.py:818 msgid "Tool from Tool Table was edited." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1052 flatcamTools/ToolPaint.py:830 -#: flatcamTools/ToolSolderPaste.py:885 +#: flatcamTools/ToolNonCopperClear.py:1056 flatcamTools/ToolPaint.py:830 +#: flatcamTools/ToolSolderPaste.py:937 msgid "Edit cancelled. New diameter value is already in the Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1099 flatcamTools/ToolPaint.py:928 +#: flatcamTools/ToolNonCopperClear.py:1103 flatcamTools/ToolPaint.py:928 msgid "Delete failed. Select a tool to delete." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1104 flatcamTools/ToolPaint.py:934 +#: flatcamTools/ToolNonCopperClear.py:1108 flatcamTools/ToolPaint.py:934 msgid "Tool(s) deleted from Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1122 +#: flatcamTools/ToolNonCopperClear.py:1126 msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive), " msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1156 +#: flatcamTools/ToolNonCopperClear.py:1160 msgid "Wrong Tool Dia value format entered, use a number." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1165 flatcamTools/ToolPaint.py:1008 +#: flatcamTools/ToolNonCopperClear.py:1169 flatcamTools/ToolPaint.py:1008 msgid "No selected tools in Tool Table." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1190 -msgid "Click the start point of the area." -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:1240 flatcamTools/ToolPaint.py:1118 +#: flatcamTools/ToolNonCopperClear.py:1244 flatcamTools/ToolPaint.py:1118 msgid "Click the end point of the paint area." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1246 flatcamTools/ToolPaint.py:1124 -msgid "Zone added. Click to start adding next zone or right click to finish." -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:1387 flatcamTools/ToolNonCopperClear.py:1389 +#: flatcamTools/ToolNonCopperClear.py:1398 flatcamTools/ToolNonCopperClear.py:1400 msgid "Non-Copper clearing ..." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1399 +#: flatcamTools/ToolNonCopperClear.py:1410 msgid "NCC Tool started. Reading parameters." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1462 +#: flatcamTools/ToolNonCopperClear.py:1473 msgid "NCC Tool. Preparing non-copper polygons." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1490 flatcamTools/ToolPaint.py:2518 -msgid "No object available." -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:1532 -msgid "The reference object type is not supported." -msgstr "" - -#: flatcamTools/ToolNonCopperClear.py:1558 +#: flatcamTools/ToolNonCopperClear.py:1569 msgid "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1590 +#: flatcamTools/ToolNonCopperClear.py:1601 msgid "NCC Tool. Calculate 'empty' area." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1605 flatcamTools/ToolNonCopperClear.py:1703 -#: flatcamTools/ToolNonCopperClear.py:1715 flatcamTools/ToolNonCopperClear.py:1953 -#: flatcamTools/ToolNonCopperClear.py:2049 flatcamTools/ToolNonCopperClear.py:2061 +#: flatcamTools/ToolNonCopperClear.py:1616 flatcamTools/ToolNonCopperClear.py:1714 +#: flatcamTools/ToolNonCopperClear.py:1726 flatcamTools/ToolNonCopperClear.py:1964 +#: flatcamTools/ToolNonCopperClear.py:2060 flatcamTools/ToolNonCopperClear.py:2072 msgid "Buffering finished" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1722 flatcamTools/ToolNonCopperClear.py:2067 +#: flatcamTools/ToolNonCopperClear.py:1733 flatcamTools/ToolNonCopperClear.py:2078 msgid "The selected object is not suitable for copper clearing." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1727 flatcamTools/ToolNonCopperClear.py:2072 +#: flatcamTools/ToolNonCopperClear.py:1738 flatcamTools/ToolNonCopperClear.py:2083 msgid "Could not get the extent of the area to be non copper cleared." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1734 +#: flatcamTools/ToolNonCopperClear.py:1745 msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1747 flatcamTools/ToolNonCopperClear.py:2097 +#: flatcamTools/ToolNonCopperClear.py:1758 flatcamTools/ToolNonCopperClear.py:2108 msgid "NCC Tool clearing with tool diameter = " msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1750 flatcamTools/ToolNonCopperClear.py:2100 +#: flatcamTools/ToolNonCopperClear.py:1761 flatcamTools/ToolNonCopperClear.py:2111 msgid "started." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1892 +#: flatcamTools/ToolNonCopperClear.py:1903 msgid "" "There is no NCC Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted geometry.\n" "Change the painting parameters and try again." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1902 +#: flatcamTools/ToolNonCopperClear.py:1913 msgid "NCC Tool clear all done." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1904 +#: flatcamTools/ToolNonCopperClear.py:1915 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:1907 flatcamTools/ToolNonCopperClear.py:2273 +#: flatcamTools/ToolNonCopperClear.py:1918 flatcamTools/ToolNonCopperClear.py:2284 msgid "tools" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:2269 +#: flatcamTools/ToolNonCopperClear.py:2280 msgid "NCC Tool Rest Machining clear all done." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:2272 +#: flatcamTools/ToolNonCopperClear.py:2283 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is broken for" msgstr "" -#: flatcamTools/ToolNonCopperClear.py:2708 +#: flatcamTools/ToolNonCopperClear.py:2719 msgid "" "Try to use the Buffering Type = Full in Preferences -> Gerber General. Reload the Gerber " "file after this change." @@ -10789,96 +11788,97 @@ msgstr "" msgid "Minimum points coordinates" msgstr "" -#: flatcamTools/ToolOptimal.py:114 +#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120 msgid "Coordinates for points where minimum distance was found." msgstr "" -#: flatcamTools/ToolOptimal.py:130 flatcamTools/ToolOptimal.py:198 +#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209 msgid "Jump to selected position" msgstr "" -#: flatcamTools/ToolOptimal.py:132 flatcamTools/ToolOptimal.py:200 +#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211 msgid "" "Select a position in the Locations text box and then\n" "click this button." msgstr "" -#: flatcamTools/ToolOptimal.py:140 +#: flatcamTools/ToolOptimal.py:143 msgid "Other distances" msgstr "" -#: flatcamTools/ToolOptimal.py:141 +#: flatcamTools/ToolOptimal.py:144 msgid "" "Will display other distances in the Gerber file ordered from\n" "the minimum to the maximum, not including the absolute minimum." msgstr "" -#: flatcamTools/ToolOptimal.py:146 +#: flatcamTools/ToolOptimal.py:149 msgid "Other distances points coordinates" msgstr "" -#: flatcamTools/ToolOptimal.py:147 flatcamTools/ToolOptimal.py:161 -#: flatcamTools/ToolOptimal.py:181 +#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164 +#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188 +#: flatcamTools/ToolOptimal.py:195 msgid "" "Other distances and the coordinates for points\n" "where the distance was found." msgstr "" -#: flatcamTools/ToolOptimal.py:160 +#: flatcamTools/ToolOptimal.py:163 msgid "Gerber distances" msgstr "" -#: flatcamTools/ToolOptimal.py:180 +#: flatcamTools/ToolOptimal.py:187 msgid "Points coordinates" msgstr "" -#: flatcamTools/ToolOptimal.py:208 +#: flatcamTools/ToolOptimal.py:219 msgid "Find Minimum" msgstr "" -#: flatcamTools/ToolOptimal.py:210 +#: flatcamTools/ToolOptimal.py:221 msgid "" "Calculate the minimum distance between copper features,\n" "this will allow the determination of the right tool to\n" "use for isolation or copper clearing." msgstr "" -#: flatcamTools/ToolOptimal.py:314 +#: flatcamTools/ToolOptimal.py:325 msgid "Only Gerber objects can be evaluated." msgstr "" -#: flatcamTools/ToolOptimal.py:317 flatcamTools/ToolPanelize.py:781 +#: flatcamTools/ToolOptimal.py:328 flatcamTools/ToolPanelize.py:781 #: flatcamTools/ToolRulesCheck.py:1098 msgid "Working..." msgstr "" -#: flatcamTools/ToolOptimal.py:320 +#: flatcamTools/ToolOptimal.py:331 msgid "Optimal Tool. Started to search for the minimum distance between copper features." msgstr "" -#: flatcamTools/ToolOptimal.py:330 +#: flatcamTools/ToolOptimal.py:341 msgid "Optimal Tool. Parsing geometry for aperture" msgstr "" -#: flatcamTools/ToolOptimal.py:341 +#: flatcamTools/ToolOptimal.py:352 msgid "Optimal Tool. Creating a buffer for the object geometry." msgstr "" -#: flatcamTools/ToolOptimal.py:351 +#: flatcamTools/ToolOptimal.py:362 msgid "" "The Gerber object has one Polygon as geometry.\n" "There are no distances between geometry elements to be found." msgstr "" -#: flatcamTools/ToolOptimal.py:356 +#: flatcamTools/ToolOptimal.py:367 msgid "Optimal Tool. Finding the distances between each two elements. Iterations" msgstr "" -#: flatcamTools/ToolOptimal.py:391 +#: flatcamTools/ToolOptimal.py:402 msgid "Optimal Tool. Finding the minimum distance." msgstr "" -#: flatcamTools/ToolOptimal.py:407 +#: flatcamTools/ToolOptimal.py:418 msgid "Optimal Tool. Finished successfully." msgstr "" @@ -11020,7 +12020,7 @@ msgstr "" msgid "Can't do Paint on MultiGeo geometries" msgstr "" -#: flatcamTools/ToolPaint.py:1030 flatcamTools/ToolPaint.py:1303 +#: flatcamTools/ToolPaint.py:1030 flatcamTools/ToolPaint.py:1304 msgid "Painting polygon..." msgstr "" @@ -11028,115 +12028,115 @@ msgstr "" msgid "Click the start point of the paint area." msgstr "" -#: flatcamTools/ToolPaint.py:1259 flatcamTools/ToolPaint.py:1263 -#: flatcamTools/ToolPaint.py:1266 flatcamTools/ToolPaint.py:1305 -#: flatcamTools/ToolPaint.py:1832 flatcamTools/ToolPaint.py:1836 -#: flatcamTools/ToolPaint.py:1839 flatcamTools/ToolPaint.py:2121 -#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2129 -#: flatcamTools/ToolPaint.py:2303 flatcamTools/ToolPaint.py:2310 +#: flatcamTools/ToolPaint.py:1267 flatcamTools/ToolPaint.py:1271 +#: flatcamTools/ToolPaint.py:1274 flatcamTools/ToolPaint.py:1306 +#: flatcamTools/ToolPaint.py:1824 flatcamTools/ToolPaint.py:1828 +#: flatcamTools/ToolPaint.py:1831 flatcamTools/ToolPaint.py:2113 +#: flatcamTools/ToolPaint.py:2118 flatcamTools/ToolPaint.py:2121 +#: flatcamTools/ToolPaint.py:2295 flatcamTools/ToolPaint.py:2302 msgid "Paint Tool." msgstr "" -#: flatcamTools/ToolPaint.py:1259 flatcamTools/ToolPaint.py:1263 -#: flatcamTools/ToolPaint.py:1266 +#: flatcamTools/ToolPaint.py:1267 flatcamTools/ToolPaint.py:1271 +#: flatcamTools/ToolPaint.py:1274 msgid "Normal painting polygon task started." msgstr "" -#: flatcamTools/ToolPaint.py:1260 flatcamTools/ToolPaint.py:1658 -#: flatcamTools/ToolPaint.py:1833 flatcamTools/ToolPaint.py:2123 -#: flatcamTools/ToolPaint.py:2305 +#: flatcamTools/ToolPaint.py:1268 flatcamTools/ToolPaint.py:1650 +#: flatcamTools/ToolPaint.py:1825 flatcamTools/ToolPaint.py:2115 +#: flatcamTools/ToolPaint.py:2297 msgid "Buffering geometry..." msgstr "" -#: flatcamTools/ToolPaint.py:1300 +#: flatcamTools/ToolPaint.py:1301 msgid "No polygon found." msgstr "" -#: flatcamTools/ToolPaint.py:1305 +#: flatcamTools/ToolPaint.py:1306 msgid "Painting polygon at location" msgstr "" -#: flatcamTools/ToolPaint.py:1388 +#: flatcamTools/ToolPaint.py:1389 msgid "Geometry could not be painted completely" msgstr "" -#: flatcamTools/ToolPaint.py:1433 +#: flatcamTools/ToolPaint.py:1434 msgid "" "Could not do Paint. Try a different combination of parameters. Or a different strategy of " "paint" msgstr "" -#: flatcamTools/ToolPaint.py:1477 flatcamTools/ToolPaint.py:1812 -#: flatcamTools/ToolPaint.py:1962 flatcamTools/ToolPaint.py:2283 -#: flatcamTools/ToolPaint.py:2437 +#: flatcamTools/ToolPaint.py:1478 flatcamTools/ToolPaint.py:1804 +#: flatcamTools/ToolPaint.py:1954 flatcamTools/ToolPaint.py:2275 +#: flatcamTools/ToolPaint.py:2429 msgid "" "There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted geometry.\n" "Change the painting parameters and try again." msgstr "" -#: flatcamTools/ToolPaint.py:1482 +#: flatcamTools/ToolPaint.py:1483 msgid "Paint Single Done." msgstr "" -#: flatcamTools/ToolPaint.py:1514 flatcamTools/ToolPaint.py:1990 -#: flatcamTools/ToolPaint.py:2465 +#: flatcamTools/ToolPaint.py:1515 flatcamTools/ToolPaint.py:1982 +#: flatcamTools/ToolPaint.py:2457 msgid "Polygon Paint started ..." msgstr "" -#: flatcamTools/ToolPaint.py:1575 flatcamTools/ToolPaint.py:2052 +#: flatcamTools/ToolPaint.py:1567 flatcamTools/ToolPaint.py:2044 msgid "Painting polygons..." msgstr "" -#: flatcamTools/ToolPaint.py:1657 flatcamTools/ToolPaint.py:1660 -#: flatcamTools/ToolPaint.py:1662 +#: flatcamTools/ToolPaint.py:1649 flatcamTools/ToolPaint.py:1652 +#: flatcamTools/ToolPaint.py:1654 msgid "Paint Tool. Normal painting all task started." msgstr "" -#: flatcamTools/ToolPaint.py:1696 flatcamTools/ToolPaint.py:1868 -#: flatcamTools/ToolPaint.py:2170 flatcamTools/ToolPaint.py:2346 +#: flatcamTools/ToolPaint.py:1688 flatcamTools/ToolPaint.py:1860 +#: flatcamTools/ToolPaint.py:2162 flatcamTools/ToolPaint.py:2338 msgid "Painting with tool diameter = " msgstr "" -#: flatcamTools/ToolPaint.py:1699 flatcamTools/ToolPaint.py:1871 -#: flatcamTools/ToolPaint.py:2173 flatcamTools/ToolPaint.py:2349 +#: flatcamTools/ToolPaint.py:1691 flatcamTools/ToolPaint.py:1863 +#: flatcamTools/ToolPaint.py:2165 flatcamTools/ToolPaint.py:2341 msgid "started" msgstr "" -#: flatcamTools/ToolPaint.py:1761 flatcamTools/ToolPaint.py:1917 -#: flatcamTools/ToolPaint.py:2233 flatcamTools/ToolPaint.py:2393 +#: flatcamTools/ToolPaint.py:1753 flatcamTools/ToolPaint.py:1909 +#: flatcamTools/ToolPaint.py:2225 flatcamTools/ToolPaint.py:2385 msgid "" "Could not do Paint All. Try a different combination of parameters. Or a different Method " "of paint" msgstr "" -#: flatcamTools/ToolPaint.py:1821 +#: flatcamTools/ToolPaint.py:1813 msgid "Paint All Done." msgstr "" -#: flatcamTools/ToolPaint.py:1832 flatcamTools/ToolPaint.py:1836 -#: flatcamTools/ToolPaint.py:1839 +#: flatcamTools/ToolPaint.py:1824 flatcamTools/ToolPaint.py:1828 +#: flatcamTools/ToolPaint.py:1831 msgid "Rest machining painting all task started." msgstr "" -#: flatcamTools/ToolPaint.py:1971 flatcamTools/ToolPaint.py:2446 +#: flatcamTools/ToolPaint.py:1963 flatcamTools/ToolPaint.py:2438 msgid "Paint All with Rest-Machining done." msgstr "" -#: flatcamTools/ToolPaint.py:2122 flatcamTools/ToolPaint.py:2126 -#: flatcamTools/ToolPaint.py:2129 +#: flatcamTools/ToolPaint.py:2114 flatcamTools/ToolPaint.py:2118 +#: flatcamTools/ToolPaint.py:2121 msgid "Normal painting area task started." msgstr "" -#: flatcamTools/ToolPaint.py:2292 +#: flatcamTools/ToolPaint.py:2284 msgid "Paint Area Done." msgstr "" -#: flatcamTools/ToolPaint.py:2304 flatcamTools/ToolPaint.py:2310 +#: flatcamTools/ToolPaint.py:2296 flatcamTools/ToolPaint.py:2302 msgid "Rest machining painting area task started." msgstr "" -#: flatcamTools/ToolPaint.py:2307 +#: flatcamTools/ToolPaint.py:2299 msgid "Paint Tool. Rest machining painting area task started." msgstr "" @@ -11470,6 +12470,81 @@ msgstr "" msgid "Convex_Hull Area" msgstr "" +#: flatcamTools/ToolQRCode.py:79 +msgid "Gerber Object to which the QRCode will be added." +msgstr "" + +#: flatcamTools/ToolQRCode.py:92 +msgid "QRCode Parameters" +msgstr "" + +#: flatcamTools/ToolQRCode.py:94 +msgid "The parameters used to shape the QRCode." +msgstr "" + +#: flatcamTools/ToolQRCode.py:207 +msgid "Export QRCode" +msgstr "" + +#: flatcamTools/ToolQRCode.py:209 +msgid "" +"Show a set of controls allowing to export the QRCode\n" +"to a SVG file or an PNG file." +msgstr "" + +#: flatcamTools/ToolQRCode.py:248 +msgid "Transparent back color" +msgstr "" + +#: flatcamTools/ToolQRCode.py:273 +msgid "Export QRCode SVG" +msgstr "" + +#: flatcamTools/ToolQRCode.py:275 +msgid "Export a SVG file with the QRCode content." +msgstr "" + +#: flatcamTools/ToolQRCode.py:280 +msgid "Export QRCode PNG" +msgstr "" + +#: flatcamTools/ToolQRCode.py:282 +msgid "Export a PNG image file with the QRCode content." +msgstr "" + +#: flatcamTools/ToolQRCode.py:287 +msgid "Insert QRCode" +msgstr "" + +#: flatcamTools/ToolQRCode.py:289 +msgid "Create the QRCode object." +msgstr "" + +#: flatcamTools/ToolQRCode.py:381 flatcamTools/ToolQRCode.py:716 +#: flatcamTools/ToolQRCode.py:765 +msgid "Cancelled. There is no QRCode Data in the text box." +msgstr "" + +#: flatcamTools/ToolQRCode.py:400 +msgid "Generating QRCode geometry" +msgstr "" + +#: flatcamTools/ToolQRCode.py:440 +msgid "Click on the Destination point ..." +msgstr "" + +#: flatcamTools/ToolQRCode.py:555 +msgid "QRCode Tool done." +msgstr "" + +#: flatcamTools/ToolQRCode.py:748 flatcamTools/ToolQRCode.py:752 +msgid "Export PNG" +msgstr "" + +#: flatcamTools/ToolQRCode.py:757 +msgid " Export PNG cancelled." +msgstr "" + #: flatcamTools/ToolRulesCheck.py:33 msgid "Check Rules" msgstr "" @@ -11675,21 +12750,21 @@ msgstr "" msgid "...proccessing..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:36 +#: flatcamTools/ToolSolderPaste.py:37 msgid "Solder Paste Tool" msgstr "" -#: flatcamTools/ToolSolderPaste.py:64 +#: flatcamTools/ToolSolderPaste.py:68 msgid "Gerber Solder paste object. " msgstr "" -#: flatcamTools/ToolSolderPaste.py:71 +#: flatcamTools/ToolSolderPaste.py:75 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." msgstr "" -#: flatcamTools/ToolSolderPaste.py:86 +#: flatcamTools/ToolSolderPaste.py:90 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -11698,84 +12773,68 @@ msgid "" " with solder paste, the app will issue a warning message box." msgstr "" -#: flatcamTools/ToolSolderPaste.py:93 +#: flatcamTools/ToolSolderPaste.py:97 msgid "" "Nozzle tool Diameter. It's value (in current FlatCAM units)\n" "is the width of the solder paste dispensed." msgstr "" -#: flatcamTools/ToolSolderPaste.py:100 +#: flatcamTools/ToolSolderPaste.py:104 msgid "New Nozzle Tool" msgstr "" -#: flatcamTools/ToolSolderPaste.py:116 +#: flatcamTools/ToolSolderPaste.py:123 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." msgstr "" -#: flatcamTools/ToolSolderPaste.py:128 +#: flatcamTools/ToolSolderPaste.py:135 msgid "Generate solder paste dispensing geometry." msgstr "" -#: flatcamTools/ToolSolderPaste.py:141 -msgid "STEP 1" -msgstr "" - -#: flatcamTools/ToolSolderPaste.py:143 +#: flatcamTools/ToolSolderPaste.py:150 msgid "" "First step is to select a number of nozzle tools for usage\n" "and then optionally modify the GCode parameters bellow." msgstr "" -#: flatcamTools/ToolSolderPaste.py:146 +#: flatcamTools/ToolSolderPaste.py:153 msgid "" "Select tools.\n" "Modify parameters." msgstr "" -#: flatcamTools/ToolSolderPaste.py:234 +#: flatcamTools/ToolSolderPaste.py:273 msgid "" "Feedrate (speed) while moving up vertically\n" " to Dispense position (on Z plane)." msgstr "" -#: flatcamTools/ToolSolderPaste.py:288 -msgid "Generate GCode" -msgstr "" - -#: flatcamTools/ToolSolderPaste.py:290 +#: flatcamTools/ToolSolderPaste.py:343 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." msgstr "" -#: flatcamTools/ToolSolderPaste.py:305 -msgid "STEP 2" -msgstr "" - -#: flatcamTools/ToolSolderPaste.py:307 +#: flatcamTools/ToolSolderPaste.py:360 msgid "" "Second step is to create a solder paste dispensing\n" "geometry out of an Solder Paste Mask Gerber file." msgstr "" -#: flatcamTools/ToolSolderPaste.py:323 +#: flatcamTools/ToolSolderPaste.py:376 msgid "Geo Result" msgstr "" -#: flatcamTools/ToolSolderPaste.py:325 +#: flatcamTools/ToolSolderPaste.py:378 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" "'_solderpaste' as a protection." msgstr "" -#: flatcamTools/ToolSolderPaste.py:334 -msgid "STEP 3" -msgstr "" - -#: flatcamTools/ToolSolderPaste.py:336 +#: flatcamTools/ToolSolderPaste.py:389 msgid "" "Third step is to select a solder paste dispensing geometry,\n" "and then generate a CNCJob object.\n" @@ -11785,11 +12844,11 @@ msgid "" "and only after that you can generate an updated CNCJob." msgstr "" -#: flatcamTools/ToolSolderPaste.py:356 +#: flatcamTools/ToolSolderPaste.py:409 msgid "CNC Result" msgstr "" -#: flatcamTools/ToolSolderPaste.py:358 +#: flatcamTools/ToolSolderPaste.py:411 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -11797,110 +12856,110 @@ msgid "" "'_solderpaste' as a protection." msgstr "" -#: flatcamTools/ToolSolderPaste.py:368 +#: flatcamTools/ToolSolderPaste.py:421 msgid "View GCode" msgstr "" -#: flatcamTools/ToolSolderPaste.py:370 +#: flatcamTools/ToolSolderPaste.py:423 msgid "" "View the generated GCode for Solder Paste dispensing\n" "on PCB pads." msgstr "" -#: flatcamTools/ToolSolderPaste.py:374 +#: flatcamTools/ToolSolderPaste.py:427 msgid "Save GCode" msgstr "" -#: flatcamTools/ToolSolderPaste.py:376 +#: flatcamTools/ToolSolderPaste.py:429 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." msgstr "" -#: flatcamTools/ToolSolderPaste.py:380 -msgid "STEP 4" -msgstr "" - -#: flatcamTools/ToolSolderPaste.py:382 +#: flatcamTools/ToolSolderPaste.py:435 msgid "" "Fourth step (and last) is to select a CNCJob made from \n" "a solder paste dispensing geometry, and then view/save it's GCode." msgstr "" -#: flatcamTools/ToolSolderPaste.py:824 +#: flatcamTools/ToolSolderPaste.py:876 msgid "Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:830 +#: flatcamTools/ToolSolderPaste.py:882 msgid "New Nozzle tool added to Tool Table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:873 +#: flatcamTools/ToolSolderPaste.py:925 msgid "Nozzle tool from Tool Table was edited." msgstr "" -#: flatcamTools/ToolSolderPaste.py:931 +#: flatcamTools/ToolSolderPaste.py:983 msgid "Delete failed. Select a Nozzle tool to delete." msgstr "" -#: flatcamTools/ToolSolderPaste.py:937 +#: flatcamTools/ToolSolderPaste.py:989 msgid "Nozzle tool(s) deleted from Tool Table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:993 +#: flatcamTools/ToolSolderPaste.py:1045 msgid "No SolderPaste mask Gerber object loaded." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1011 +#: flatcamTools/ToolSolderPaste.py:1063 msgid "Creating Solder Paste dispensing geometry." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1024 +#: flatcamTools/ToolSolderPaste.py:1076 msgid "No Nozzle tools in the tool table." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1151 +#: flatcamTools/ToolSolderPaste.py:1203 msgid "Cancelled. Empty file, it has no geometry..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1155 +#: flatcamTools/ToolSolderPaste.py:1207 msgid "Solder Paste geometry generated successfully" msgstr "" -#: flatcamTools/ToolSolderPaste.py:1162 +#: flatcamTools/ToolSolderPaste.py:1214 msgid "Some or all pads have no solder due of inadequate nozzle diameters..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1176 +#: flatcamTools/ToolSolderPaste.py:1228 msgid "Generating Solder Paste dispensing geometry..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1197 +#: flatcamTools/ToolSolderPaste.py:1249 msgid "There is no Geometry object available." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1202 +#: flatcamTools/ToolSolderPaste.py:1254 msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1310 +#: flatcamTools/ToolSolderPaste.py:1362 msgid "ToolSolderPaste CNCjob created" msgstr "" -#: flatcamTools/ToolSolderPaste.py:1343 flatcamTools/ToolSolderPaste.py:1348 -#: flatcamTools/ToolSolderPaste.py:1403 +#: flatcamTools/ToolSolderPaste.py:1383 +msgid "SP GCode Editor" +msgstr "" + +#: flatcamTools/ToolSolderPaste.py:1395 flatcamTools/ToolSolderPaste.py:1400 +#: flatcamTools/ToolSolderPaste.py:1455 msgid "This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1373 +#: flatcamTools/ToolSolderPaste.py:1425 msgid "No Gcode in the object" msgstr "" -#: flatcamTools/ToolSolderPaste.py:1413 +#: flatcamTools/ToolSolderPaste.py:1465 msgid "Export GCode ..." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1461 +#: flatcamTools/ToolSolderPaste.py:1513 msgid "Solder paste dispenser GCode file saved to" msgstr "" @@ -11908,10 +12967,6 @@ msgstr "" msgid "Gerber Objects" msgstr "" -#: flatcamTools/ToolSub.py:73 flatcamTools/ToolSub.py:119 -msgid "Target" -msgstr "" - #: flatcamTools/ToolSub.py:75 msgid "" "Gerber object from which to subtract\n" @@ -12145,7 +13200,7 @@ msgstr "" msgid "Offset on the" msgstr "" -#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:68 +#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73 msgid "Expected FlatCAMGerber or FlatCAMGeometry, got" msgstr "" @@ -12157,48 +13212,48 @@ msgstr "" msgid "TclCommand Bounds done." msgstr "" -#: tclCommands/TclCommandCopperClear.py:237 tclCommands/TclCommandPaint.py:235 +#: tclCommands/TclCommandCopperClear.py:241 tclCommands/TclCommandPaint.py:239 msgid "Expected -box ." msgstr "" -#: tclCommands/TclCommandCopperClear.py:246 tclCommands/TclCommandPaint.py:244 -#: tclCommands/TclCommandScale.py:63 +#: tclCommands/TclCommandCopperClear.py:250 tclCommands/TclCommandPaint.py:248 +#: tclCommands/TclCommandScale.py:75 msgid "Could not retrieve box object" msgstr "" -#: tclCommands/TclCommandCopperClear.py:268 +#: tclCommands/TclCommandCopperClear.py:272 msgid "" "None of the following args: 'ref', 'all' were found or none was set to 1.\n" "Copper clearing failed." msgstr "" -#: tclCommands/TclCommandPaint.py:212 +#: tclCommands/TclCommandPaint.py:216 msgid "Expected -x and -y ." msgstr "" -#: tclCommands/TclCommandPaint.py:263 +#: tclCommands/TclCommandPaint.py:267 msgid "" "There was none of the following args: 'ref', 'single', 'all'.\n" "Paint failed." msgstr "" -#: tclCommands/TclCommandScale.py:83 +#: tclCommands/TclCommandScale.py:95 msgid "Expected -origin or -origin or -origin
." msgstr "" -#: tclCommands/TclCommandScale.py:92 +#: tclCommands/TclCommandScale.py:104 msgid "Expected -x -y ." msgstr "" -#: tclCommands/TclCommandSetOrigin.py:87 +#: tclCommands/TclCommandSetOrigin.py:91 msgid "Expected a pair of (x, y) coordinates. Got" msgstr "" -#: tclCommands/TclCommandSetOrigin.py:94 +#: tclCommands/TclCommandSetOrigin.py:98 msgid "Origin set by offsetting all loaded objects with " msgstr "" -#: tclCommands/TclCommandSubtractRectangle.py:49 +#: tclCommands/TclCommandSubtractRectangle.py:58 msgid "No Geometry name in args. Provide a name and try again." msgstr "" diff --git a/tclCommands/TclCommandAddCircle.py b/tclCommands/TclCommandAddCircle.py index c5d6776f..181484d6 100644 --- a/tclCommands/TclCommandAddCircle.py +++ b/tclCommands/TclCommandAddCircle.py @@ -56,7 +56,7 @@ class TclCommandAddCircle(TclCommand): try: obj = self.app.collection.get_by_name(str(obj_name)) - except Exception as e: + except Exception: return "Could not retrieve object: %s" % obj_name if obj is None: return "Object not found: %s" % obj_name diff --git a/tclCommands/TclCommandAddRectangle.py b/tclCommands/TclCommandAddRectangle.py index e41179c8..fa26ae02 100644 --- a/tclCommands/TclCommandAddRectangle.py +++ b/tclCommands/TclCommandAddRectangle.py @@ -58,7 +58,7 @@ class TclCommandAddRectangle(TclCommandSignaled): try: obj = self.app.collection.get_by_name(str(obj_name)) - except Exception as e: + except Exception: return "Could not retrieve object: %s" % obj_name if obj is None: return "Object not found: %s" % obj_name diff --git a/tclCommands/TclCommandAlignDrill.py b/tclCommands/TclCommandAlignDrill.py index a585f0a8..e34c8afd 100644 --- a/tclCommands/TclCommandAlignDrill.py +++ b/tclCommands/TclCommandAlignDrill.py @@ -81,7 +81,7 @@ class TclCommandAlignDrill(TclCommandSignaled): # Get source object. try: obj = self.app.collection.get_by_name(str(name)) - except: + except Exception: return "Could not retrieve object: %s" % name if obj is None: @@ -179,7 +179,7 @@ class TclCommandAlignDrill(TclCommandSignaled): if 'box' in args: try: box = self.app.collection.get_by_name(args['box']) - except: + except Exception: return "Could not retrieve object box: %s" % args['box'] if box is None: diff --git a/tclCommands/TclCommandGeoUnion.py b/tclCommands/TclCommandGeoUnion.py index 4e5e7c95..b0be4734 100644 --- a/tclCommands/TclCommandGeoUnion.py +++ b/tclCommands/TclCommandGeoUnion.py @@ -52,7 +52,7 @@ class TclCommandGeoUnion(TclCommand): try: obj = self.app.collection.get_by_name(str(obj_name)) - except: + except Exception: return "Could not retrieve object: %s" % obj_name if obj is None: return "Object not found: %s" % obj_name diff --git a/tclCommands/TclCommandMillSlots.py b/tclCommands/TclCommandMillSlots.py index a18a9dbc..28991320 100644 --- a/tclCommands/TclCommandMillSlots.py +++ b/tclCommands/TclCommandMillSlots.py @@ -75,7 +75,7 @@ class TclCommandMillSlots(TclCommandSignaled): try: obj = self.app.collection.get_by_name(str(name)) - except: + except Exception: obj = None self.raise_tcl_error("Could not retrieve object: %s" % name) diff --git a/tclCommands/TclCommandMirror.py b/tclCommands/TclCommandMirror.py index de0fa021..819f26ef 100644 --- a/tclCommands/TclCommandMirror.py +++ b/tclCommands/TclCommandMirror.py @@ -57,7 +57,7 @@ class TclCommandMirror(TclCommandSignaled): # Get source object. try: obj = self.app.collection.get_by_name(str(name)) - except Exception as e: + except Exception: return "Could not retrieve object: %s" % name if obj is None: @@ -78,7 +78,7 @@ class TclCommandMirror(TclCommandSignaled): if 'box' in args: try: box = self.app.collection.get_by_name(args['box']) - except Exception as e: + except Exception: return "Could not retrieve object box: %s" % args['box'] if box is None: diff --git a/tclCommands/TclCommandPanelize.py b/tclCommands/TclCommandPanelize.py index 2d8c4460..21d677b9 100644 --- a/tclCommands/TclCommandPanelize.py +++ b/tclCommands/TclCommandPanelize.py @@ -80,7 +80,7 @@ class TclCommandPanelize(TclCommand): boxname = args['box'] try: box = self.app.collection.get_by_name(boxname) - except Exception as e: + except Exception: return "Could not retrieve object: %s" % name else: box = obj diff --git a/tclCommands/TclCommandSubtractPoly.py b/tclCommands/TclCommandSubtractPoly.py index 9661e0b1..f5b08fd1 100644 --- a/tclCommands/TclCommandSubtractPoly.py +++ b/tclCommands/TclCommandSubtractPoly.py @@ -57,7 +57,7 @@ class TclCommandSubtractPoly(TclCommandSignaled): try: obj = self.app.collection.get_by_name(str(obj_name)) - except Exception as e: + except Exception: return "Could not retrieve object: %s" % obj_name if obj is None: return "Object not found: %s" % obj_name diff --git a/tclCommands/TclCommandSubtractRectangle.py b/tclCommands/TclCommandSubtractRectangle.py index f65b9f71..53f99bf6 100644 --- a/tclCommands/TclCommandSubtractRectangle.py +++ b/tclCommands/TclCommandSubtractRectangle.py @@ -70,8 +70,9 @@ class TclCommandSubtractRectangle(TclCommandSignaled): try: obj = self.app.collection.get_by_name(str(obj_name)) - except Exception as e: + except Exception: return "Could not retrieve object: %s" % obj_name + if obj is None: return "Object not found: %s" % obj_name diff --git a/tclCommands/TclCommandWriteGCode.py b/tclCommands/TclCommandWriteGCode.py index 428d367c..7125706e 100644 --- a/tclCommands/TclCommandWriteGCode.py +++ b/tclCommands/TclCommandWriteGCode.py @@ -90,7 +90,7 @@ class TclCommandWriteGCode(TclCommandSignaled): try: obj = self.app.collection.get_by_name(str(obj_name)) - except Exception as e: + except Exception: if muted == 0: return "Could not retrieve object: %s" % obj_name else: