diff --git a/FlatCAMApp.py b/FlatCAMApp.py index af61c8ea..ef3869b6 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1109,7 +1109,8 @@ class App(QtCore.QObject): ret_val = fcTranslate.apply_language('strings') if ret_val == "no language": - self.inform.emit(_("[ERROR] Could not find the Language files. The App strings are missing.")) + self.inform.emit('[ERROR] %s' % + _("Could not find the Language files. The App strings are missing.")) log.debug("Could not find the Language files. The App strings are missing.") else: # make the current language the current selection on the language combobox @@ -2647,7 +2648,8 @@ class App(QtCore.QObject): isinstance(edited_object, FlatCAMExcellon): pass else: - self.inform.emit(_("[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Select a Geometry, Gerber or Excellon Object to edit.")) return if isinstance(edited_object, FlatCAMGeometry): @@ -2660,7 +2662,8 @@ class App(QtCore.QObject): if edited_object.multigeo is True: edited_tools = [int(x.text()) for x in edited_object.ui.geo_tools_table.selectedItems()] if len(edited_tools) > 1: - self.inform.emit(_("[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo Geometry " + self.inform.emit('[WARNING_NOTCL] %s' % + _("Simultanoeus editing of tools geometry in a MultiGeo Geometry " "is not possible.\n" "Edit only one geometry at a time.")) @@ -2714,7 +2717,8 @@ class App(QtCore.QObject): self.ui.plot_tab_area.setTabText(0, "EDITOR Area") self.ui.plot_tab_area.protectTab(0) - self.inform.emit(_("[WARNING_NOTCL] Editor is activated ...")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Editor is activated ...")) self.should_we_save = True @@ -2765,7 +2769,8 @@ class App(QtCore.QObject): edited_obj.options['xmax'] = xmax edited_obj.options['ymax'] = ymax except AttributeError as e: - self.inform.emit(_("[WARNING] Object empty after edit.")) + self.inform.emit('[WARNING] %s' % + _("Object empty after edit.")) log.debug("App.editor2object() --> Geometry --> %s" % str(e)) elif isinstance(edited_obj, FlatCAMGerber): obj_type = "Gerber" @@ -2787,10 +2792,12 @@ class App(QtCore.QObject): self.exc_editor.update_options(edited_obj) self.exc_editor.deactivate() else: - self.inform.emit(_("[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Select a Gerber, Geometry or Excellon Object to update.")) return - self.inform.emit(_("[selected] %s is updated, returning to App...") % obj_type) + self.inform.emit('[selected] %s %s' % + (obj_type, _("is updated, returning to App..."))) elif response == bt_no: # clean the Tools Tab self.ui.tool_scroll_area.takeWidget() @@ -2806,7 +2813,8 @@ class App(QtCore.QObject): # set focus on the project tab self.ui.notebook.setCurrentWidget(self.ui.project_tab) else: - self.inform.emit(_("[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Select a Gerber, Geometry or Excellon Object to update.")) return elif response == bt_cancel: return @@ -2818,7 +2826,8 @@ class App(QtCore.QObject): elif isinstance(edited_obj, FlatCAMExcellon): self.exc_editor.deactivate() else: - self.inform.emit(_("[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Select a Gerber, Geometry or Excellon Object to update.")) return # if notebook is hidden we show it @@ -3173,7 +3182,8 @@ class App(QtCore.QObject): f.close() except IOError: self.log.error("Could not load defaults file.") - self.inform.emit(_("[ERROR] Could not load defaults file.")) + self.inform.emit('[ERROR] %s' % + _("Could not load defaults file.")) # in case the defaults file can't be loaded, show all toolbars self.defaults["global_toolbar_view"] = 511 return @@ -3185,7 +3195,8 @@ class App(QtCore.QObject): self.defaults["global_toolbar_view"] = 511 e = sys.exc_info()[0] App.log.error(str(e)) - self.inform.emit(_("[ERROR] Failed to parse defaults file.")) + self.inform.emit('[ERROR] %s' % + _("Failed to parse defaults file.")) return self.defaults.update(defaults) log.debug("FlatCAM defaults loaded from: %s" % filename) @@ -3216,7 +3227,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] FlatCAM preferences import cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("FlatCAM preferences import cancelled.")) else: try: f = open(filename) @@ -3224,7 +3236,8 @@ class App(QtCore.QObject): f.close() except IOError: self.log.error("Could not load defaults file.") - self.inform.emit(_("[ERROR_NOTCL] Could not load defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Could not load defaults file.")) return try: @@ -3232,11 +3245,13 @@ class App(QtCore.QObject): except Exception as e: e = sys.exc_info()[0] App.log.error(str(e)) - self.inform.emit(_("[ERROR_NOTCL] Failed to parse defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to parse defaults file.")) return self.defaults.update(defaults_from_file) self.on_preferences_edited() - self.inform.emit(_("[success] Imported Defaults from %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Imported Defaults from"), filename)) def on_export_preferences(self): """ @@ -3268,7 +3283,8 @@ class App(QtCore.QObject): defaults_from_file = {} if filename == "": - self.inform.emit(_("[WARNING_NOTCL] FlatCAM preferences export cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("FlatCAM preferences export cancelled.")) return else: try: @@ -3276,7 +3292,8 @@ class App(QtCore.QObject): defaults_file_content = f.read() f.close() except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return except IOError: @@ -3288,7 +3305,8 @@ class App(QtCore.QObject): e = sys.exc_info()[0] App.log.error("Could not load defaults file.") App.log.error(str(e)) - self.inform.emit(_("[ERROR_NOTCL] Could not load defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Could not load preferences file.")) return try: @@ -3307,12 +3325,14 @@ class App(QtCore.QObject): json.dump(defaults_from_file, f, default=to_dict, indent=2, sort_keys=True) f.close() except: - self.inform.emit(_("[ERROR_NOTCL] Failed to write defaults to file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to write defaults to file.")) return if self.defaults["global_open_style"] is False: self.file_opened.emit("preferences", filename) self.file_saved.emit("preferences", filename) - self.inform.emit("[success] Exported Defaults to %s" % filename) + self.inform.emit('[success] %s: %s' % + (_("Exported preferences to"), filename)) def on_preferences_open_folder(self): """ @@ -3328,7 +3348,8 @@ class App(QtCore.QObject): os.system('open "%s"' % self.data_path) else: subprocess.Popen(['xdg-open', self.data_path]) - self.inform.emit("[success] FlatCAM Preferences Folder opened.") + self.inform.emit('[success] %s' % + _("FlatCAM Preferences Folder opened.")) def save_geometry(self, x, y, width, height, notebook_width): """ @@ -3400,7 +3421,8 @@ class App(QtCore.QObject): f = open(self.data_path + '/recent.json', 'w') except IOError: App.log.error("Failed to open recent items file for writing.") - self.inform.emit(_('[ERROR_NOTCL] Failed to open recent files file for writing.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Failed to open recent files file for writing.')) return json.dump(self.recent, f, default=to_dict, indent=2, sort_keys=True) @@ -3410,7 +3432,8 @@ class App(QtCore.QObject): fp = open(self.data_path + '/recent_projects.json', 'w') except IOError: App.log.error("Failed to open recent items file for writing.") - self.inform.emit(_('[ERROR_NOTCL] Failed to open recent projects file for writing.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Failed to open recent projects file for writing.')) return json.dump(self.recent_projects, fp, default=to_dict, indent=2, sort_keys=True) @@ -3492,7 +3515,8 @@ class App(QtCore.QObject): try: return_value = initialize(obj, self) except Exception as e: - msg = _("[ERROR_NOTCL] An internal error has ocurred. See shell.\n") + msg = '[ERROR_NOTCL] %s' % \ + _("An internal error has ocurred. See shell.\n") msg += _("Object ({kind}) failed because: {error} \n\n").format(kind=kind, error=str(e)) msg += traceback.format_exc() self.inform.emit(msg) @@ -3513,7 +3537,8 @@ class App(QtCore.QObject): # Check units and convert if necessary # This condition CAN be true because initialize() can change obj.units if self.options["units"].upper() != obj.units.upper(): - self.inform.emit(_("Converting units to ") + self.options["units"] + ".") + self.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Converting units to "), self.options["units"])) obj.convert_units(self.options["units"]) t3 = time.time() self.log.debug("%f seconds converting units." % (t3 - t2)) @@ -3860,7 +3885,8 @@ class App(QtCore.QObject): e = sys.exc_info()[0] App.log.error("Could not load defaults file.") App.log.error(str(e)) - self.inform.emit(_("[ERROR_NOTCL] Could not load defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Could not load defaults file.")) return try: @@ -3869,7 +3895,8 @@ class App(QtCore.QObject): e = sys.exc_info()[0] App.log.error("Failed to parse defaults file.") App.log.error(str(e)) - self.inform.emit(_("[ERROR_NOTCL] Failed to parse defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to parse defaults file.")) return # Update options @@ -3914,11 +3941,13 @@ class App(QtCore.QObject): json.dump(defaults, f, default=to_dict, indent=2, sort_keys=True) f.close() except: - self.inform.emit(_("[ERROR_NOTCL] Failed to write defaults to file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to write defaults to file.")) return if not silent: - self.inform.emit(_("[success] Defaults saved.")) + self.inform.emit('[success] %s' % + _("Preferences saved.")) def save_factory_defaults(self, silent=False, data_path=None): """ @@ -3945,7 +3974,8 @@ class App(QtCore.QObject): e = sys.exc_info()[0] App.log.error("Could not load factory defaults file.") App.log.error(str(e)) - self.inform.emit(_("[ERROR_NOTCL] Could not load factory defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Could not load factory defaults file.")) return try: @@ -3954,7 +3984,8 @@ class App(QtCore.QObject): e = sys.exc_info()[0] App.log.error("Failed to parse factory defaults file.") App.log.error(str(e)) - self.inform.emit(_("[ERROR_NOTCL] Failed to parse factory defaults file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to parse factory defaults file.")) return # Update options @@ -3968,7 +3999,8 @@ class App(QtCore.QObject): json.dump(factory_defaults, f_f_def_s, default=to_dict, indent=2, sort_keys=True) f_f_def_s.close() except: - self.inform.emit(_("[ERROR_NOTCL] Failed to write factory defaults to file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to write factory defaults to file.")) return if silent is False: @@ -3982,7 +4014,8 @@ class App(QtCore.QObject): :return: None """ if self.save_in_progress: - self.inform.emit(_("[WARNING_NOTCL] Application is saving the project. Please wait ...")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Application is saving the project. Please wait ...")) return if self.should_we_save and self.collection.get_list(): @@ -4222,7 +4255,8 @@ class App(QtCore.QObject): for ext in gco_list: new_ext = new_ext + ext + ', ' self.defaults["fa_gcode"] = new_ext - self.inform.emit(_("[success] Selected GCode file extensions registered with FlatCAM.")) + self.inform.emit('[success] %s' % + _("Selected GCode file extensions registered with FlatCAM.")) if obj_type is None or obj_type == 'gerber': grb_list = self.ui.fa_defaults_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') @@ -4243,7 +4277,8 @@ class App(QtCore.QObject): for ext in grb_list: new_ext = new_ext + ext + ', ' self.defaults["fa_gerber"] = new_ext - self.inform.emit(_("[success] Selected Gerber file extensions registered with FlatCAM.")) + self.inform.emit('[success] %s' % + _("Selected Gerber file extensions registered with FlatCAM.")) def on_edit_join(self, name=None): """ @@ -4266,7 +4301,8 @@ class App(QtCore.QObject): # if len(geo_type_list) == 1 means that all list elements are the same if len(geo_type_list) != 1: - self.inform.emit(_("[ERROR] Failed join. The Geometry objects are of different types.\n" + 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 " "convert from one to another and retry joining \n" "but in the case of converting from MultiGeo to SingleGeo, informations may be lost and " @@ -4307,7 +4343,8 @@ class App(QtCore.QObject): for obj in objs: if not isinstance(obj, FlatCAMExcellon): - self.inform.emit(_("[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed. Excellon joining works only on Excellon objects.")) return def initialize(obj, app): @@ -4329,7 +4366,8 @@ class App(QtCore.QObject): for obj in objs: if not isinstance(obj, FlatCAMGerber): - self.inform.emit(_("[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed. Gerber joining works only on Gerber objects.")) return def initialize(obj, app): @@ -4353,11 +4391,13 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[ERROR_NOTCL] 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] Expected a FlatCAMGeometry, got %s") % type(obj)) + self.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Expected a FlatCAMGeometry, got"), type(obj))) return obj.multigeo = True @@ -4370,7 +4410,8 @@ class App(QtCore.QObject): self.should_we_save = True - self.inform.emit(_("[success] 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): """ @@ -4387,11 +4428,13 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[ERROR_NOTCL] 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] Expected a FlatCAMGeometry, got %s") % type(obj)) + self.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Expected a FlatCAMGeometry, got %s"), type(obj))) return obj.multigeo = False @@ -4405,7 +4448,8 @@ class App(QtCore.QObject): self.should_we_save = True - self.inform.emit(_("[success] A Geometry object was converted to SingleGeo type.")) + self.inform.emit('[success] %s' % + _("A Geometry object was converted to SingleGeo type.")) def on_options_dict_change(self, field): """ @@ -4719,7 +4763,8 @@ class App(QtCore.QObject): current.to_form() self.plot_all() - self.inform.emit(_("[success] Converted units to %s") % new_units) + self.inform.emit('[success] %s: %s' % + (_("Converted units to %s"), new_units)) # self.ui.units_label.setText("[" + self.options["units"] + "]") self.set_screen_units(new_units) else: @@ -4730,7 +4775,8 @@ class App(QtCore.QObject): else: self.ui.general_defaults_form.general_app_group.units_radio.set_value('MM') self.toggle_units_ignore = False - self.inform.emit(_("[WARNING_NOTCL] Units conversion cancelled.")) + self.inform.emit('[WARNING_NOTCL]%s' % + _(" Units conversion cancelled.")) self.options_read_form() self.defaults_read_form() @@ -5467,7 +5513,8 @@ class App(QtCore.QObject): filename = str(QtWidgets.QFileDialog.getSaveFileName(caption=_("Export G-Code ..."), filter=_filter_)[0]) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Export Code cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Export Code cancelled.")) return else: try: @@ -5476,10 +5523,12 @@ class App(QtCore.QObject): for line in my_gcode: f.write(line) except FileNotFoundError: - self.inform.emit(_("[WARNING] No such file or directory")) + self.inform.emit('[WARNING] %s' % + _("No such file or directory")) return except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return @@ -5549,13 +5598,13 @@ class App(QtCore.QObject): val, ok = tool_add_popup.get_value() if ok: if float(val) == 0: - self.inform.emit( - _("[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float format.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Please enter a tool diameter with non-zero value, in Float format.")) return self.collection.get_active().on_tool_add(dia=float(val)) else: - self.inform.emit( - _("[WARNING_NOTCL] Adding Tool cancelled ...")) + self.inform.emit('[WARNING_NOTCL] %s...' % + _("Adding Tool cancelled")) else: msgbox = QtWidgets.QMessageBox() msgbox.setText(_("Adding Tool works only when Advanced is checked.\n" @@ -5582,19 +5631,19 @@ class App(QtCore.QObject): if tool_widget == self.ncclear_tool.toolName: if ok: if float(val) == 0: - self.inform.emit( - _("[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float format.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Please enter a tool diameter with non-zero value, in Float format.")) return self.ncclear_tool.on_tool_add(dia=float(val)) else: - self.inform.emit( - _("[WARNING_NOTCL] Adding Tool cancelled ...")) + self.inform.emit('[WARNING_NOTCL] %s...' % + _("Adding Tool cancelled")) # and only if the tool is Paint Area Tool elif tool_widget == self.paint_tool.toolName: if ok: if float(val) == 0: - self.inform.emit( - _("[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float format.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Please enter a tool diameter with non-zero value, in Float format.")) return self.paint_tool.on_tool_add(dia=float(val)) else: @@ -5604,13 +5653,13 @@ class App(QtCore.QObject): elif tool_widget == self.paste_tool.toolName: if ok: if float(val) == 0: - self.inform.emit( - _("[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float format.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Please enter a tool diameter with non-zero value, in Float format.")) return self.paste_tool.on_tool_add(dia=float(val)) else: - self.inform.emit( - _("[WARNING_NOTCL] Adding Tool cancelled ...")) + self.inform.emit('[WARNING_NOTCL] %s...' % + _("Adding Tool cancelled")) # It's meant to delete tools in tool tables via a 'Delete' shortcut key but only if certain conditions are met # See description bellow. @@ -5694,7 +5743,8 @@ class App(QtCore.QObject): pass self.delete_first_selected() - self.inform.emit(_("Object(s) deleted ...")) + self.inform.emit('%s...' % + _("Object(s) deleted")) # make sure that the selection shape is deleted, too self.delete_selection_shape() else: @@ -5717,7 +5767,8 @@ class App(QtCore.QObject): # Clear form self.setup_component_editor() - self.inform.emit("Object deleted: %s" % name) + self.inform.emit('%s: %s' % + (_("Object deleted"), name)) def on_set_origin(self): """ @@ -5776,7 +5827,8 @@ class App(QtCore.QObject): obj.options['ymin'] = b obj.options['xmax'] = c obj.options['ymax'] = d - self.inform.emit(_('[success] Origin set ...')) + self.inform.emit('[success]%s...' % + _('Origin set')) self.replot_signal.emit([]) self.worker_task.emit({'fcn': worker_task, 'params': []}) @@ -5817,7 +5869,8 @@ class App(QtCore.QObject): jump_loc = self.plotcanvas.translate_coords_2((location[0], location[1])) cursor.setPos(canvas_origin.x() + jump_loc[0], (canvas_origin.y() + jump_loc[1])) - self.inform.emit(_("[success] Done.")) + self.inform.emit('[success] %s' % + _("Done.")) return location def on_copy_object(self): @@ -5950,7 +6003,8 @@ class App(QtCore.QObject): if not self.collection.get_selected(): log.warning("App.convert_any2geo --> No object selected") - self.inform.emit(_("[WARNING_NOTCL] No object is selected. Select an object and try again.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object is selected. Select an object and try again.")) return for obj in self.collection.get_selected(): @@ -6017,7 +6071,8 @@ class App(QtCore.QObject): if not self.collection.get_selected(): log.warning("App.convert_any2gerber --> No object selected") - self.inform.emit(_("[WARNING_NOTCL] No object is selected. Select an object and try again.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object is selected. Select an object and try again.")) return for obj in self.collection.get_selected(): @@ -6126,7 +6181,8 @@ class App(QtCore.QObject): pass def on_preferences_edited(self): - self.inform.emit(_("[WARNING_NOTCL] Preferences edited but not saved.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Preferences edited but not saved.")) self.preferences_changed_flag = True def on_preferences_closed(self): @@ -6174,7 +6230,8 @@ class App(QtCore.QObject): if response == bt_yes: self.on_save_button() - self.inform.emit(_("[success] Preferences saved.")) + self.inform.emit('[success] %s' % + _("Preferences saved.")) else: self.preferences_changed_flag = False return @@ -6189,7 +6246,8 @@ class App(QtCore.QObject): ymaxlist = [] if not obj_list: - self.inform.emit(_("[WARNING_NOTCL] No object selected to Flip on Y axis.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected to Flip on Y axis.")) else: try: # first get a bounding box to fit all @@ -6214,9 +6272,11 @@ class App(QtCore.QObject): obj.mirror('X', [px, py]) obj.plot() self.object_changed.emit(obj) - self.inform.emit(_("[success] Flip on Y axis done.")) + self.inform.emit('[success] %s' % + _("Flip on Y axis done.")) except Exception as e: - self.inform.emit(_("[ERROR_NOTCL] Due of %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): @@ -6229,7 +6289,8 @@ class App(QtCore.QObject): ymaxlist = [] if not obj_list: - self.inform.emit(_("[WARNING_NOTCL] No object selected to Flip on X axis.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected to Flip on X axis.")) else: try: # first get a bounding box to fit all @@ -6254,9 +6315,11 @@ class App(QtCore.QObject): obj.mirror('Y', [px, py]) obj.plot() self.object_changed.emit(obj) - self.inform.emit(_("[success] Flip on X axis done.")) + self.inform.emit('[success] %s' % + _("Flip on X axis done.")) except Exception as e: - self.inform.emit(_("[ERROR_NOTCL] Due of %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): @@ -6269,7 +6332,8 @@ class App(QtCore.QObject): ymaxlist = [] if not obj_list: - self.inform.emit(_("[WARNING_NOTCL] No object selected to Rotate.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected to Rotate.")) else: if silent is False: rotatebox = FCInputDialog(title=_("Transform"), text=_("Enter the Angle value:"), @@ -6302,9 +6366,11 @@ class App(QtCore.QObject): sel_obj.rotate(-float(num), point=(px, py)) sel_obj.plot() self.object_changed.emit(sel_obj) - self.inform.emit(_("[success] Rotation done.")) + self.inform.emit('[success] %s' % + _("Rotation done.")) except Exception as e: - self.inform.emit(_("[ERROR_NOTCL] Due of %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): @@ -6315,7 +6381,8 @@ class App(QtCore.QObject): yminlist = [] if not obj_list: - self.inform.emit(_("[WARNING_NOTCL] No object selected to Skew/Shear on X axis.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected to Skew/Shear on X axis.")) else: skewxbox = FCInputDialog(title=_("Transform"), text=_("Enter the Angle value:"), min=-360, max=360, decimals=4, @@ -6336,7 +6403,8 @@ class App(QtCore.QObject): obj.skew(num, 0, point=(xminimal, yminimal)) obj.plot() self.object_changed.emit(obj) - self.inform.emit(_("[success] Skew on X axis done.")) + self.inform.emit('[success] %s' % + _("Skew on X axis done.")) def on_skewy(self): self.report_usage("on_skewy()") @@ -6346,7 +6414,8 @@ class App(QtCore.QObject): yminlist = [] if not obj_list: - self.inform.emit(_("[WARNING_NOTCL] No object selected to Skew/Shear on Y axis.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected to Skew/Shear on Y axis.")) else: skewybox = FCInputDialog(title=_("Transform"), text=_("Enter the Angle value:"), min=-360, max=360, decimals=4, @@ -6367,7 +6436,8 @@ class App(QtCore.QObject): obj.skew(0, num, point=(xminimal, yminimal)) obj.plot() self.object_changed.emit(obj) - self.inform.emit(_("[success] Skew on Y axis done.")) + self.inform.emit('[success] %s' % + _("Skew on Y axis done.")) def on_plots_updated(self): """ @@ -6453,20 +6523,20 @@ class App(QtCore.QObject): val, ok = grid_add_popup.get_value() if ok: if float(val) == 0: - self.inform.emit( - _("[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float format.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Please enter a grid value with non-zero value, in Float format.")) return else: if val not in self.defaults["global_grid_context_menu"][str(units)]: self.defaults["global_grid_context_menu"][str(units)].append(val) - self.inform.emit( - _("[success] New Grid added ...")) + self.inform.emit('[success] %s...' % + _("New Grid added")) else: - self.inform.emit( - _("[WARNING_NOTCL] Grid already exists ...")) + self.inform.emit('[WARNING_NOTCL] %s...' % + _("Grid already exists")) else: - self.inform.emit( - _("[WARNING_NOTCL] Adding New Grid cancelled ...")) + self.inform.emit('[WARNING_NOTCL] %s...' % + _("Adding New Grid cancelled")) def on_grid_delete(self): # ## Current application units in lower Case @@ -6480,21 +6550,21 @@ class App(QtCore.QObject): val, ok = grid_del_popup.get_value() if ok: if float(val) == 0: - self.inform.emit( - _("[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float format.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Please enter a grid value with non-zero value, in Float format.")) return else: try: self.defaults["global_grid_context_menu"][str(units)].remove(val) except ValueError: - self.inform.emit( - _("[ERROR_NOTCL] Grid Value does not exist ...")) + self.inform.emit('[ERROR_NOTCL]%s...' % + _(" Grid Value does not exist")) return - self.inform.emit( - _("[success] Grid Value deleted ...")) + self.inform.emit('[success] %s...' % + _("Grid Value deleted")) else: - self.inform.emit( - _("[WARNING_NOTCL] Delete Grid value cancelled ...")) + self.inform.emit('[WARNING_NOTCL] %s...' % + _("Delete Grid value cancelled")) def on_shortcut_list(self): self.report_usage("on_shortcut_list()") @@ -6533,7 +6603,8 @@ class App(QtCore.QObject): name = obj.options["name"] except AttributeError: log.debug("on_copy_name() --> No object selected to copy it's name") - self.inform.emit(_("[WARNING_NOTCL] No object selected to copy it's name")) + self.inform.emit('[WARNING_NOTCL]%s' % + _(" No object selected to copy it's name")) return self.clipboard.setText(name) @@ -6579,7 +6650,8 @@ class App(QtCore.QObject): self.click_noproject = True self.clipboard.setText(self.defaults["global_point_clipboard_format"] % (self.pos[0], self.pos[1])) - self.inform.emit(_("[success] Coordinates copied to clipboard.")) + self.inform.emit('[success] %s' % + _("Coordinates copied to clipboard.")) return self.on_mouse_move_over_plot(event, origin_click=True) @@ -7069,7 +7141,8 @@ class App(QtCore.QObject): self.on_file_new() else: self.on_file_new() - self.inform.emit(_("[success] New Project created...")) + self.inform.emit('[success] %s...' % + _("New Project created")) def on_file_new(self): """ @@ -7200,7 +7273,8 @@ class App(QtCore.QObject): filenames = [name] if len(filenames) == 0: - self.inform.emit(_("[WARNING_NOTCL] Open Gerber cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open Gerber cancelled.")) else: for filename in filenames: if filename != '': @@ -7230,7 +7304,8 @@ class App(QtCore.QObject): filenames = [str(name)] if len(filenames) == 0: - self.inform.emit(_("[WARNING_NOTCL] Open Excellon cancelled.")) + self.inform.emit('[WARNING_NOTCL]%s' % + _(" Open Excellon cancelled.")) else: for filename in filenames: if filename != '': @@ -7264,7 +7339,8 @@ class App(QtCore.QObject): filenames = [name] if len(filenames) == 0: - self.inform.emit(_("[WARNING_NOTCL] Open G-Code cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open G-Code cancelled.")) else: for filename in filenames: if filename != '': @@ -7292,7 +7368,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Open Project cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open Project cancelled.")) else: # self.worker_task.emit({'fcn': self.open_project, # 'params': [filename]}) @@ -7318,7 +7395,8 @@ class App(QtCore.QObject): filter=_filter_) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Open Config cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open Config cancelled.")) else: self.open_config_file(filename) @@ -7333,7 +7411,8 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected.")) msg = _("Please Select a Geometry object to export") msgbox = QtWidgets.QMessageBox() msgbox.setInformativeText(msg) @@ -7347,7 +7426,8 @@ class App(QtCore.QObject): and not isinstance(obj, FlatCAMGerber) and not isinstance(obj, FlatCAMCNCjob) and not isinstance(obj, FlatCAMExcellon)): - msg = _("[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used.") + msg = '[ERROR_NOTCL] %s' % \ + _("Only Geometry, Gerber and CNCJob objects can be used.") msgbox = QtWidgets.QMessageBox() msgbox.setInformativeText(msg) bt_ok = msgbox.addButton(_('Ok'), QtWidgets.QMessageBox.AcceptRole) @@ -7369,7 +7449,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Export SVG cancelled.")) + self.inform.emit('[WARNING_NOTCL]%s' % + _(" Export SVG cancelled.")) return else: self.export_svg(name, filename) @@ -7388,7 +7469,8 @@ class App(QtCore.QObject): image = _screenshot() data = np.asarray(image) if not data.ndim == 3 and data.shape[-1] in (3, 4): - self.inform.emit(_('[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4')) + self.inform.emit('[[WARNING_NOTCL]] %s' % + _('Data must be a 3D array with last dimension 3 or 4')) return filter_ = "PNG File (*.png);;All Files (*.*)" @@ -7422,12 +7504,14 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected. Please select an Gerber object to export.")) + self.inform.emit('[WARNING_NOTCL] %S' % + _("No object selected. Please select an Gerber object to export.")) return # Check for more compatible types and add as required if not isinstance(obj, FlatCAMGerber): - self.inform.emit(_("[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files...")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed. Only Gerber objects can be saved as Gerber files...")) return name = self.collection.get_active().options["name"] @@ -7444,7 +7528,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Save Gerber source file cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Save Gerber source file cancelled.")) return else: self.save_source_file(name, filename) @@ -7463,12 +7548,14 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected. Please select an Excellon object to export.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected. Please select an Excellon object to export.")) return # Check for more compatible types and add as required if not isinstance(obj, FlatCAMExcellon): - self.inform.emit(_("[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files...")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed. Only Excellon objects can be saved as Excellon files...")) return name = self.collection.get_active().options["name"] @@ -7485,7 +7572,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Saving Excellon source file cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Saving Excellon source file cancelled.")) return else: self.save_source_file(name, filename) @@ -7504,12 +7592,14 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected. Please Select an Excellon object to export.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected. Please Select an Excellon object to export.")) return # Check for more compatible types and add as required if not isinstance(obj, FlatCAMExcellon): - self.inform.emit(_("[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files...")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed. Only Excellon objects can be saved as Excellon files...")) return name = self.collection.get_active().options["name"] @@ -7526,7 +7616,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Export Excellon cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Export Excellon cancelled.")) return else: self.export_excellon(name, filename) @@ -7545,12 +7636,14 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected. Please Select an Gerber object to export.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected. Please Select an Gerber object to export.")) return # Check for more compatible types and add as required if not isinstance(obj, FlatCAMGerber): - self.inform.emit(_("[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files...")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed. Only Gerber objects can be saved as Gerber files...")) return name = self.collection.get_active().options["name"] @@ -7567,7 +7660,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Export Gerber cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Export Gerber cancelled.")) return else: self.export_gerber(name, filename) @@ -7586,7 +7680,8 @@ class App(QtCore.QObject): obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected.")) msg = _("Please Select a Geometry object to export") msgbox = QtWidgets.QMessageBox() msgbox.setInformativeText(msg) @@ -7597,7 +7692,8 @@ class App(QtCore.QObject): # Check for more compatible types and add as required if not isinstance(obj, FlatCAMGeometry): - msg = _("[ERROR_NOTCL] Only Geometry objects can be used.") + msg = '[ERROR_NOTCL] %s' % \ + _("Only Geometry objects can be used.") msgbox = QtWidgets.QMessageBox() msgbox.setInformativeText(msg) bt_ok = msgbox.addButton(_('Ok'), QtWidgets.QMessageBox.AcceptRole) @@ -7621,7 +7717,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Export DXF cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Export DXF cancelled.")) return else: self.export_dxf(name, filename) @@ -7653,7 +7750,8 @@ class App(QtCore.QObject): filenames = [str(filename) for filename in filenames] if len(filenames) == 0: - self.inform.emit(_("[WARNING_NOTCL] Open SVG cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open SVG cancelled.")) else: for filename in filenames: if filename != '': @@ -7685,7 +7783,8 @@ class App(QtCore.QObject): filenames = [str(filename) for filename in filenames] if len(filenames) == 0: - self.inform.emit(_("[WARNING_NOTCL] Open DXF cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open DXF cancelled.")) else: for filename in filenames: if filename != '': @@ -7723,14 +7822,16 @@ class App(QtCore.QObject): try: obj = self.collection.get_active() except: - self.inform.emit(_("[WARNING_NOTCL] 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' # then append the text from GCode to the text editor try: file = StringIO(obj.source_file) except AttributeError: - self.inform.emit(_("[WARNING_NOTCL] There is no selected object for which to see it's source file code.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("There is no selected object for which to see it's source file code.")) return 'fail' if obj.kind == 'gerber': @@ -7748,7 +7849,8 @@ class App(QtCore.QObject): self.ui.code_editor.append(proc_line) except Exception as e: log.debug('App.on_view_source() -->%s' % str(e)) - self.inform.emit(_('[ERROR]App.on_view_source() -->%s') % str(e)) + self.inform.emit('[ERROR] %s %s' % + (_('App.on_view_source() -->'), str(e))) return self.ui.code_editor.moveCursor(QtGui.QTextCursor.Start) @@ -7809,7 +7911,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Open TCL script cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Open TCL script cancelled.")) else: self.on_filenewscript() @@ -7821,7 +7924,8 @@ class App(QtCore.QObject): self.ui.code_editor.append(proc_line) except Exception as e: log.debug('App.on_fileopenscript() -->%s' % str(e)) - self.inform.emit(_('[ERROR]App.on_fileopenscript() -->%s') % str(e)) + self.inform.emit('[ERROR] %s %s' % + (_('App.on_fileopenscript() -->'), str(e))) return self.ui.code_editor.moveCursor(QtGui.QTextCursor.Start) @@ -7858,7 +7962,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == "": - self.inform.emit(_("[WARNING_NOTCL] Run TCL script cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Run TCL script cancelled.")) else: try: with open(filename, "r") as tcl_script: @@ -7922,7 +8027,8 @@ class App(QtCore.QObject): filename = str(filename) if filename == '': - self.inform.emit(_("[WARNING_NOTCL] Save Project cancelled.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Save Project cancelled.")) return try: @@ -8003,14 +8109,16 @@ class App(QtCore.QObject): with open(filename, 'w') as fp: fp.write(svgcode.toprettyxml()) except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return 'fail' if self.defaults["global_open_style"] is False: self.file_opened.emit("SVG", filename) self.file_saved.emit("SVG", filename) - self.inform.emit(_("[success] SVG file exported to %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("SVG file exported to"), filename)) def export_svg_negative(self, obj_name, box_name, filename, boundary, scale_factor=0.00, use_thread=True): """ @@ -8044,7 +8152,8 @@ class App(QtCore.QObject): return "Could not retrieve object: %s" % box_name if box is None: - self.inform.emit(_("[WARNING_NOTCL] No object Box. Using instead %s") % obj) + self.inform.emit('[WARNING_NOTCL] %s: %s' % + (_("No object Box. Using instead"), obj)) box = obj def make_negative_film(): @@ -8116,7 +8225,8 @@ class App(QtCore.QObject): with open(filename, 'w') as fp: fp.write(doc.toprettyxml()) except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return 'fail' @@ -8124,7 +8234,8 @@ class App(QtCore.QObject): if self.defaults["global_open_style"] is False: self.file_opened.emit("SVG", filename) self.file_saved.emit("SVG", filename) - self.inform.emit(_("[success] SVG file exported to %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("SVG file exported to"), filename)) if use_thread is True: proc = self.proc_container.new(_("Generating Film ... Please wait.")) @@ -8172,7 +8283,8 @@ class App(QtCore.QObject): return "Could not retrieve object: %s" % box_name if box is None: - self.inform.emit(_("[WARNING_NOTCL] No object Box. Using instead %s") % obj) + self.inform.emit('[WARNING_NOTCL] %s: %s' % + (_("No object Box. Using instead"), obj)) box = obj def make_black_film(): @@ -8239,7 +8351,8 @@ class App(QtCore.QObject): with open(filename, 'w') as fp: fp.write(doc.toprettyxml()) except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return 'fail' @@ -8247,7 +8360,8 @@ class App(QtCore.QObject): if self.defaults["global_open_style"] is False: self.file_opened.emit("SVG", filename) self.file_saved.emit("SVG", filename) - self.inform.emit(_("[success] SVG file exported to %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("SVG file exported to"), filename)) if use_thread is True: proc = self.proc_container.new(_("Generating Film ... Please wait.")) @@ -8296,7 +8410,8 @@ class App(QtCore.QObject): for line in file_string: file.writelines(line) except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return 'fail' @@ -8409,14 +8524,16 @@ class App(QtCore.QObject): with open(filename, 'w') as fp: fp.write(exported_excellon) except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return 'fail' if self.defaults["global_open_style"] is False: self.file_opened.emit("Excellon", filename) self.file_saved.emit("Excellon", filename) - self.inform.emit(_("[success] Excellon file exported to %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Excellon file exported to"), filename)) except Exception as e: log.debug("App.export_excellon.make_excellon() --> %s" % str(e)) return 'fail' @@ -8428,14 +8545,16 @@ class App(QtCore.QObject): def job_thread_exc(app_obj): ret = make_excellon() if ret == 'fail': - self.inform.emit(_('[ERROR_NOTCL] Could not export Excellon file.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Could not export Excellon file.')) return self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]}) else: ret = make_excellon() if ret == 'fail': - self.inform.emit(_('[ERROR_NOTCL] Could not export Excellon file.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Could not export Excellon file.')) return def export_gerber(self, obj_name, filename, use_thread=True): @@ -8534,14 +8653,16 @@ class App(QtCore.QObject): with open(filename, 'w') as fp: fp.write(exported_gerber) except PermissionError: - self.inform.emit(_("[WARNING] Permission denied, saving not possible.\n" + self.inform.emit('[WARNING] %s' % + _("Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible.")) return 'fail' if self.defaults["global_open_style"] is False: self.file_opened.emit("Gerber", filename) self.file_saved.emit("Gerber", filename) - self.inform.emit(_("[success] Gerber file exported to %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Gerber file exported to"), filename)) except Exception as e: log.debug("App.export_gerber.make_gerber() --> %s" % str(e)) return 'fail' @@ -8553,14 +8674,16 @@ class App(QtCore.QObject): def job_thread_exc(app_obj): ret = make_gerber() if ret == 'fail': - self.inform.emit(_('[ERROR_NOTCL] Could not export Gerber file.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Could not export Gerber file.')) return self.worker_task.emit({'fcn': job_thread_exc, 'params': [self]}) else: ret = make_gerber() if ret == 'fail': - self.inform.emit(_('[ERROR_NOTCL] Could not export Gerber file.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Could not export Gerber file.')) return def export_dxf(self, obj_name, filename, use_thread=True): @@ -8602,7 +8725,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] DXF file exported to %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("DXF file exported to"), filename)) except: return 'fail' @@ -8613,14 +8737,16 @@ class App(QtCore.QObject): def job_thread_exc(app_obj): ret = make_dxf() if ret == 'fail': - app_obj.inform.emit(_('[[WARNING_NOTCL]] Could not export DXF file.')) + 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]] 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): @@ -8640,7 +8766,8 @@ class App(QtCore.QObject): elif geo_type == "gerber": obj_type = geo_type else: - self.inform.emit(_("[ERROR_NOTCL] Not supported type is picked as parameter. " + self.inform.emit('[ERROR_NOTCL] %s' % + _("Not supported type is picked as parameter. " "Only Geometry and Gerber are supported")) return @@ -8661,7 +8788,8 @@ class App(QtCore.QObject): self.file_opened.emit("svg", filename) # GUI feedback - self.inform.emit(_("[success] Opened: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Opened"), filename)) self.progress.emit(100) def import_dxf(self, filename, geo_type='geometry', outname=None): @@ -8682,7 +8810,8 @@ class App(QtCore.QObject): elif geo_type == "gerber": obj_type = geo_type else: - self.inform.emit(_("[ERROR_NOTCL] Not supported type is picked as parameter. " + self.inform.emit('[ERROR_NOTCL] %s' % + _("Not supported type is picked as parameter. " "Only Geometry and Gerber are supported")) return @@ -8703,7 +8832,8 @@ class App(QtCore.QObject): self.file_opened.emit("dxf", filename) # GUI feedback - self.inform.emit(_("[success] Opened: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Opened"), filename)) self.progress.emit(100) def import_image(self, filename, o_type='gerber', dpi=96, mode='black', mask=[250, 250, 250, 250], outname=None): @@ -8726,7 +8856,8 @@ class App(QtCore.QObject): elif o_type == "gerber": obj_type = o_type else: - self.inform.emit(_("[ERROR_NOTCL] Not supported type is picked as parameter. " + self.inform.emit('[ERROR_NOTCL] %s' % + _("Not supported type is picked as parameter. " "Only Geometry and Gerber are supported")) return @@ -8746,7 +8877,8 @@ class App(QtCore.QObject): self.file_opened.emit("image", filename) # GUI feedback - self.inform.emit(_("[success] Opened: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Opened"), filename)) self.progress.emit(100) def open_gerber(self, filename, outname=None): @@ -8775,19 +8907,22 @@ class App(QtCore.QObject): try: gerber_obj.parse_file(filename) except IOError: - app_obj.inform.emit(_("[ERROR_NOTCL] Failed to open file: %s") % filename) + app_obj.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Failed to open file"), filename)) app_obj.progress.emit(0) - self.inform.emit(_('[ERROR_NOTCL] Failed to open file: %s') % filename) return "fail" except ParseError as err: - app_obj.inform.emit(_("[ERROR_NOTCL] Failed to parse file: {name}. {error}").format(name=filename, - error=str(err))) + app_obj.inform.emit(_("{e_code} Failed to parse file: {name}. {error}").format( + e_code=_("[ERROR_NOTCL]"), + name=filename, + error=str(err))) app_obj.progress.emit(0) self.log.error(str(err)) return "fail" except Exception as e: log.debug("App.open_gerber() --> %s" % str(e)) - msg = _("[ERROR] An internal error has occurred. See shell.\n") + msg = '[ERROR] %s' % \ + _("An internal error has occurred. See shell.\n") msg += traceback.format_exc() app_obj.inform.emit(msg) return "fail" @@ -8796,7 +8931,8 @@ class App(QtCore.QObject): # app_obj.inform.emit("[ERROR] No geometry found in file: " + filename) # self.collection.set_active(gerber_obj.options["name"]) # self.collection.delete_active() - self.inform.emit(_("[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Object is not Gerber file or empty. Aborting object creation.")) return "fail" # Further parsing @@ -8814,7 +8950,8 @@ class App(QtCore.QObject): # # ## Object creation # ## ret = self.new_object("gerber", name, obj_init, autoselected=False) if ret == 'fail': - self.inform.emit(_('[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file.')) + self.inform.emit('[ERROR_NOTCL]%s' % + _(' Open Gerber failed. Probable not a Gerber file.')) return # Register recent file @@ -8823,7 +8960,8 @@ class App(QtCore.QObject): self.progress.emit(100) # GUI feedback - self.inform.emit(_("[success] Opened: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Opened"), filename)) def open_excellon(self, filename, outname=None): """ @@ -8847,15 +8985,18 @@ class App(QtCore.QObject): ret = excellon_obj.parse_file(filename=filename) if ret == "fail": log.debug("Excellon parsing failed.") - self.inform.emit(_("[ERROR_NOTCL] This is not Excellon file.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("This is not Excellon file.")) return "fail" except IOError: - app_obj.inform.emit(_("[ERROR_NOTCL] Cannot open file: %s") % filename) + app_obj.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Cannot open file"), filename)) log.debug("Could not open Excellon object.") self.progress.emit(0) # TODO: self and app_bjj mixed return "fail" except: - msg = _("[ERROR_NOTCL] An internal error has occurred. See shell.\n") + msg = '[ERROR_NOTCL] %s' % \ + _("An internal error has occurred. See shell.\n") msg += traceback.format_exc() app_obj.inform.emit(msg) return "fail" @@ -8868,7 +9009,8 @@ class App(QtCore.QObject): for tool in excellon_obj.tools: if excellon_obj.tools[tool]['solid_geometry']: return - app_obj.inform.emit(_("[ERROR_NOTCL] No geometry found in file: %s") % filename) + app_obj.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("No geometry found in file"), filename)) return "fail" with self.proc_container.new(_("Opening Excellon.")): @@ -8877,14 +9019,16 @@ class App(QtCore.QObject): name = outname or filename.split('/')[-1].split('\\')[-1] ret_val = self.new_object("excellon", name, obj_init, autoselected=False) if ret_val == 'fail': - self.inform.emit(_('[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file.')) + self.inform.emit('[ERROR_NOTCL] %s' % + _('Open Excellon file failed. Probable not an Excellon file.')) return # Register recent file self.file_opened.emit("excellon", filename) # GUI feedback - self.inform.emit(_("[success] Opened: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Opened"), filename)) def open_gcode(self, filename, outname=None): """ @@ -8914,7 +9058,8 @@ class App(QtCore.QObject): gcode = f.read() f.close() except IOError: - app_obj_.inform.emit(_("[ERROR_NOTCL] Failed to open %s") % filename) + app_obj_.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Failed to open"), filename)) self.progress.emit(0) return "fail" @@ -8924,7 +9069,8 @@ class App(QtCore.QObject): ret = job_obj.gcode_parse() if ret == "fail": - self.inform.emit(_("[ERROR_NOTCL] This is not GCODE")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("This is not GCODE")) return "fail" self.progress.emit(60) @@ -8938,7 +9084,8 @@ class App(QtCore.QObject): # New object creation and file processing ret = self.new_object("cncjob", name, obj_init, autoselected=False) if ret == 'fail': - self.inform.emit(_("[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n " + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to create CNCJob Object. Probable not a GCode file.\n " "Attempting to create a FlatCAM CNCJob Object from " "G-Code file failed during processing")) return "fail" @@ -8947,7 +9094,8 @@ class App(QtCore.QObject): self.file_opened.emit("cncjob", filename) # GUI feedback - self.inform.emit(_("[success] Opened: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Opened"), filename)) self.progress.emit(100) def open_config_file(self, filename, run_from_arg=None): @@ -8978,7 +9126,8 @@ class App(QtCore.QObject): f.close() except IOError: App.log.error("Failed to open config file: %s" % filename) - self.inform.emit(_("[ERROR_NOTCL] Failed to open config file: %s") % filename) + self.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Failed to open config file"), filename)) return def open_project(self, filename, run_from_arg=None): @@ -9006,7 +9155,8 @@ class App(QtCore.QObject): f = open(filename, 'r') except IOError: App.log.error("Failed to open project file: %s" % filename) - self.inform.emit(_("[ERROR_NOTCL] Failed to open project file: %s") % filename) + self.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Failed to open project file"), filename)) return try: @@ -9024,7 +9174,8 @@ class App(QtCore.QObject): except Exception as e: App.log.error("Failed to open project file: %s with error: %s" % (filename, str(e))) - self.inform.emit(_("[ERROR_NOTCL] Failed to open project file: %s") % filename) + self.inform.emit('[ERROR_NOTCL] %s: %s' % + (_("Failed to open project file"), filename)) return # Clear the current project @@ -9048,12 +9199,17 @@ class App(QtCore.QObject): App.log.debug("Recreating from opened project an %s object: %s" % (obj['kind'].capitalize(), obj['options']['name'])) - self.set_ui_title(name="{} {}: {}".format(_("Loading Project ... restoring"), obj['kind'].upper(), obj['options']['name'])) + self.set_ui_title(name="{} {}: {}".format(_("Loading Project ... restoring"), + obj['kind'].upper(), + obj['options']['name'] + ) + ) self.new_object(obj['kind'], obj['options']['name'], obj_init, active=False, fit=False, plot=True) # self.plot_all() - self.inform.emit(_("[success] Project loaded from: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Project loaded from"), filename)) self.should_we_save = False self.file_opened.emit("project", filename) @@ -9368,14 +9524,16 @@ class App(QtCore.QObject): f = open(self.data_path + '/recent.json') except IOError: App.log.error("Failed to load recent item list.") - self.inform.emit(_("[ERROR_NOTCL] Failed to load recent item list.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to load recent item list.")) return try: self.recent = json.load(f) except json.scanner.JSONDecodeError: App.log.error("Failed to parse recent item list.") - self.inform.emit(_("[ERROR_NOTCL] Failed to parse recent item list.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to parse recent item list.")) f.close() return f.close() @@ -9385,14 +9543,16 @@ class App(QtCore.QObject): fp = open(self.data_path + '/recent_projects.json') except IOError: App.log.error("Failed to load recent project item list.") - self.inform.emit(_("[ERROR_NOTCL] Failed to load recent projects item list.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to load recent projects item list.")) return try: self.recent_projects = json.load(fp) except json.scanner.JSONDecodeError: App.log.error("Failed to parse recent project item list.") - self.inform.emit(_("[ERROR_NOTCL] Failed to parse recent project item list.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to parse recent project item list.")) fp.close() return fp.close() @@ -9581,14 +9741,16 @@ The normal flow when working in FlatCAM is the following:

except: # 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] Failed checking for latest version. Could not connect.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("Failed checking for latest version. Could not connect.")) return try: data = json.load(f) except Exception as e: App.log.error("Could not parse information about latest version.") - self.inform.emit(_("[ERROR_NOTCL] Could not parse information about latest version.")) + self.inform.emit('[ERROR_NOTCL] %s' % + _("Could not parse information about latest version.")) App.log.debug("json.load(): %s" % str(e)) f.close() return @@ -9598,7 +9760,8 @@ The normal flow when working in FlatCAM is the following:

# ## Latest version? if self.version >= data["version"]: App.log.debug("FlatCAM is up to date!") - self.inform.emit(_("[success] FlatCAM is up to date!")) + self.inform.emit('[success] %s' % + _("FlatCAM is up to date!")) return App.log.debug("Newer version available.") @@ -9660,25 +9823,29 @@ The normal flow when working in FlatCAM is the following:

self.report_usage("disable_all_plots()") self.disable_plots(self.collection.get_list()) - self.inform.emit(_("[success] All plots disabled.")) + self.inform.emit('[success] %s' % + _("All plots disabled.")) def disable_other_plots(self): self.report_usage("disable_other_plots()") self.disable_plots(self.collection.get_non_selected()) - self.inform.emit(_("[success] All non selected plots disabled.")) + self.inform.emit('[success] %s' % + _("All non selected plots disabled.")) def enable_all_plots(self): self.report_usage("enable_all_plots()") self.enable_plots(self.collection.get_list()) - self.inform.emit(_("[success] All plots enabled.")) + self.inform.emit('[success] %s' % + _("All plots enabled.")) def on_enable_sel_plots(self): log.debug("App.on_enable_sel_plot()") object_list = self.collection.get_selected() self.enable_plots(objects=object_list) - self.inform.emit(_("[success] Selected plots enabled...")) + self.inform.emit('[success] %s' % + _("Selected plots enabled...")) def on_disable_sel_plots(self): log.debug("App.on_disable_sel_plot()") @@ -9686,7 +9853,8 @@ The normal flow when working in FlatCAM is the following:

# self.inform.emit(_("Disabling plots ...")) object_list = self.collection.get_selected() self.disable_plots(objects=object_list) - self.inform.emit(_("[success] Selected plots disabled...")) + self.inform.emit('[success] %s' % + _("Selected plots disabled...")) def enable_plots(self, objects): """ @@ -9819,7 +9987,8 @@ The normal flow when working in FlatCAM is the following:

g = json.dumps(d, default=to_dict, indent=2, sort_keys=True).encode('utf-8') # # Write f.write(g) - self.inform.emit(_("[success] Project saved to: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Project saved to"), filename)) else: # Open file try: @@ -9837,22 +10006,28 @@ The normal flow when working in FlatCAM is the following:

try: saved_f = open(filename, 'r') except IOError: - self.inform.emit(_("[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it.") % filename) + self.inform.emit('[ERROR_NOTCL] %s: %s %s' % + (_("Failed to verify project file"), filename, _("Retry to save it.")) + ) return try: saved_d = json.load(saved_f, object_hook=dict2obj) except: - self.inform.emit( - _("[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it.") % filename) + self.inform.emit('[ERROR_NOTCL] %s: %s %s' % + (_("Failed to parse saved project file"), filename, _("Retry to save it.")) + ) f.close() return saved_f.close() if 'version' in saved_d: - self.inform.emit(_("[success] Project saved to: %s") % filename) + self.inform.emit('[success] %s: %s' % + (_("Project saved to"), filename)) else: - self.inform.emit(_("[ERROR_NOTCL] Failed to save project file: %s. Retry to save it.") % filename) + self.inform.emit('[ERROR_NOTCL] %s: %s %s' % + (_("Failed to parse saved project file"), filename, _("Retry to save it.")) + ) settings = QSettings("Open Source", "FlatCAM") lock_state = self.ui.lock_action.isChecked() @@ -9938,7 +10113,8 @@ The normal flow when working in FlatCAM is the following:

self.options_read_form() obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected.")) return for option in self.options: if option.find(obj.kind + "_") == 0: @@ -9958,7 +10134,8 @@ The normal flow when working in FlatCAM is the following:

obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected.")) return obj.read_form() for option in obj.options: @@ -9979,7 +10156,8 @@ The normal flow when working in FlatCAM is the following:

obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected.")) return obj.read_form() for option in obj.options: @@ -10001,7 +10179,8 @@ The normal flow when working in FlatCAM is the following:

self.defaults_read_form() obj = self.collection.get_active() if obj is None: - self.inform.emit(_("[WARNING_NOTCL] No object selected.")) + self.inform.emit('[WARNING_NOTCL] %s' % + _("No object selected.")) return for option in self.defaults: if option.find(obj.kind + "_") == 0: diff --git a/ObjectCollection.py b/ObjectCollection.py index 3721db2b..9fe589e1 100644 --- a/ObjectCollection.py +++ b/ObjectCollection.py @@ -762,7 +762,8 @@ class ObjectCollection(QtCore.QAbstractItemModel): try: a_idx.build_ui() except Exception as e: - self.app.inform.emit(_("[ERROR] Cause of error: %s") % str(e)) + self.app.inform.emit('[ERROR] %s: %s' % + (_("Cause of error"), str(e))) raise def get_list(self): diff --git a/README.md b/README.md index 0c257283..1674667d 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ CAD program, and create G-Code for Isolation routing. - some fixes in Paint Tool when done over the Gerber objects in case that the progressive plotting is selected - some fixes in Gerber isolation in case that the progressive plotting is selected; added a 'Buffer solid geometry' button shown only when progressive plotting for Gerber object is selected. It will buffer the entire geometry of the object and plot it, in a threaded way. - modified FlatCAMObj.py file to the new string format that will allow easier translations +- modified camlib.py, FlatCAMAPp.py and ObjectCollection.py files to the new string format that will allow easier translations +- updated the POT file and the German language 8.09.2019 diff --git a/camlib.py b/camlib.py index 048711ac..9b7a1f1c 100644 --- a/camlib.py +++ b/camlib.py @@ -211,7 +211,8 @@ class Geometry(object): if isinstance(self.solid_geometry, list): return len(self.solid_geometry) == 0 - self.app.inform.emit(_("[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list.")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("self.solid_geometry is neither BaseGeometry or list.")) return def subtract_polygon(self, points): @@ -1517,9 +1518,11 @@ class Geometry(object): self.el_count = 0 self.solid_geometry = mirror_geom(self.solid_geometry) - self.app.inform.emit(_('[success] Object was mirrored ...')) + self.app.inform.emit('[success] %s...' % + _('Object was mirrored')) except AttributeError: - self.app.inform.emit(_("[ERROR_NOTCL] Failed to mirror. No object selected")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to mirror. No object selected")) self.app.proc_container.new_text = '' @@ -1587,9 +1590,11 @@ class Geometry(object): self.el_count = 0 self.solid_geometry = rotate_geom(self.solid_geometry) - self.app.inform.emit(_('[success] Object was rotated ...')) + self.app.inform.emit('[success] %s...' % + _('Object was rotated')) except AttributeError: - self.app.inform.emit(_("[ERROR_NOTCL] Failed to rotate. No object selected")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to rotate. No object selected")) self.app.proc_container.new_text = '' @@ -1656,9 +1661,11 @@ class Geometry(object): self.el_count = 0 self.solid_geometry = skew_geom(self.solid_geometry) - self.app.inform.emit(_('[success] Object was skewed ...')) + self.app.inform.emit('[success] %s...' % + _('Object was skewed')) except AttributeError: - self.app.inform.emit(_("[ERROR_NOTCL] Failed to skew. No object selected")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Failed to skew. No object selected")) self.app.proc_container.new_text = '' @@ -2931,8 +2938,10 @@ class Gerber (Geometry): self.apertures['0']['geometry'] = [] last_path_aperture = '0' else: - self.app.inform.emit(_("[WARNING] Coordinates missing, line ignored: %s") % str(gline)) - self.app.inform.emit(_("[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!")) + self.app.inform.emit('[WARNING] %s: %s' % + (_("Coordinates missing, line ignored"), str(gline))) + self.app.inform.emit('[WARNING_NOTCL] %s' % + _("GERBER file might be CORRUPT. Check the file !!!")) elif current_operation_code == 2: if len(path) > 1: @@ -2981,9 +2990,10 @@ class Gerber (Geometry): geo_s = Polygon(path) except ValueError: log.warning("Problem %s %s" % (gline, line_num)) - self.app.inform.emit(_("[ERROR] Region does not have enough points. " - "File will be processed but there are parser errors. " - "Line number: %s") % str(line_num)) + self.app.inform.emit('[ERROR] %s: %s' % + (_("Region does not have enough points. " + "File will be processed but there are parser errors. " + "Line number"), str(line_num))) else: if last_path_aperture is None: log.warning("No aperture defined for curent path. (%d)" % line_num) @@ -3016,8 +3026,10 @@ class Gerber (Geometry): if linear_x is not None and linear_y is not None: path = [[linear_x, linear_y]] # Start new path else: - self.app.inform.emit(_("[WARNING] Coordinates missing, line ignored: %s") % str(gline)) - self.app.inform.emit(_("[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!")) + self.app.inform.emit('[WARNING] %s: %s' % + (_("Coordinates missing, line ignored"), str(gline))) + self.app.inform.emit('[WARNING_NOTCL] %s' % + _("GERBER file might be CORRUPT. Check the file !!!")) # Flash # Not allowed in region mode. @@ -3376,7 +3388,8 @@ class Gerber (Geometry): log.error("Gerber PARSING FAILED. Line %d: %s" % (line_num, gline)) loc = '%s #%d %s: %s\n' % (_("Gerber Line"), line_num, _("Gerber Line Content"), gline) + repr(err) - self.app.inform.emit('[ERROR] %s\n%s:' % (_("Gerber Parser ERROR"), loc)) + self.app.inform.emit('[ERROR] %s\n%s:' % + (_("Gerber Parser ERROR"), loc)) @staticmethod def create_flash_geometry(location, aperture, steps_per_circle=None): @@ -3623,7 +3636,8 @@ class Gerber (Geometry): log.debug('camlib.Gerber.scale() Exception --> %s' % str(e)) return 'fail' - self.app.inform.emit('[success] %s' % _("Gerber Scale done.")) + self.app.inform.emit('[success] %s' % + _("Gerber Scale done.")) self.app.proc_container.new_text = '' # ## solid_geometry ??? @@ -3712,7 +3726,8 @@ class Gerber (Geometry): log.debug('camlib.Gerber.offset() Exception --> %s' % str(e)) return 'fail' - self.app.inform.emit('[success] %s' % _("Gerber Offset done.")) + self.app.inform.emit('[success] %s' % + _("Gerber Offset done.")) self.app.proc_container.new_text = '' def mirror(self, axis, point): @@ -3788,7 +3803,8 @@ class Gerber (Geometry): log.debug('camlib.Gerber.mirror() Exception --> %s' % str(e)) return 'fail' - self.app.inform.emit('[success] %s' % _("Gerber Mirror done.")) + self.app.inform.emit('[success] %s' % + _("Gerber Mirror done.")) self.app.proc_container.new_text = '' def skew(self, angle_x, angle_y, point): @@ -3856,7 +3872,8 @@ class Gerber (Geometry): log.debug('camlib.Gerber.skew() Exception --> %s' % str(e)) return 'fail' - self.app.inform.emit('[success] %s' % _("Gerber Skew done.")) + self.app.inform.emit('[success] %s' % + _("Gerber Skew done.")) self.app.proc_container.new_text = '' def rotate(self, angle, point): @@ -3916,7 +3933,8 @@ class Gerber (Geometry): except Exception as e: log.debug('camlib.Gerber.rotate() Exception --> %s' % str(e)) return 'fail' - self.app.inform.emit('[success] %s' % _("Gerber Rotate done.")) + self.app.inform.emit('[success] %s' % + _("Gerber Rotate done.")) self.app.proc_container.new_text = '' @@ -4202,7 +4220,8 @@ class Excellon(Geometry): # and we need to exit from here if self.detect_gcode_re.search(eline): log.warning("This is GCODE mark: %s" % eline) - self.app.inform.emit(_('[ERROR_NOTCL] This is GCODE mark: %s') % eline) + self.app.inform.emit('[ERROR_NOTCL] %s: %s' % + (_('This is GCODE mark'), eline)) return # Header Begin (M48) # @@ -4317,13 +4336,18 @@ class Excellon(Geometry): # the bellow construction is so each tool will have a slightly different diameter # starting with a default value, to allow Excellon editing after that self.diameterless = True - self.app.inform.emit(_("[WARNING] No tool diameter info's. See shell.\n" - "A tool change event: T%s was found but the Excellon file " - "have no informations regarding the tool " - "diameters therefore the application will try to load it by " - "using some 'fake' diameters.\nThe user needs to edit the " - "resulting Excellon object and change the diameters to " - "reflect the real diameters.") % current_tool) + self.app.inform.emit('[WARNING] %s%s %s' % + (_("No tool diameter info's. See shell.\n" + "A tool change event: T"), + str(current_tool), + _("was found but the Excellon file " + "have no informations regarding the tool " + "diameters therefore the application will try to load it " + "by using some 'fake' diameters.\n" + "The user needs to edit the resulting Excellon object and " + "change the diameters to reflect the real diameters.") + ) + ) if self.excellon_units == 'MM': diam = self.toolless_diam + (int(current_tool) - 1) / 100 @@ -4769,9 +4793,12 @@ class Excellon(Geometry): log.info("Zeros: %s, Units %s." % (self.zeros, self.units)) except Exception as e: log.error("Excellon PARSING FAILED. Line %d: %s" % (line_num, eline)) - msg = _("[ERROR_NOTCL] An internal error has ocurred. See shell.\n") - msg += _('[ERROR] Excellon Parser error.\nParsing Failed. Line {l_nr}: {line}\n').format(l_nr=line_num, - line=eline) + msg = '[ERROR_NOTCL] %s' % \ + _("An internal error has ocurred. See shell.\n") + msg += _('{e_code} Excellon Parser error.\nParsing Failed. Line {l_nr}: {line}\n').format( + e_code='[ERROR]', + l_nr=line_num, + line=eline) msg += traceback.format_exc() self.app.inform.emit(msg) @@ -4850,7 +4877,8 @@ class Excellon(Geometry): for drill in self.drills: # poly = drill['point'].buffer(self.tools[drill['tool']]["C"]/2.0) if drill['tool'] is '': - self.app.inform.emit(_("[WARNING] Excellon.create_geometry() -> a drill location was skipped " + self.app.inform.emit('[WARNING] %s' % + _("Excellon.create_geometry() -> a drill location was skipped " "due of not having a tool associated.\n" "Check the resulting GCode.")) log.debug("Excellon.create_geometry() -> a drill location was skipped " @@ -5523,7 +5551,8 @@ class CNCjob(Geometry): try: value = getattr(self, command) except AttributeError: - self.app.inform.emit(_("[ERROR] There is no such parameter: %s") % str(match)) + self.app.inform.emit('[ERROR] %s: %s' % + (_("There is no such parameter"), str(match))) log.debug("CNCJob.parse_custom_toolchange_code() --> AttributeError ") return 'fail' text = text.replace(match, str(value)) @@ -5593,15 +5622,17 @@ class CNCjob(Geometry): self.exc_tools = deepcopy(exobj.tools) if drillz > 0: - self.app.inform.emit(_("[WARNING] The Cut Z parameter has positive value. " + self.app.inform.emit('[WARNING] %s' % + _("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).")) self.z_cut = -drillz elif drillz == 0: - self.app.inform.emit(_("[WARNING] The Cut Z parameter is zero. " - "There will be no cut, skipping %s file") % exobj.options['name']) + self.app.inform.emit('[WARNING] %s: %s' % + (_("The Cut Z parameter is zero. There will be no cut, skipping file"), + exobj.options['name'])) return 'fail' else: self.z_cut = drillz @@ -5614,7 +5645,8 @@ class CNCjob(Geometry): else: self.xy_toolchange = [float(eval(a)) for a in toolchangexy.split(",")] if len(self.xy_toolchange) < 2: - self.app.inform.emit(_("[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be " + self.app.inform.emit('[ERROR]%s' % + _("The Toolchange X,Y field in Edit -> Preferences has to be " "in the format (x, y) \nbut now there is only one value, not two. ")) return 'fail' except Exception as e: @@ -5733,7 +5765,8 @@ class CNCjob(Geometry): measured_up_to_zero_distance = 0.0 measured_lift_distance = 0.0 - self.app.inform.emit('%s...' % _("Starting G-Code")) + self.app.inform.emit('%s...' % + _("Starting G-Code")) current_platform = platform.architecture()[0] if current_platform == '64bit': if excellon_optimization_type == 'M': @@ -5885,12 +5918,14 @@ class CNCjob(Geometry): old_disp_number = disp_number else: - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s...' % + _('G91 coordinates not implemented')) return 'fail' else: log.debug("camlib.CNCJob.generate_from_excellon_by_tool() --> " "The loaded Excellon file has no drills ...") - self.app.inform.emit(_('[ERROR_NOTCL] The loaded Excellon file has no drills ...')) + self.app.inform.emit('[ERROR_NOTCL] %s...' % + _('The loaded Excellon file has no drills')) return 'fail' log.debug("The total travel distance with OR-TOOLS Metaheuristics is: %s" % str(measured_distance)) @@ -6029,17 +6064,20 @@ class CNCjob(Geometry): old_disp_number = disp_number else: - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s...' % + _('G91 coordinates not implemented')) return 'fail' else: log.debug("camlib.CNCJob.generate_from_excellon_by_tool() --> " "The loaded Excellon file has no drills ...") - self.app.inform.emit(_('[ERROR_NOTCL] The loaded Excellon file has no drills ...')) + self.app.inform.emit('[ERROR_NOTCL] %s...' % + _('The loaded Excellon file has no drills')) return 'fail' log.debug("The total travel distance with OR-TOOLS Basic Algorithm is: %s" % str(measured_distance)) else: - self.app.inform.emit(_("[ERROR_NOTCL] Wrong optimization type selected.")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Wrong optimization type selected.")) return 'fail' else: log.debug("Using Travelling Salesman drill path optimization.") @@ -6133,12 +6171,14 @@ class CNCjob(Geometry): self.app.proc_container.update_view_text(' %d%%' % disp_number) old_disp_number = disp_number else: - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s...' % + _('G91 coordinates not implemented')) return 'fail' else: log.debug("camlib.CNCJob.generate_from_excellon_by_tool() --> " "The loaded Excellon file has no drills ...") - self.app.inform.emit(_('[ERROR_NOTCL] The loaded Excellon file has no drills ...')) + self.app.inform.emit('[ERROR_NOTCL] %s...' % + _('The loaded Excellon file has no drills')) return 'fail' log.debug("The total travel distance with Travelling Salesman Algorithm is: %s" % str(measured_distance)) @@ -6249,20 +6289,23 @@ class CNCjob(Geometry): self.f_plunge = self.app.defaults["geometry_f_plunge"] if self.z_cut is None: - self.app.inform.emit(_("[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad combinations of " + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Cut_Z parameter is None or zero. Most likely a bad combinations of " "other parameters.")) return 'fail' if self.z_cut > 0: - self.app.inform.emit(_("[WARNING] The Cut Z parameter has positive value. " + self.app.inform.emit('[WARNING] %s' % + _("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).")) self.z_cut = -self.z_cut elif self.z_cut == 0: - self.app.inform.emit(_("[WARNING] The Cut Z parameter is zero. " - "There will be no cut, skipping %s file") % self.options['name']) + self.app.inform.emit('[WARNING] %s: %s' % + (_("The Cut Z parameter is zero. There will be no cut, skipping file"), + self.options['name'])) return 'fail' # made sure that depth_per_cut is no more then the z_cut @@ -6270,19 +6313,22 @@ class CNCjob(Geometry): self.z_depthpercut = abs(self.z_cut) if self.z_move is None: - self.app.inform.emit(_("[ERROR_NOTCL] Travel Z parameter is None or zero.")) + self.app.inform.emit('[ERROR_NOTCL] %S' % + _("Travel Z parameter is None or zero.")) return 'fail' if self.z_move < 0: - self.app.inform.emit(_("[WARNING] The Travel Z parameter has negative value. " + self.app.inform.emit('[WARNING] %s' % + _("The Travel Z parameter has negative value. " "It is the height value to travel between cuts.\n" "The Z Travel parameter needs to have a positive value, assuming it is a typo " "therefore the app will convert the value to positive." "Check the resulting CNC code (Gcode etc).")) self.z_move = -self.z_move elif self.z_move == 0: - self.app.inform.emit(_("[WARNING] The Z Travel parameter is zero. " - "This is dangerous, skipping %s file") % self.options['name']) + self.app.inform.emit('[WARNING] %s: %s' % + (_("The Z Travel parameter is zero. This is dangerous, skipping file"), + self.options['name'])) return 'fail' # ## Index first and last points in paths @@ -6436,7 +6482,12 @@ class CNCjob(Geometry): self.gcode += self.doformat(p.spindle_stop_code) self.gcode += self.doformat(p.lift_code, x=current_pt[0], y=current_pt[1]) self.gcode += self.doformat(p.end_code, x=0, y=0) - self.app.inform.emit(_("Finished G-Code generation... %s paths traced.") % str(path_count)) + self.app.inform.emit('%s... %s %s.' % + (_("Finished G-Code generation"), + str(path_count), + _("paths traced") + ) + ) return self.gcode def generate_from_geometry_2(self, geometry, append=True, @@ -6468,13 +6519,15 @@ class CNCjob(Geometry): """ if not isinstance(geometry, Geometry): - self.app.inform.emit(_("[ERROR]Expected a Geometry, got %s") % type(geometry)) + self.app.inform.emit('[ERROR] %s: %s' % + (_("Expected a Geometry, got"), type(geometry))) return 'fail' log.debug("Generate_from_geometry_2()") # if solid_geometry is empty raise an exception if not geometry.solid_geometry: - self.app.inform.emit(_("[ERROR_NOTCL] Trying to generate a CNC Job " + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Trying to generate a CNC Job " "from a Geometry object without solid_geometry.")) temp_solid_geometry = [] @@ -6513,7 +6566,8 @@ class CNCjob(Geometry): # if the offset is less than half of the total length or less than half of the total width of the # solid geometry it's obvious we can't do the offset if -offset > ((c - a) / 2) or -offset > ((d - b) / 2): - self.app.inform.emit(_("[ERROR_NOTCL] The Tool Offset value is too negative to use " + self.app.inform.emit(_('[ERROR_NOTCL] %s' % + "The Tool Offset value is too negative to use " "for the current_geometry.\n" "Raise the value (in module) and try again.")) return 'fail' @@ -6565,7 +6619,8 @@ class CNCjob(Geometry): else: self.xy_toolchange = [float(eval(a)) for a in toolchangexy.split(",")] if len(self.xy_toolchange) < 2: - self.app.inform.emit(_("[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be " + self.app.inform.emit('[ERROR] %s' % + _("The Toolchange X,Y field in Edit -> Preferences has to be " "in the format (x, y) \nbut now there is only one value, not two. ")) return 'fail' except Exception as e: @@ -6576,36 +6631,42 @@ class CNCjob(Geometry): self.f_plunge = self.app.defaults["geometry_f_plunge"] if self.z_cut is None: - self.app.inform.emit(_("[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad combinations of " + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Cut_Z parameter is None or zero. Most likely a bad combinations of " "other parameters.")) return 'fail' if self.z_cut > 0: - self.app.inform.emit(_("[WARNING] The Cut Z parameter has positive value. " + self.app.inform.emit('[WARNING] %s' % + _("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).")) self.z_cut = -self.z_cut elif self.z_cut == 0: - self.app.inform.emit(_("[WARNING] The Cut Z parameter is zero. " - "There will be no cut, skipping %s file") % geometry.options['name']) + self.app.inform.emit('[WARNING] %s: %s' % + (_("The Cut Z parameter is zero. There will be no cut, skipping file"), + geometry.options['name'])) return 'fail' if self.z_move is None: - self.app.inform.emit(_("[ERROR_NOTCL] Travel Z parameter is None or zero.")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("Travel Z parameter is None or zero.")) return 'fail' if self.z_move < 0: - self.app.inform.emit(_("[WARNING] The Travel Z parameter has negative value. " + self.app.inform.emit('[WARNING] %s' % + _("The Travel Z parameter has negative value. " "It is the height value to travel between cuts.\n" "The Z Travel parameter needs to have a positive value, assuming it is a typo " "therefore the app will convert the value to positive." "Check the resulting CNC code (Gcode etc).")) self.z_move = -self.z_move elif self.z_move == 0: - self.app.inform.emit(_("[WARNING] The Z Travel parameter is zero. " - "This is dangerous, skipping %s file") % self.options['name']) + self.app.inform.emit('[WARNING] %s: %s' % + (_("The Z Travel parameter is zero. " + "This is dangerous, skipping file"), self.options['name'])) return 'fail' # made sure that depth_per_cut is no more then the z_cut @@ -6763,7 +6824,12 @@ class CNCjob(Geometry): self.gcode += self.doformat(p.spindle_stop_code) self.gcode += self.doformat(p.lift_code, x=current_pt[0], y=current_pt[1]) self.gcode += self.doformat(p.end_code, x=0, y=0) - self.app.inform.emit(_("Finished G-Code generation... %s paths traced.") % str(path_count)) + self.app.inform.emit('%s... %s %s' % + (_("Finished G-Code generation"), + str(path_count), + _(" paths traced.") + ) + ) return self.gcode @@ -6789,7 +6855,8 @@ class CNCjob(Geometry): if not kwargs: log.debug("camlib.generate_from_solderpaste_geo() --> No tool in the solderpaste geometry.") - self.app.inform.emit(_("[ERROR_NOTCL] There is no tool data in the SolderPaste geometry.")) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _("There is no tool data in the SolderPaste geometry.")) # this is the tool diameter, it is used as such to accommodate the postprocessor who need the tool diameter @@ -6875,7 +6942,13 @@ class CNCjob(Geometry): pass log.debug("Finishing SolderPste G-Code... %s paths traced." % path_count) - self.app.inform.emit(_("Finished SolderPste G-Code generation... %s paths traced.") % str(path_count)) + self.app.inform.emit('%s... %s %s' % + (_("Finished SolderPste G-Code generation"), + str(path_count), + _("paths traced.") + ) + ) + # Finish self.gcode += self.doformat(p.lift_code) @@ -7344,7 +7417,8 @@ class CNCjob(Geometry): visible=visible, layer=1) else: # For Incremental coordinates type G91 - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _('G91 coordinates not implemented ...')) for geo in gcode_parsed: if geo['kind'][0] == 'T': current_position = geo['geom'].coords[0] @@ -7621,7 +7695,8 @@ class CNCjob(Geometry): # For Incremental coordinates type G91 # next_x = pt[0] - prev_x # next_y = pt[1] - prev_y - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _('G91 coordinates not implemented ...')) next_x = pt[0] next_y = pt[1] @@ -7723,7 +7798,8 @@ class CNCjob(Geometry): # For Incremental coordinates type G91 # next_x = pt[0] - prev_x # next_y = pt[1] - prev_y - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _('G91 coordinates not implemented ...')) next_x = pt[0] next_y = pt[1] @@ -7769,7 +7845,8 @@ class CNCjob(Geometry): # For Incremental coordinates type G91 # first_x = path[0][0] - old_point[0] # first_y = path[0][1] - old_point[1] - self.app.inform.emit(_('[ERROR_NOTCL] G91 coordinates not implemented ...')) + self.app.inform.emit('[ERROR_NOTCL] %s' % + _('G91 coordinates not implemented ...')) first_x = path[0][0] first_y = path[0][1] diff --git a/locale/de/LC_MESSAGES/strings.mo b/locale/de/LC_MESSAGES/strings.mo index 91f2fd88..20804092 100644 Binary files a/locale/de/LC_MESSAGES/strings.mo and b/locale/de/LC_MESSAGES/strings.mo differ diff --git a/locale/de/LC_MESSAGES/strings.po b/locale/de/LC_MESSAGES/strings.po index 075ad613..4648c4a0 100644 --- a/locale/de/LC_MESSAGES/strings.po +++ b/locale/de/LC_MESSAGES/strings.po @@ -1,15 +1,15 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-09-07 22:21+0300\n" -"PO-Revision-Date: 2019-09-07 23:14+0300\n" +"POT-Creation-Date: 2019-09-09 18:59+0300\n" +"PO-Revision-Date: 2019-09-09 19:29+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.0.7\n" "X-Poedit-Basepath: ../../..\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SearchPath-0: .\n" @@ -17,17 +17,17 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:1104 -msgid "[ERROR] Could not find the Language files. The App strings are missing." +#: FlatCAMApp.py:1113 +msgid "Could not find the Language files. The App strings are missing." msgstr "" -"[ERROR] Die Sprachdateien konnten nicht gefunden werden. Die App-" -"Zeichenfolgen fehlen." +"Die Sprachdateien konnten nicht gefunden werden. Die App-Zeichenfolgen " +"fehlen." -#: FlatCAMApp.py:1646 +#: FlatCAMApp.py:1655 msgid "Detachable Tabs" msgstr "Abnehmbare Laschen" -#: FlatCAMApp.py:2058 +#: FlatCAMApp.py:2067 msgid "" "Open Source Software - Type help to get started\n" "\n" @@ -35,163 +35,162 @@ msgstr "" "Quelloffene Software - Geben Sie help ein, um zu beginnen\n" "\n" -#: FlatCAMApp.py:2253 FlatCAMApp.py:6878 +#: FlatCAMApp.py:2270 FlatCAMApp.py:7220 msgid "New Project - Not saved" msgstr "Neues Projekt - Nicht gespeichert" -#: FlatCAMApp.py:2299 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: FlatCAMApp.py:2320 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 #: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "Geöffnet storniert." -#: FlatCAMApp.py:2314 +#: FlatCAMApp.py:2335 msgid "Open Config file failed." msgstr "Open Config-Datei ist fehlgeschlagen." -#: FlatCAMApp.py:2328 +#: FlatCAMApp.py:2349 msgid "Open Script file failed." msgstr "Open Script-Datei ist fehlgeschlagen." -#: FlatCAMApp.py:2345 +#: FlatCAMApp.py:2366 msgid "Open Excellon file failed." msgstr "Öffnen der Excellon-Datei fehlgeschlagen." -#: FlatCAMApp.py:2356 +#: FlatCAMApp.py:2377 msgid "Open GCode file failed." msgstr "Öffnen der GCode-Datei fehlgeschlagen." -#: FlatCAMApp.py:2367 +#: FlatCAMApp.py:2388 msgid "Open Gerber file failed." msgstr "Öffnen der Gerber-Datei fehlgeschlagen." -#: FlatCAMApp.py:2569 -msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." +#: FlatCAMApp.py:2652 +msgid "Select a Geometry, Gerber or Excellon Object to edit." msgstr "" -"[WARNING_NOTCL] Wählen Sie ein zu bearbeitendes Geometrie-, Gerber- oder " -"Excellon-Objekt aus." +"Wählen Sie ein zu bearbeitendes Geometrie-, Gerber- oder Excellon-Objekt aus." -#: FlatCAMApp.py:2582 +#: FlatCAMApp.py:2666 msgid "" -"[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " -"Geometry is not possible.\n" +"Simultanoeus editing of tools geometry in a MultiGeo Geometry is not " +"possible.\n" "Edit only one geometry at a time." msgstr "" -"[WARNING_NOTCL] Die gleichzeitige Bearbeitung der Werkzeuggeometrie in einer " -"Multi-Geo-Geometrie ist nicht möglich.\n" +"Die gleichzeitige Bearbeitung der Werkzeuggeometrie in einer Multi-Geo-" +"Geometrie ist nicht möglich.\n" "Bearbeiten Sie jeweils nur eine Geometrie." -#: FlatCAMApp.py:2636 -msgid "[WARNING_NOTCL] Editor is activated ..." -msgstr "[WARNING_NOTCL] Editor ist aktiviert ..." +#: FlatCAMApp.py:2721 +msgid "Editor is activated ..." +msgstr "Editor ist aktiviert ..." -#: FlatCAMApp.py:2654 +#: FlatCAMApp.py:2739 msgid "Do you want to save the edited object?" msgstr "Möchten Sie das bearbeitete Objekt speichern?" -#: FlatCAMApp.py:2655 flatcamGUI/FlatCAMGUI.py:1721 +#: FlatCAMApp.py:2740 flatcamGUI/FlatCAMGUI.py:1721 msgid "Close Editor" msgstr "Editor schließen" -#: FlatCAMApp.py:2658 FlatCAMApp.py:3786 FlatCAMApp.py:5899 FlatCAMApp.py:6787 +#: FlatCAMApp.py:2743 FlatCAMApp.py:4028 FlatCAMApp.py:6224 FlatCAMApp.py:7128 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 #: flatcamGUI/FlatCAMGUI.py:3996 msgid "Yes" msgstr "Ja" -#: FlatCAMApp.py:2659 FlatCAMApp.py:3787 FlatCAMApp.py:5900 FlatCAMApp.py:6788 +#: FlatCAMApp.py:2744 FlatCAMApp.py:4029 FlatCAMApp.py:6225 FlatCAMApp.py:7129 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 -#: flatcamGUI/FlatCAMGUI.py:3997 flatcamGUI/FlatCAMGUI.py:6503 -#: flatcamGUI/FlatCAMGUI.py:6852 flatcamTools/ToolNonCopperClear.py:171 +#: flatcamGUI/FlatCAMGUI.py:3997 flatcamGUI/FlatCAMGUI.py:6517 +#: flatcamGUI/FlatCAMGUI.py:6877 flatcamTools/ToolNonCopperClear.py:171 #: flatcamTools/ToolPaint.py:144 msgid "No" msgstr "Nein" -#: FlatCAMApp.py:2660 FlatCAMApp.py:3788 FlatCAMApp.py:4405 FlatCAMApp.py:5401 -#: FlatCAMApp.py:6789 +#: FlatCAMApp.py:2745 FlatCAMApp.py:4030 FlatCAMApp.py:4719 FlatCAMApp.py:5720 +#: FlatCAMApp.py:7130 msgid "Cancel" msgstr "Kündigen" -#: FlatCAMApp.py:2687 -msgid "[WARNING] Object empty after edit." -msgstr "[WARNING] Das Objekt ist nach der Bearbeitung leer." +#: FlatCAMApp.py:2773 +msgid "Object empty after edit." +msgstr "Das Objekt ist nach der Bearbeitung leer." -#: FlatCAMApp.py:2709 FlatCAMApp.py:2728 FlatCAMApp.py:2740 -msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." +#: FlatCAMApp.py:2796 FlatCAMApp.py:2817 FlatCAMApp.py:2830 +msgid "Select a Gerber, Geometry or Excellon Object to update." msgstr "" -"[WARNING_NOTCL] Wählen Sie ein Gerber-, Geometrie- oder Excellon-Objekt zum " -"Aktualisieren aus." +"Wählen Sie ein Gerber-, Geometrie- oder Excellon-Objekt zum Aktualisieren " +"aus." -#: FlatCAMApp.py:2712 -#, python-format -msgid "[selected] %s is updated, returning to App..." -msgstr "[selected] %s wird aktualisiert und kehrt zur App zurück ..." +#: FlatCAMApp.py:2800 +msgid "is updated, returning to App..." +msgstr "wird aktualisiert und kehrt zur App zurück ..." -#: FlatCAMApp.py:3077 -msgid "[ERROR] Could not load defaults file." -msgstr "[ERROR] Standarddatei konnte nicht geladen werden." +#: FlatCAMApp.py:3186 FlatCAMApp.py:3240 FlatCAMApp.py:3889 +msgid "Could not load defaults file." +msgstr "Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:3089 -msgid "[ERROR] Failed to parse defaults file." -msgstr "[ERROR] Fehler beim Parsen der Standarddatei." +#: FlatCAMApp.py:3199 FlatCAMApp.py:3249 FlatCAMApp.py:3899 +msgid "Failed to parse defaults file." +msgstr " Fehler beim Parsen der Standarddatei." -#: FlatCAMApp.py:3110 FlatCAMApp.py:3114 +#: FlatCAMApp.py:3220 FlatCAMApp.py:3224 msgid "Import FlatCAM Preferences" msgstr "FlatCAM-Voreinstellungen importieren" -#: FlatCAMApp.py:3120 -msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." -msgstr "[WARNING_NOTCL] Import der FlatCAM-Einstellungen wurde abgebrochen." +#: FlatCAMApp.py:3231 +msgid "FlatCAM preferences import cancelled." +msgstr "Import der FlatCAM-Einstellungen wurde abgebrochen." -#: FlatCAMApp.py:3128 FlatCAMApp.py:3187 FlatCAMApp.py:3662 -msgid "[ERROR_NOTCL] Could not load defaults file." -msgstr "[ERROR_NOTCL] Standarddatei konnte nicht geladen werden." +#: FlatCAMApp.py:3254 +msgid "Imported Defaults from" +msgstr "Importierte Standardwerte aus" -#: FlatCAMApp.py:3136 FlatCAMApp.py:3671 -msgid "[ERROR_NOTCL] Failed to parse defaults file." -msgstr "[ERROR_NOTCL] Fehler beim Parsen der Standarddatei." - -#: FlatCAMApp.py:3140 -#, python-format -msgid "[success] Imported Defaults from %s" -msgstr "[success] Importierte Standardwerte aus %s" - -#: FlatCAMApp.py:3155 FlatCAMApp.py:3160 +#: FlatCAMApp.py:3274 FlatCAMApp.py:3279 msgid "Export FlatCAM Preferences" msgstr "FlatCAM-Voreinstellungen exportieren" -#: FlatCAMApp.py:3167 -msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." -msgstr "[WARNING_NOTCL] Export der FlatCAM-Einstellungen wurde abgebrochen." +#: FlatCAMApp.py:3287 +msgid "FlatCAM preferences export cancelled." +msgstr "Export der FlatCAM-Einstellungen wurde abgebrochen." -#: FlatCAMApp.py:3175 FlatCAMApp.py:5212 FlatCAMApp.py:7737 FlatCAMApp.py:7850 -#: FlatCAMApp.py:7973 FlatCAMApp.py:8030 FlatCAMApp.py:8143 FlatCAMApp.py:8268 -#: FlatCAMObj.py:6104 +#: FlatCAMApp.py:3296 FlatCAMApp.py:5531 FlatCAMApp.py:8113 FlatCAMApp.py:8229 +#: FlatCAMApp.py:8355 FlatCAMApp.py:8414 FlatCAMApp.py:8528 FlatCAMApp.py:8657 +#: FlatCAMObj.py:6165 flatcamTools/ToolSolderPaste.py:1428 msgid "" -"[WARNING] Permission denied, saving not possible.\n" +"Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." msgstr "" -"[WARNING] Berechtigung verweigert, Speichern nicht möglich.\n" +"Berechtigung verweigert, Speichern nicht möglich.\n" "Wahrscheinlich hält eine andere App die Datei offen und ist nicht zugänglich." -#: FlatCAMApp.py:3206 FlatCAMApp.py:3716 -msgid "[ERROR_NOTCL] Failed to write defaults to file." -msgstr "[ERROR_NOTCL] Fehler beim Schreiben der Standardwerte in die Datei." +#: FlatCAMApp.py:3309 +msgid "Could not load preferences file." +msgstr "Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:3266 -msgid "[ERROR_NOTCL] Failed to open recent files file for writing." -msgstr "" -"[ERROR_NOTCL] Fehler beim Öffnen der zuletzt geöffneten Datei zum Schreiben." +#: FlatCAMApp.py:3329 FlatCAMApp.py:3945 +msgid "Failed to write defaults to file." +msgstr "Fehler beim Schreiben der Standardwerte in die Datei." -#: FlatCAMApp.py:3276 -msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." -msgstr "" -"[ERROR_NOTCL] Fehler beim Öffnen der letzten Projektdatei zum Schreiben." +#: FlatCAMApp.py:3335 +msgid "Exported preferences to" +msgstr "Exportierte Einstellungen nach" -#: FlatCAMApp.py:3358 camlib.py:4703 -msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" -msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" +#: FlatCAMApp.py:3352 +msgid "FlatCAM Preferences Folder opened." +msgstr "FlatCAM-Einstellungsordner geöffnet." -#: FlatCAMApp.py:3359 +#: FlatCAMApp.py:3425 +msgid "Failed to open recent files file for writing." +msgstr "Fehler beim Öffnen der zuletzt geöffneten Datei zum Schreiben." + +#: FlatCAMApp.py:3436 +msgid "Failed to open recent projects file for writing." +msgstr "Fehler beim Öffnen der letzten Projektdatei zum Schreiben." + +#: FlatCAMApp.py:3519 camlib.py:4797 flatcamTools/ToolSolderPaste.py:1214 +msgid "An internal error has ocurred. See shell.\n" +msgstr "Ein interner Fehler ist aufgetreten. Siehe Shell.\n" + +#: FlatCAMApp.py:3520 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -200,11 +199,11 @@ msgstr "" "Objekt ({kind}) gescheitert weil: {error} \n" "\n" -#: FlatCAMApp.py:3379 +#: FlatCAMApp.py:3541 msgid "Converting units to " msgstr "Einheiten in umrechnen " -#: FlatCAMApp.py:3456 FlatCAMApp.py:3459 FlatCAMApp.py:3462 FlatCAMApp.py:3465 +#: FlatCAMApp.py:3637 FlatCAMApp.py:3640 FlatCAMApp.py:3643 FlatCAMApp.py:3646 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" "" -#: FlatCAMApp.py:3482 FlatCAMApp.py:5466 FlatCAMObj.py:220 FlatCAMObj.py:235 -#: FlatCAMObj.py:251 flatcamTools/ToolMove.py:187 +#: FlatCAMApp.py:3663 FlatCAMApp.py:5787 FlatCAMObj.py:225 FlatCAMObj.py:240 +#: FlatCAMObj.py:256 FlatCAMObj.py:336 flatcamTools/ToolMove.py:187 msgid "Plotting" msgstr "Plotten" -#: FlatCAMApp.py:3561 +#: FlatCAMApp.py:3782 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -241,36 +240,35 @@ msgstr "" "jpcgt/flatcam/src/Beta/\"> hier.
DOWNLOAD hier.
" -#: FlatCAMApp.py:3597 +#: FlatCAMApp.py:3818 msgid "Close" msgstr "Schließen" -#: FlatCAMApp.py:3720 -msgid "[success] Defaults saved." -msgstr "[success] Standardeinstellungen gespeichert." +#: FlatCAMApp.py:3950 FlatCAMApp.py:6234 +msgid "Preferences saved." +msgstr "Einstellungen gespeichert." -#: FlatCAMApp.py:3744 -msgid "[ERROR_NOTCL] Could not load factory defaults file." -msgstr "[ERROR_NOTCL] Factory-Standarddatei konnte nicht geladen werden." +#: FlatCAMApp.py:3978 +msgid "Could not load factory defaults file." +msgstr "Factory-Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:3753 -msgid "[ERROR_NOTCL] Failed to parse factory defaults file." -msgstr "[ERROR_NOTCL] Fehler beim Parsen der Werksvorgaben-Datei." +#: FlatCAMApp.py:3988 +msgid "Failed to parse factory defaults file." +msgstr "Fehler beim Parsen der Werksvorgaben-Datei." -#: FlatCAMApp.py:3767 -msgid "[ERROR_NOTCL] Failed to write factory defaults to file." -msgstr "" -"[ERROR_NOTCL] Fehler beim Schreiben der Werkseinstellungen in die Datei." +#: FlatCAMApp.py:4003 +msgid "Failed to write factory defaults to file." +msgstr "Fehler beim Schreiben der Werkseinstellungen in die Datei." -#: FlatCAMApp.py:3771 +#: FlatCAMApp.py:4007 msgid "Factory defaults saved." msgstr "Werkseinstellungen gespeichert." -#: FlatCAMApp.py:3776 flatcamGUI/FlatCAMGUI.py:3312 -msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." -msgstr "[WARNING_NOTCL] Anwendung speichert das Projekt. Warten Sie mal ..." +#: FlatCAMApp.py:4018 +msgid "Application is saving the project. Please wait ..." +msgstr "Anwendung speichert das Projekt. Warten Sie mal ..." -#: FlatCAMApp.py:3781 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:4023 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -278,47 +276,36 @@ msgstr "" "In FlatCAM wurden Dateien / Objekte geändert.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:3784 FlatCAMApp.py:6785 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:4026 FlatCAMApp.py:7126 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "Änderungen speichern" -#: FlatCAMApp.py:3972 -#| msgid "" -#| "List of file extensions to be\n" -#| "associated with FlatCAM." +#: FlatCAMApp.py:4237 msgid "[success] Selected Excellon file extensions registered with FlatCAM." msgstr "" "[success] Ausgewählte Excellon-Dateierweiterungen, die bei FlatCAM " "registriert sind." -#: FlatCAMApp.py:3993 -#| msgid "" -#| "List of file extensions to be\n" -#| "associated with FlatCAM." -msgid "[success] Selected GCode file extensions registered with FlatCAM." +#: FlatCAMApp.py:4259 +msgid "Selected GCode file extensions registered with FlatCAM." msgstr "" -"[success] Ausgewählte GCode-Dateierweiterungen, die bei FlatCAM registriert " -"sind." +"Ausgewählte GCode-Dateierweiterungen, die bei FlatCAM registriert sind." -#: FlatCAMApp.py:4014 -#| msgid "" -#| "List of file extensions to be\n" -#| "associated with FlatCAM." -msgid "[success] Selected Gerber file extensions registered with FlatCAM." +#: FlatCAMApp.py:4281 +msgid "Selected Gerber file extensions registered with FlatCAM." msgstr "" -"[success] Ausgewählte Gerber-Dateierweiterungen, die bei FlatCAM registriert " -"sind." +"Ausgewählte Gerber-Dateierweiterungen, die bei FlatCAM registriert sind." -#: FlatCAMApp.py:4037 +#: FlatCAMApp.py:4305 msgid "" -"[ERROR] Failed join. The Geometry objects are of different types.\n" +"Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " "is to convert from one to another and retry joining \n" "but in the case of converting from MultiGeo to SingleGeo, informations may " "be lost and the result may not be what was expected. \n" "Check the generated GCODE." msgstr "" -"[ERROR]Fehlgeschlagen beitreten. Die Geometrieobjekte sind unterschiedlich.\n" +"Fehlgeschlagen beitreten. Die Geometrieobjekte sind unterschiedlich.\n" "Mindestens einer ist vom Typ MultiGeo und der andere vom Typ SingleGeo. \n" "Eine Möglichkeit besteht darin, von einem zum anderen zu konvertieren und " "erneut zu verbinden\n" @@ -327,46 +314,48 @@ msgstr "" "und das Ergebnis entspricht möglicherweise nicht dem, was erwartet wurde.\n" "Überprüfen Sie den generierten GCODE." -#: FlatCAMApp.py:4078 -msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." +#: FlatCAMApp.py:4347 +msgid "Failed. Excellon joining works only on Excellon objects." msgstr "" -"[ERROR_NOTCL] Gescheitert. Die Verbindung von Excellon funktioniert nur bei " -"Excellon-Objekten." - -#: FlatCAMApp.py:4100 -msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." -msgstr "" -"[ERROR_NOTCL] Gescheitert. Das Gerber-Verbinden funktioniert nur bei Gerber-" +"Gescheitert. Die Verbindung von Excellon funktioniert nur bei Excellon-" "Objekten." -#: FlatCAMApp.py:4115 FlatCAMApp.py:4140 -msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." +#: FlatCAMApp.py:4370 +msgid "Failed. Gerber joining works only on Gerber objects." msgstr "" -"[ERROR_NOTCL] Gescheitert. Wählen Sie ein Geometrieobjekt aus und versuchen " -"Sie es erneut." +"Gescheitert. Das Gerber-Verbinden funktioniert nur bei Gerber-Objekten." -#: FlatCAMApp.py:4119 FlatCAMApp.py:4144 +#: FlatCAMApp.py:4395 FlatCAMApp.py:4432 +msgid "Failed. Select a Geometry Object and try again." +msgstr "" +"Gescheitert. Wählen Sie ein Geometrieobjekt aus und versuchen Sie es erneut." + +#: FlatCAMApp.py:4400 +msgid "Expected a FlatCAMGeometry, got" +msgstr "Erwartete eine FlatCAMGeometry, bekam" + +#: FlatCAMApp.py:4414 +msgid "A Geometry object was converted to MultiGeo type." +msgstr "Ein Geometrieobjekt wurde in den MultiGeo-Typ konvertiert." + +#: FlatCAMApp.py:4437 #, python-format -msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" -msgstr "[ERROR_NOTCL] Erwartete eine FlatCAMGeometry, bekam % s" +msgid "Expected a FlatCAMGeometry, got %s" +msgstr "Erwartete eine FlatCAMGeometry, bekam" -#: FlatCAMApp.py:4132 -msgid "[success] A Geometry object was converted to MultiGeo type." -msgstr "[success] Ein Geometrieobjekt wurde in den MultiGeo-Typ konvertiert." +#: FlatCAMApp.py:4452 +msgid "A Geometry object was converted to SingleGeo type." +msgstr "Ein Geometrieobjekt wurde in den SingleGeo-Typ konvertiert." -#: FlatCAMApp.py:4158 -msgid "[success] A Geometry object was converted to SingleGeo type." -msgstr "[success] Ein Geometrieobjekt wurde in den SingleGeo-Typ konvertiert." - -#: FlatCAMApp.py:4399 +#: FlatCAMApp.py:4713 msgid "Toggle Units" msgstr "Einheiten umschalten" -#: FlatCAMApp.py:4401 +#: FlatCAMApp.py:4715 msgid "Change project units ..." msgstr "Projekteinheiten ändern ..." -#: FlatCAMApp.py:4402 +#: FlatCAMApp.py:4716 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" @@ -376,55 +365,52 @@ msgstr "" "Eigenschaften aller Objekte entsprechend skaliert.\n" "Fortsetzen?" -#: FlatCAMApp.py:4404 FlatCAMApp.py:5295 FlatCAMApp.py:5400 FlatCAMApp.py:7071 -#: FlatCAMApp.py:7084 FlatCAMApp.py:7324 FlatCAMApp.py:7334 +#: FlatCAMApp.py:4718 FlatCAMApp.py:5614 FlatCAMApp.py:5719 FlatCAMApp.py:7419 +#: FlatCAMApp.py:7433 FlatCAMApp.py:7688 FlatCAMApp.py:7699 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:4452 +#: FlatCAMApp.py:4767 #, python-format -msgid "[success] Converted units to %s" -msgstr "[success] Einheiten in umgerechnet %s" +msgid "Converted units to %s" +msgstr "Umgerechnete Einheiten in %s" -#: FlatCAMApp.py:4463 -msgid "[WARNING_NOTCL] Units conversion cancelled." -msgstr "[WARNING_NOTCL] Einheitenumrechnung abgebrochen." +#: FlatCAMApp.py:4779 +msgid " Units conversion cancelled." +msgstr "Einheitenumrechnung abgebrochen." -#: FlatCAMApp.py:5161 +#: FlatCAMApp.py:5477 msgid "Open file" msgstr "Datei öffnen" -#: FlatCAMApp.py:5192 FlatCAMApp.py:5197 +#: FlatCAMApp.py:5508 FlatCAMApp.py:5513 msgid "Export G-Code ..." msgstr "G-Code exportieren ..." -#: FlatCAMApp.py:5200 -msgid "[WARNING_NOTCL] Export Code cancelled." -msgstr "[WARNING_NOTCL] Exportcode wurde abgebrochen." +#: FlatCAMApp.py:5517 +msgid "Export Code cancelled." +msgstr "Exportcode abgebrochen." -#: FlatCAMApp.py:5209 -msgid "[WARNING] No such file or directory" -msgstr "[WARNING] Keine solche Datei oder Ordner" +#: FlatCAMApp.py:5527 FlatCAMObj.py:6161 flatcamTools/ToolSolderPaste.py:1424 +msgid "No such file or directory" +msgstr "Keine solche Datei oder Ordner" -#: FlatCAMApp.py:5220 +#: FlatCAMApp.py:5539 #, python-format msgid "Saved to: %s" msgstr "Gespeichert in: %s" -#: FlatCAMApp.py:5283 FlatCAMApp.py:5316 FlatCAMApp.py:5327 FlatCAMApp.py:5338 -msgid "" -"[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " -"format." +#: FlatCAMApp.py:5602 FlatCAMApp.py:5635 FlatCAMApp.py:5646 FlatCAMApp.py:5657 +#: flatcamTools/ToolNonCopperClear.py:915 flatcamTools/ToolSolderPaste.py:774 +msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "" -"[WARNING_NOTCL] Bitte geben Sie einen Werkzeugdurchmesser mit einem Wert " -"ungleich Null im Float-Format ein." +"Bitte geben Sie einen Werkzeugdurchmesser ungleich Null im Float-Format ein." -#: FlatCAMApp.py:5288 FlatCAMApp.py:5321 FlatCAMApp.py:5332 FlatCAMApp.py:5343 -#: flatcamGUI/FlatCAMGUI.py:3168 -msgid "[WARNING_NOTCL] Adding Tool cancelled ..." -msgstr "[WARNING_NOTCL] Addierwerkzeug abgebrochen ..." +#: FlatCAMApp.py:5607 FlatCAMApp.py:5640 FlatCAMApp.py:5662 +msgid "Adding Tool cancelled" +msgstr "Addierwerkzeug abgebrochen ..." -#: FlatCAMApp.py:5291 +#: FlatCAMApp.py:5610 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -433,11 +419,15 @@ msgstr "" "ist.\n" "Gehen Sie zu Einstellungen -> Allgemein - Erweiterte Optionen anzeigen." -#: FlatCAMApp.py:5395 +#: FlatCAMApp.py:5651 flatcamGUI/FlatCAMGUI.py:3168 +msgid "[WARNING_NOTCL] Adding Tool cancelled ..." +msgstr "[WARNING_NOTCL] Addierwerkzeug abgebrochen ..." + +#: FlatCAMApp.py:5714 msgid "Delete objects" msgstr "Objekte löschen" -#: FlatCAMApp.py:5398 +#: FlatCAMApp.py:5717 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -445,84 +435,78 @@ msgstr "" "Möchten Sie wirklich dauerhaft löschen?\n" "die ausgewählten Objekte?" -#: FlatCAMApp.py:5427 -msgid "Object(s) deleted ..." -msgstr "Objekt (e) gelöscht ..." +#: FlatCAMApp.py:5747 +msgid "Object(s) deleted" +msgstr "Objekt (e) gelöscht" -#: FlatCAMApp.py:5431 +#: FlatCAMApp.py:5751 msgid "Failed. No object(s) selected..." msgstr "Gescheitert. Kein Objekt ausgewählt ..." -#: FlatCAMApp.py:5433 +#: FlatCAMApp.py:5753 msgid "Save the work in Editor and try again ..." msgstr "Speichern Sie die Arbeit im Editor und versuchen Sie es erneut ..." -#: FlatCAMApp.py:5487 -msgid "Setting Origin..." -msgstr "Ursprung einstellen ..." +#: FlatCAMApp.py:5771 +msgid "Object deleted" +msgstr "Objekt (e) gelöscht" -#: FlatCAMApp.py:5498 -msgid "[success] Origin set ..." -msgstr "[success] Ursprung gesetzt ..." - -#: FlatCAMApp.py:5506 +#: FlatCAMApp.py:5795 msgid "Click to set the origin ..." msgstr "Klicken Sie hier, um den Ursprung festzulegen ..." -#: FlatCAMApp.py:5525 +#: FlatCAMApp.py:5819 +msgid "Setting Origin..." +msgstr "Ursprung einstellen ..." + +#: FlatCAMApp.py:5831 +msgid "Origin set" +msgstr "Ursprungssatz" + +#: FlatCAMApp.py:5846 msgid "Jump to ..." msgstr "Springen zu ..." -#: FlatCAMApp.py:5526 +#: FlatCAMApp.py:5847 msgid "Enter the coordinates in format X,Y:" msgstr "Geben Sie die Koordinaten im Format X, Y ein:" -#: FlatCAMApp.py:5533 +#: FlatCAMApp.py:5854 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Falsche Koordinaten. Koordinaten im Format eingeben: X, Y" -#: FlatCAMApp.py:5551 flatcamEditors/FlatCAMExcEditor.py:3424 -#: flatcamEditors/FlatCAMExcEditor.py:3431 -#: flatcamEditors/FlatCAMGeoEditor.py:3741 -#: flatcamEditors/FlatCAMGeoEditor.py:3755 -#: flatcamEditors/FlatCAMGrbEditor.py:1057 -#: flatcamEditors/FlatCAMGrbEditor.py:1160 -#: flatcamEditors/FlatCAMGrbEditor.py:1433 -#: flatcamEditors/FlatCAMGrbEditor.py:1690 -#: flatcamEditors/FlatCAMGrbEditor.py:4156 -#: flatcamEditors/FlatCAMGrbEditor.py:4170 flatcamGUI/FlatCAMGUI.py:2560 -#: flatcamGUI/FlatCAMGUI.py:2572 -msgid "[success] Done." -msgstr "[success] Erledigt." +#: FlatCAMApp.py:5873 +msgid "Done." +msgstr "Gemacht." -#: FlatCAMApp.py:5684 FlatCAMApp.py:5751 -msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." +#: FlatCAMApp.py:6007 FlatCAMApp.py:6075 +msgid "No object is selected. Select an object and try again." msgstr "" -"[WARNING_NOTCL] Es ist kein Objekt ausgewählt. Wählen Sie ein Objekt und " -"versuchen Sie es erneut." +"Es ist kein Objekt ausgewählt. Wählen Sie ein Objekt und versuchen Sie es " +"erneut." -#: FlatCAMApp.py:5771 +#: FlatCAMApp.py:6095 msgid "" "Aborting. The current task will be gracefully closed as soon as possible..." msgstr "" "Abbrechen. Die aktuelle Aufgabe wird so schnell wie möglich ordnungsgemäß " "abgeschlossen ..." -#: FlatCAMApp.py:5777 +#: FlatCAMApp.py:6101 msgid "The current task was gracefully closed on user request..." msgstr "" "Die aktuelle Aufgabe wurde auf Benutzeranforderung ordnungsgemäß " "geschlossen ..." -#: FlatCAMApp.py:5794 flatcamGUI/GUIElements.py:1443 +#: FlatCAMApp.py:6118 flatcamGUI/GUIElements.py:1443 msgid "Preferences" msgstr "Einstellungen" -#: FlatCAMApp.py:5860 -msgid "[WARNING_NOTCL] Preferences edited but not saved." -msgstr "[WARNING_NOTCL] Einstellungen bearbeitet, aber nicht gespeichert." +#: FlatCAMApp.py:6185 +msgid "Preferences edited but not saved." +msgstr "Einstellungen bearbeitet, aber nicht gespeichert." -#: FlatCAMApp.py:5894 +#: FlatCAMApp.py:6219 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" @@ -530,87 +514,73 @@ msgstr "" "Ein oder mehrere Werte werden geändert.\n" "Möchten Sie die Einstellungen speichern?" -#: FlatCAMApp.py:5896 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:989 +#: FlatCAMApp.py:6221 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:989 msgid "Save Preferences" msgstr "Einstellungen speichern" -#: FlatCAMApp.py:5908 -msgid "[success] Preferences saved." -msgstr "[success] Einstellungen gespeichert." +#: FlatCAMApp.py:6250 +msgid "No object selected to Flip on Y axis." +msgstr "Kein Objekt ausgewählt, um auf der Y-Achse zu kippen." -#: FlatCAMApp.py:5923 -msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." -msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt, um auf der Y-Achse zu kippen." +#: FlatCAMApp.py:6276 +msgid "Flip on Y axis done." +msgstr "Y-Achse spiegeln fertig." -#: FlatCAMApp.py:5948 -msgid "[success] Flip on Y axis done." -msgstr "[success] Y-Achse umdrehen fertig." +#: FlatCAMApp.py:6279 FlatCAMApp.py:6322 +msgid "Flip action was not executed." +msgstr "Flip-Aktion wurde nicht ausgeführt." -#: FlatCAMApp.py:5950 FlatCAMApp.py:5990 -#: flatcamEditors/FlatCAMGeoEditor.py:1357 -#: flatcamEditors/FlatCAMGrbEditor.py:5584 -#, python-format -msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." -msgstr "[ERROR_NOTCL] Aufgrund von %s wurde die Flip-Aktion nicht ausgeführt." +#: FlatCAMApp.py:6293 +msgid "No object selected to Flip on X axis." +msgstr "Es wurde kein Objekt zum Spiegeln auf der X-Achse ausgewählt." -#: FlatCAMApp.py:5963 -msgid "[WARNING_NOTCL] No object selected to Flip on X axis." -msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt, um auf der X-Achse zu kippen." +#: FlatCAMApp.py:6319 +msgid "Flip on X axis done." +msgstr "Flip on X axis done." -#: FlatCAMApp.py:5988 -msgid "[success] Flip on X axis done." -msgstr "[success] Dreh auf der X-Achse fertig." +#: FlatCAMApp.py:6336 +msgid "No object selected to Rotate." +msgstr "Es wurde kein Objekt zum Drehen ausgewählt." -#: FlatCAMApp.py:6003 -msgid "[WARNING_NOTCL] No object selected to Rotate." -msgstr "[WARNING_NOTCL] Kein Objekt zum Drehen ausgewählt." - -#: FlatCAMApp.py:6006 FlatCAMApp.py:6051 FlatCAMApp.py:6082 +#: FlatCAMApp.py:6339 FlatCAMApp.py:6387 FlatCAMApp.py:6420 msgid "Transform" msgstr "Verwandeln" -#: FlatCAMApp.py:6006 FlatCAMApp.py:6051 FlatCAMApp.py:6082 +#: FlatCAMApp.py:6339 FlatCAMApp.py:6387 FlatCAMApp.py:6420 msgid "Enter the Angle value:" msgstr "Geben Sie den Winkelwert ein:" -#: FlatCAMApp.py:6036 -msgid "[success] Rotation done." -msgstr "[success] Rotation erfolgt." +#: FlatCAMApp.py:6370 +msgid "Rotation done." +msgstr "Fertig drehen." -#: FlatCAMApp.py:6038 flatcamEditors/FlatCAMGeoEditor.py:1300 -#: flatcamEditors/FlatCAMGrbEditor.py:5513 -#, python-format -msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." -msgstr "" -"[ERROR_NOTCL] Aufgrund von %s wurde keine Rotationsbewegung ausgeführt." +#: FlatCAMApp.py:6373 +msgid "Rotation movement was not executed." +msgstr "Drehbewegung wurde nicht ausgeführt." -#: FlatCAMApp.py:6049 -msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." -msgstr "" -"[WARNING_NOTCL] Kein Objekt für Neigung / Scherung auf der X-Achse " -"ausgewählt." +#: FlatCAMApp.py:6385 +msgid "No object selected to Skew/Shear on X axis." +msgstr "Auf der X-Achse wurde kein Objekt zum Neigen / Scheren ausgewählt." -#: FlatCAMApp.py:6070 -msgid "[success] Skew on X axis done." -msgstr "[success] Neigung auf der X-Achse fertig." +#: FlatCAMApp.py:6407 +msgid "Skew on X axis done." +msgstr "Neigung auf der X-Achse" -#: FlatCAMApp.py:6080 -msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." -msgstr "" -"[WARNING_NOTCL] Kein Objekt für Neigung / Scherung auf der Y-Achse " -"ausgewählt." +#: FlatCAMApp.py:6418 +msgid "No object selected to Skew/Shear on Y axis." +msgstr "Kein Objekt für Neigung / Scherung auf der Y-Achse ausgewählt." -#: FlatCAMApp.py:6101 -msgid "[success] Skew on Y axis done." -msgstr "[success] Neigung auf der Y-Achse fertig." +#: FlatCAMApp.py:6440 +msgid "Skew on Y axis done." +msgstr "Neigung auf der Y-Achse" -#: FlatCAMApp.py:6152 +#: FlatCAMApp.py:6491 msgid "Grid On/Off" msgstr "Raster ein/aus" -#: FlatCAMApp.py:6165 flatcamEditors/FlatCAMGeoEditor.py:939 +#: FlatCAMApp.py:6504 flatcamEditors/FlatCAMGeoEditor.py:939 #: flatcamEditors/FlatCAMGrbEditor.py:2460 -#: flatcamEditors/FlatCAMGrbEditor.py:5102 flatcamGUI/ObjectUI.py:1044 +#: flatcamEditors/FlatCAMGrbEditor.py:5102 flatcamGUI/ObjectUI.py:1053 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 #: flatcamTools/ToolNonCopperClear.py:237 flatcamTools/ToolPaint.py:176 #: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483 @@ -618,81 +588,79 @@ msgstr "Raster ein/aus" msgid "Add" msgstr "Hinzufügen" -#: FlatCAMApp.py:6166 FlatCAMObj.py:3528 +#: FlatCAMApp.py:6505 FlatCAMObj.py:3564 #: flatcamEditors/FlatCAMGrbEditor.py:2465 flatcamGUI/FlatCAMGUI.py:545 #: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1719 -#: flatcamGUI/FlatCAMGUI.py:2094 flatcamGUI/ObjectUI.py:1060 +#: flatcamGUI/FlatCAMGUI.py:2094 flatcamGUI/ObjectUI.py:1069 #: flatcamTools/ToolNonCopperClear.py:249 flatcamTools/ToolPaint.py:188 #: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:485 msgid "Delete" msgstr "Löschen" -#: FlatCAMApp.py:6179 +#: FlatCAMApp.py:6518 msgid "New Grid ..." msgstr "Neues Raster ..." -#: FlatCAMApp.py:6180 +#: FlatCAMApp.py:6519 msgid "Enter a Grid Value:" msgstr "Geben Sie einen Rasterwert ein:" -#: FlatCAMApp.py:6188 FlatCAMApp.py:6215 -msgid "" -"[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " -"format." +#: FlatCAMApp.py:6527 FlatCAMApp.py:6554 +msgid "Please enter a grid value with non-zero value, in Float format." msgstr "" -"[WARNING_NOTCL] Bitte geben Sie im Float-Format einen Rasterwert mit einem " -"Wert ungleich Null ein." +"Bitte geben Sie im Float-Format einen Rasterwert mit einem Wert ungleich " +"Null ein." -#: FlatCAMApp.py:6194 -msgid "[success] New Grid added ..." -msgstr "[success] Neues Netz hinzugefügt ..." +#: FlatCAMApp.py:6533 +msgid "New Grid added" +msgstr "Neues Raster" -#: FlatCAMApp.py:6197 -msgid "[WARNING_NOTCL] Grid already exists ..." -msgstr "[WARNING_NOTCL] Netz existiert bereits ..." +#: FlatCAMApp.py:6536 +msgid "Grid already exists" +msgstr "Netz existiert bereits" -#: FlatCAMApp.py:6200 -msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." -msgstr "[WARNING_NOTCL] Neues Netz wurde abgebrochen ..." +#: FlatCAMApp.py:6539 +msgid "Adding New Grid cancelled" +msgstr "Neues Netz wurde abgebrochen" -#: FlatCAMApp.py:6222 -msgid "[ERROR_NOTCL] Grid Value does not exist ..." -msgstr "[ERROR_NOTCL] Rasterwert existiert nicht ..." +#: FlatCAMApp.py:6561 +msgid " Grid Value does not exist" +msgstr "Rasterwert existiert nicht" -#: FlatCAMApp.py:6225 -msgid "[success] Grid Value deleted ..." -msgstr "[success] Rasterwert gelöscht ..." +#: FlatCAMApp.py:6564 +msgid "Grid Value deleted" +msgstr "Rasterwert gelöscht" -#: FlatCAMApp.py:6228 -msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." -msgstr "[WARNING_NOTCL] Rasterwert löschen abgebrochen ..." +#: FlatCAMApp.py:6567 +msgid "Delete Grid value cancelled" +msgstr "Rasterwert löschen abgebrochen" -#: FlatCAMApp.py:6234 +#: FlatCAMApp.py:6573 msgid "Key Shortcut List" msgstr "Tastenkürzel Liste" -#: FlatCAMApp.py:6267 -msgid "[WARNING_NOTCL] No object selected to copy it's name" -msgstr "[WARNING_NOTCL] Kein Objekt zum Kopieren des Namens ausgewählt" +#: FlatCAMApp.py:6607 +msgid " No object selected to copy it's name" +msgstr "Kein Objekt zum Kopieren des Namens ausgewählt" -#: FlatCAMApp.py:6271 +#: FlatCAMApp.py:6611 msgid "Name copied on clipboard ..." msgstr "Name in Zwischenablage kopiert ..." -#: FlatCAMApp.py:6313 flatcamEditors/FlatCAMGrbEditor.py:4097 -msgid "[success] Coordinates copied to clipboard." -msgstr "[success] Koordinaten in die Zwischenablage kopiert." +#: FlatCAMApp.py:6654 +msgid "Coordinates copied to clipboard." +msgstr "Koordinaten in die Zwischenablage kopiert." -#: FlatCAMApp.py:6566 FlatCAMApp.py:6570 FlatCAMApp.py:6574 FlatCAMApp.py:6578 -#: FlatCAMApp.py:6594 FlatCAMApp.py:6598 FlatCAMApp.py:6602 FlatCAMApp.py:6606 -#: FlatCAMApp.py:6646 FlatCAMApp.py:6649 FlatCAMApp.py:6652 FlatCAMApp.py:6655 +#: FlatCAMApp.py:6907 FlatCAMApp.py:6911 FlatCAMApp.py:6915 FlatCAMApp.py:6919 +#: FlatCAMApp.py:6935 FlatCAMApp.py:6939 FlatCAMApp.py:6943 FlatCAMApp.py:6947 +#: FlatCAMApp.py:6987 FlatCAMApp.py:6990 FlatCAMApp.py:6993 FlatCAMApp.py:6996 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} ausgewählt" -#: FlatCAMApp.py:6782 +#: FlatCAMApp.py:7123 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -702,232 +670,215 @@ msgstr "" "Wenn Sie ein neues Projekt erstellen, werden diese gelöscht.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:6803 -msgid "[success] New Project created..." -msgstr "[success] Neues Projekt erstellt ..." +#: FlatCAMApp.py:7145 +msgid "New Project created" +msgstr "Neues Projekt erstellt" -#: FlatCAMApp.py:6923 FlatCAMApp.py:6927 flatcamGUI/FlatCAMGUI.py:626 +#: FlatCAMApp.py:7265 FlatCAMApp.py:7269 flatcamGUI/FlatCAMGUI.py:626 #: flatcamGUI/FlatCAMGUI.py:1970 msgid "Open Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:6934 -msgid "[WARNING_NOTCL] Open Gerber cancelled." -msgstr "[WARNING_NOTCL] Offener Gerber abgebrochen." +#: FlatCAMApp.py:7277 +msgid "Open Gerber cancelled." +msgstr "Öffnen der Gerberdatei abgebrochen." -#: FlatCAMApp.py:6954 FlatCAMApp.py:6958 flatcamGUI/FlatCAMGUI.py:627 +#: FlatCAMApp.py:7297 FlatCAMApp.py:7301 flatcamGUI/FlatCAMGUI.py:627 #: flatcamGUI/FlatCAMGUI.py:1971 msgid "Open Excellon" msgstr "Excellon öffnen" -#: FlatCAMApp.py:6964 -msgid "[WARNING_NOTCL] Open Excellon cancelled." -msgstr "[WARNING_NOTCL] Offener Excellon abgebrochen." +#: FlatCAMApp.py:7308 +msgid " Open Excellon cancelled." +msgstr "Öffnen der Excellon-Datei abgebrochen." -#: FlatCAMApp.py:6987 FlatCAMApp.py:6991 +#: FlatCAMApp.py:7331 FlatCAMApp.py:7335 msgid "Open G-Code" msgstr "G-Code öffnen" -#: FlatCAMApp.py:6998 -msgid "[WARNING_NOTCL] Open G-Code cancelled." -msgstr "[WARNING_NOTCL] Geöffneter G-Code wurde abgebrochen." +#: FlatCAMApp.py:7343 +msgid "Open G-Code cancelled." +msgstr "Öffnen der G-Code-Datei abgebrochen." -#: FlatCAMApp.py:7015 FlatCAMApp.py:7018 +#: FlatCAMApp.py:7360 FlatCAMApp.py:7363 msgid "Open Project" msgstr "Offenes Projekt" -#: FlatCAMApp.py:7026 -msgid "[WARNING_NOTCL] Open Project cancelled." -msgstr "[WARNING_NOTCL] Projekt abbrechen abgebrochen." +#: FlatCAMApp.py:7372 +msgid "Open Project cancelled." +msgstr "Projektdatei öffnen abgebrochen." -#: FlatCAMApp.py:7045 FlatCAMApp.py:7048 +#: FlatCAMApp.py:7391 FlatCAMApp.py:7394 msgid "Open Configuration File" msgstr "Offene Einstellungsdatei" -#: FlatCAMApp.py:7052 -msgid "[WARNING_NOTCL] Open Config cancelled." -msgstr "[WARNING_NOTCL] Offene Konfiguration abgebrochen." +#: FlatCAMApp.py:7399 +msgid "Open Config cancelled." +msgstr "Öffnen der Konfigurationsdatei abgebrochen." -#: FlatCAMApp.py:7067 FlatCAMApp.py:7320 FlatCAMApp.py:9672 FlatCAMApp.py:9692 -#: FlatCAMApp.py:9713 FlatCAMApp.py:9735 -msgid "[WARNING_NOTCL] No object selected." -msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt." +#: FlatCAMApp.py:7415 FlatCAMApp.py:7684 FlatCAMApp.py:10117 +#: FlatCAMApp.py:10138 FlatCAMApp.py:10160 FlatCAMApp.py:10183 +msgid "No object selected." +msgstr "Kein Objekt ausgewählt." -#: FlatCAMApp.py:7068 FlatCAMApp.py:7321 +#: FlatCAMApp.py:7416 FlatCAMApp.py:7685 msgid "Please Select a Geometry object to export" msgstr "Bitte wählen Sie ein Geometrieobjekt zum Exportieren aus" -#: FlatCAMApp.py:7081 -msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." -msgstr "" -"[ERROR_NOTCL] Es können nur Geometrie-, Gerber- und CNCJob-Objekte verwendet " -"werden." +#: FlatCAMApp.py:7430 +msgid "Only Geometry, Gerber and CNCJob objects can be used." +msgstr "Es können nur Geometrie-, Gerber- und CNCJob-Objekte verwendet werden." -#: FlatCAMApp.py:7094 FlatCAMApp.py:7098 +#: FlatCAMApp.py:7443 FlatCAMApp.py:7447 msgid "Export SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:7103 -msgid "[WARNING_NOTCL] Export SVG cancelled." -msgstr "[WARNING_NOTCL] Export SVG abgebrochen." +#: FlatCAMApp.py:7453 +msgid " Export SVG cancelled." +msgstr " Export von SVG abgebrochen." -#: FlatCAMApp.py:7122 -msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" -msgstr "" -"[WARNING_NOTCL] Daten müssen ein 3D-Array mit der letzten Dimension 3 oder 4 " -"sein" +#: FlatCAMApp.py:7473 +msgid "Data must be a 3D array with last dimension 3 or 4" +msgstr "Daten müssen ein 3D-Array mit der letzten Dimension 3 oder 4 sein" -#: FlatCAMApp.py:7128 FlatCAMApp.py:7132 +#: FlatCAMApp.py:7479 FlatCAMApp.py:7483 msgid "Export PNG Image" msgstr "PNG-Bild exportieren" -#: FlatCAMApp.py:7137 +#: FlatCAMApp.py:7488 msgid "Export PNG cancelled." msgstr "Export PNG abgebrochen." -#: FlatCAMApp.py:7156 -msgid "" -"[WARNING_NOTCL] No object selected. Please select an Gerber object to export." +#: FlatCAMApp.py:7508 +msgid "No object selected. Please select an Gerber object to export." msgstr "" -"[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt " -"aus, das Sie exportieren möchten." +"Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt aus, das Sie " +"exportieren möchten." -#: FlatCAMApp.py:7161 FlatCAMApp.py:7284 -msgid "" -"[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." +#: FlatCAMApp.py:7514 FlatCAMApp.py:7646 +msgid "Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" -"[ERROR_NOTCL] Fehlgeschlagen. Nur Gerber-Objekte können als Gerber-Dateien " -"gespeichert werden ..." +"Fehlgeschlagen. Nur Gerber-Objekte können als Gerber-Dateien gespeichert " +"werden ..." -#: FlatCAMApp.py:7173 +#: FlatCAMApp.py:7526 msgid "Save Gerber source file" msgstr "Gerber-Quelldatei speichern" -#: FlatCAMApp.py:7178 -msgid "[WARNING_NOTCL] Save Gerber source file cancelled." -msgstr "[WARNING_NOTCL] Gerber Quelldatei speichern abgebrochen." +#: FlatCAMApp.py:7532 +msgid "Save Gerber source file cancelled." +msgstr "Gerber Quelldatei speichern abgebrochen." -#: FlatCAMApp.py:7197 -msgid "" -"[WARNING_NOTCL] No object selected. Please select an Excellon object to " -"export." +#: FlatCAMApp.py:7552 +msgid "No object selected. Please select an Excellon object to export." msgstr "" -"[WARNING_NOTCL] Kein Objekt ausgewählt Bitte wählen Sie ein Excellon-Objekt " -"zum Exportieren aus." +"Kein Objekt ausgewählt Bitte wählen Sie ein Excellon-Objekt zum Exportieren " +"aus." -#: FlatCAMApp.py:7202 FlatCAMApp.py:7243 -msgid "" -"[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." +#: FlatCAMApp.py:7558 FlatCAMApp.py:7602 +msgid "Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" -"[ERROR_NOTCL] Fehlgeschlagen. Nur Excellon-Objekte können als Excellon-" -"Dateien gespeichert werden ..." +"Fehlgeschlagen. Nur Excellon-Objekte können als Excellon-Dateien gespeichert " +"werden ..." -#: FlatCAMApp.py:7210 FlatCAMApp.py:7214 +#: FlatCAMApp.py:7566 FlatCAMApp.py:7570 msgid "Save Excellon source file" msgstr "Speichern Sie die Excellon-Quelldatei" -#: FlatCAMApp.py:7219 -msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." -msgstr "[WARNING_NOTCL] Speichern der Excellon-Quelldatei abgebrochen." +#: FlatCAMApp.py:7576 +msgid "Saving Excellon source file cancelled." +msgstr "Speichern der Excellon-Quelldatei abgebrochen." -#: FlatCAMApp.py:7238 -msgid "" -"[WARNING_NOTCL] No object selected. Please Select an Excellon object to " -"export." +#: FlatCAMApp.py:7596 +msgid "No object selected. Please Select an Excellon object to export." msgstr "" -"[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Excellon-Objekt " -"aus, das Sie exportieren möchten." +"Kein Objekt ausgewählt. Bitte wählen Sie ein Excellon-Objekt aus, das Sie " +"exportieren möchten." -#: FlatCAMApp.py:7251 FlatCAMApp.py:7255 +#: FlatCAMApp.py:7610 FlatCAMApp.py:7614 msgid "Export Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:7260 -msgid "[WARNING_NOTCL] Export Excellon cancelled." -msgstr "[WARNING_NOTCL] Export Excellon wurde abgebrochen." +#: FlatCAMApp.py:7620 +msgid "Export Excellon cancelled." +msgstr "Export der Excellon-Datei abgebrochen." -#: FlatCAMApp.py:7279 -msgid "" -"[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." +#: FlatCAMApp.py:7640 +msgid "No object selected. Please Select an Gerber object to export." msgstr "" -"[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt " -"aus, das Sie exportieren möchten." +"Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt aus, das Sie " +"exportieren möchten." -#: FlatCAMApp.py:7292 FlatCAMApp.py:7296 +#: FlatCAMApp.py:7654 FlatCAMApp.py:7658 msgid "Export Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:7301 -msgid "[WARNING_NOTCL] Export Gerber cancelled." -msgstr "[WARNING_NOTCL] Export Gerber abgebrochen." +#: FlatCAMApp.py:7664 +msgid "Export Gerber cancelled." +msgstr "Export der Gerberdatei abgebrochen." -#: FlatCAMApp.py:7331 -msgid "[ERROR_NOTCL] Only Geometry objects can be used." -msgstr "[ERROR_NOTCL] Es können nur Geometrieobjekte verwendet werden." +#: FlatCAMApp.py:7696 +msgid "Only Geometry objects can be used." +msgstr "Es können nur Geometrieobjekte verwendet werden." -#: FlatCAMApp.py:7345 FlatCAMApp.py:7349 +#: FlatCAMApp.py:7710 FlatCAMApp.py:7714 msgid "Export DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:7355 -msgid "[WARNING_NOTCL] Export DXF cancelled." -msgstr "[WARNING_NOTCL] Export DXF wurde abgebrochen." +#: FlatCAMApp.py:7721 +msgid "Export DXF cancelled." +msgstr "Export der DXF-Datei abgebrochen." -#: FlatCAMApp.py:7375 FlatCAMApp.py:7378 +#: FlatCAMApp.py:7741 FlatCAMApp.py:7744 msgid "Import SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:7387 -msgid "[WARNING_NOTCL] Open SVG cancelled." -msgstr "[WARNING_NOTCL] Open SVG abgebrochen." +#: FlatCAMApp.py:7754 +msgid "Open SVG cancelled." +msgstr "Öffnen der SVG-Datei abgebrochen." -#: FlatCAMApp.py:7406 FlatCAMApp.py:7410 +#: FlatCAMApp.py:7773 FlatCAMApp.py:7777 msgid "Import DXF" msgstr "Importieren Sie DXF" -#: FlatCAMApp.py:7419 -msgid "[WARNING_NOTCL] Open DXF cancelled." -msgstr "[WARNING_NOTCL] Open DXF cancelled." +#: FlatCAMApp.py:7787 +msgid "Open DXF cancelled." +msgstr "Öffnen der DXF-Datei abgebrochen." -#: FlatCAMApp.py:7437 +#: FlatCAMApp.py:7805 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:7457 -msgid "" -"[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." +#: FlatCAMApp.py:7826 +msgid "Select an Gerber or Excellon file to view it's source file." msgstr "" -"[WARNING_NOTCL] Wählen Sie eine Gerber- oder Excellon-Datei aus, um die " -"Quelldatei anzuzeigen." +"Wählen Sie eine Gerber- oder Excellon-Datei aus, um die Quelldatei " +"anzuzeigen." -#: FlatCAMApp.py:7464 -msgid "" -"[WARNING_NOTCL] There is no selected object for which to see it's source " -"file code." +#: FlatCAMApp.py:7834 +msgid "There is no selected object for which to see it's source file code." msgstr "" -"[WARNING_NOTCL] Es gibt kein ausgewähltes Objekt, für das man seinen " -"Quelldateien sehen kann." +"Es gibt kein ausgewähltes Objekt, für das man seinen Quelldateien sehen kann." -#: FlatCAMApp.py:7472 +#: FlatCAMApp.py:7842 msgid "Source Editor" msgstr "Quelleditor" -#: FlatCAMApp.py:7482 -#, python-format -msgid "[ERROR]App.on_view_source() -->%s" -msgstr "[ERROR]App.on_view_source() -->%s" +#: FlatCAMApp.py:7853 +msgid "App.on_view_source() -->" +msgstr "App.on_view_source() -->" -#: FlatCAMApp.py:7494 FlatCAMApp.py:8695 FlatCAMObj.py:5884 +#: FlatCAMApp.py:7865 FlatCAMApp.py:9112 FlatCAMObj.py:5944 #: flatcamTools/ToolSolderPaste.py:1304 msgid "Code Editor" msgstr "Code-Editor" -#: FlatCAMApp.py:7506 +#: FlatCAMApp.py:7877 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:7509 +#: FlatCAMApp.py:7880 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -971,235 +922,219 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:7532 FlatCAMApp.py:7535 +#: FlatCAMApp.py:7903 FlatCAMApp.py:7906 msgid "Open TCL script" msgstr "Öffnen Sie das TCL-Skript" -#: FlatCAMApp.py:7543 -msgid "[WARNING_NOTCL] Open TCL script cancelled." -msgstr "[WARNING_NOTCL] Open TCL-Skript wurde abgebrochen." +#: FlatCAMApp.py:7915 +msgid "Open TCL script cancelled." +msgstr "Öffnen der TCL-Skriptdatei abgebrochen." -#: FlatCAMApp.py:7555 -#, python-format -msgid "[ERROR]App.on_fileopenscript() -->%s" -msgstr "[ERROR]App.on_fileopenscript() -->%s" +#: FlatCAMApp.py:7928 +msgid "App.on_fileopenscript() -->" +msgstr "App.on_fileopenscript() -->" -#: FlatCAMApp.py:7581 FlatCAMApp.py:7584 +#: FlatCAMApp.py:7954 FlatCAMApp.py:7957 msgid "Run TCL script" msgstr "Führen Sie das TCL-Skript aus" -#: FlatCAMApp.py:7592 -msgid "[WARNING_NOTCL] Run TCL script cancelled." -msgstr "[WARNING_NOTCL] Das TCL-Skript wird abgebrochen." +#: FlatCAMApp.py:7966 +msgid "Run TCL script cancelled." +msgstr "Ausführen der TCL-Skriptdatei abgebrochen." -#: FlatCAMApp.py:7647 FlatCAMApp.py:7651 +#: FlatCAMApp.py:8021 FlatCAMApp.py:8025 msgid "Save Project As ..." msgstr "Projekt speichern als ..." -#: FlatCAMApp.py:7648 +#: FlatCAMApp.py:8022 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Projekt_{date}" -#: FlatCAMApp.py:7656 -msgid "[WARNING_NOTCL] Save Project cancelled." -msgstr "[WARNING_NOTCL] Projekt speichern abgebrochen." +#: FlatCAMApp.py:8031 +msgid "Save Project cancelled." +msgstr "Projekt speichern abgebrochen." -#: FlatCAMApp.py:7704 +#: FlatCAMApp.py:8079 msgid "Exporting SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:7744 FlatCAMApp.py:7858 FlatCAMApp.py:7981 -#, python-format -msgid "[success] SVG file exported to %s" -msgstr "[success] SVG-Datei in exportiert %s" +#: FlatCAMApp.py:8121 FlatCAMApp.py:8238 FlatCAMApp.py:8364 +msgid "SVG file exported to" +msgstr "SVG-Datei exportiert nach" -#: FlatCAMApp.py:7778 FlatCAMApp.py:7906 -#, python-format -msgid "[WARNING_NOTCL] No object Box. Using instead %s" -msgstr "[WARNING_NOTCL] Kein Objektfeld. Stattdessen verwenden %s" +#: FlatCAMApp.py:8156 FlatCAMApp.py:8287 flatcamTools/ToolPanelize.py:381 +msgid "No object Box. Using instead" +msgstr "Keine Objektbox. Verwenden Sie stattdessen" -#: FlatCAMApp.py:7861 FlatCAMApp.py:7984 +#: FlatCAMApp.py:8241 FlatCAMApp.py:8367 msgid "Generating Film ... Please wait." msgstr "Film wird erstellt ... Bitte warten Sie." -#: FlatCAMApp.py:8150 -#, python-format -msgid "[success] Excellon file exported to %s" -msgstr "[success] Excellon-Datei nach exportiert %s" +#: FlatCAMApp.py:8536 +msgid "Excellon file exported to" +msgstr "Excellon-Datei exportiert nach" -#: FlatCAMApp.py:8157 +#: FlatCAMApp.py:8543 msgid "Exporting Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:8162 FlatCAMApp.py:8169 -msgid "[ERROR_NOTCL] Could not export Excellon file." -msgstr "[ERROR_NOTCL] Excellon-Datei konnte nicht exportiert werden." +#: FlatCAMApp.py:8549 FlatCAMApp.py:8557 +msgid "Could not export Excellon file." +msgstr "Excellon-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:8275 -#, python-format -msgid "[success] Gerber file exported to %s" -msgstr "[success] Gerber-Datei in exportiert %s" +#: FlatCAMApp.py:8665 +msgid "Gerber file exported to" +msgstr "Gerberdatei exportiert nach" -#: FlatCAMApp.py:8282 +#: FlatCAMApp.py:8672 msgid "Exporting Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:8287 FlatCAMApp.py:8294 -msgid "[ERROR_NOTCL] Could not export Gerber file." -msgstr "[ERROR_NOTCL] Gerber-Datei konnte nicht exportiert werden." +#: FlatCAMApp.py:8678 FlatCAMApp.py:8686 +msgid "Could not export Gerber file." +msgstr "Gerber-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:8336 -#, python-format -msgid "[success] DXF file exported to %s" -msgstr "[success] DXF-Datei in exportiert %s" +#: FlatCAMApp.py:8729 +msgid "DXF file exported to" +msgstr "DXF-Datei exportiert nach" -#: FlatCAMApp.py:8342 +#: FlatCAMApp.py:8735 msgid "Exporting DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:8347 FlatCAMApp.py:8354 -msgid "[[WARNING_NOTCL]] Could not export DXF file." -msgstr "[WARNING_NOTCL] DXF-Datei konnte nicht exportiert werden." +#: FlatCAMApp.py:8741 FlatCAMApp.py:8749 +msgid "Could not export DXF file." +msgstr "DXF-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:8374 FlatCAMApp.py:8416 FlatCAMApp.py:8460 +#: FlatCAMApp.py:8770 FlatCAMApp.py:8814 FlatCAMApp.py:8860 msgid "" -"[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " -"Gerber are supported" +"Not supported type is picked as parameter. Only Geometry and Gerber are " +"supported" msgstr "" -"[ERROR_NOTCL] Nicht unterstützte Art wird als Parameter ausgewählt. Nur " -"Geometrie und Gerber werden unterstützt" +"Nicht unterstützte Art wird als Parameter ausgewählt. Nur Geometrie und " +"Gerber werden unterstützt" -#: FlatCAMApp.py:8384 +#: FlatCAMApp.py:8780 msgid "Importing SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:8395 FlatCAMApp.py:8437 FlatCAMApp.py:8480 FlatCAMApp.py:8557 -#: FlatCAMApp.py:8618 FlatCAMApp.py:8681 flatcamTools/ToolPDF.py:220 -#, python-format -msgid "[success] Opened: %s" -msgstr "[success] Geöffnet: %s" +#: FlatCAMApp.py:8792 FlatCAMApp.py:8836 FlatCAMApp.py:8881 FlatCAMApp.py:8964 +#: FlatCAMApp.py:9031 FlatCAMApp.py:9098 +msgid "Opened" +msgstr "Geöffnet" -#: FlatCAMApp.py:8426 +#: FlatCAMApp.py:8824 msgid "Importing DXF" msgstr "DXF importieren" -#: FlatCAMApp.py:8468 +#: FlatCAMApp.py:8868 msgid "Importing Image" msgstr "Bild importieren" -#: FlatCAMApp.py:8509 FlatCAMApp.py:8511 -#, python-format -msgid "[ERROR_NOTCL] Failed to open file: %s" -msgstr "[ERROR_NOTCL] Datei konnte nicht geöffnet werden: %s" +#: FlatCAMApp.py:8911 +msgid "Failed to open file" +msgstr "Datei konnte nicht geöffnet werden" -#: FlatCAMApp.py:8514 +#: FlatCAMApp.py:8915 #, python-brace-format -msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" -msgstr "[ERROR_NOTCL] Fehler beim Parsen der Datei: {name}. {error}" +#| msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" +msgid "{e_code} Failed to parse file: {name}. {error}" +msgstr "{e_code} Datei konnte nicht analysiert werden: {name}. {error}" -#: FlatCAMApp.py:8521 FlatCAMObj.py:4474 -#: flatcamEditors/FlatCAMGrbEditor.py:3917 -msgid "[ERROR] An internal error has occurred. See shell.\n" -msgstr "[ERROR] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" +#: FlatCAMApp.py:8916 +msgid "[ERROR_NOTCL]" +msgstr "[ERROR_NOTCL]" -#: FlatCAMApp.py:8530 -msgid "" -"[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." +#: FlatCAMApp.py:8925 FlatCAMApp.py:8999 FlatCAMObj.py:4521 +#: flatcamTools/ToolPcbWizard.py:437 +msgid "An internal error has occurred. See shell.\n" +msgstr "Ein interner Fehler ist aufgetreten. Siehe Shell.\n" + +#: FlatCAMApp.py:8935 +msgid "Object is not Gerber file or empty. Aborting object creation." msgstr "" -"[ERROR_NOTCL] Objekt ist keine Gerberdatei oder leer. Objekterstellung wird " -"abgebrochen." +"Objekt ist keine Gerberdatei oder leer. Objekterstellung wird abgebrochen." -#: FlatCAMApp.py:8538 +#: FlatCAMApp.py:8943 msgid "Opening Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:8548 -msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." -msgstr "" -"[ERROR_NOTCL] Gerber öffnen ist fehlgeschlagen. Wahrscheinlich keine Gerber-" -"Datei." +#: FlatCAMApp.py:8954 +msgid " Open Gerber failed. Probable not a Gerber file." +msgstr "Gerber öffnen ist fehlgeschlagen. Wahrscheinlich keine Gerber-Datei." -#: FlatCAMApp.py:8581 -msgid "[ERROR_NOTCL] This is not Excellon file." -msgstr "[ERROR_NOTCL] Dies ist keine Excellon-Datei." +#: FlatCAMApp.py:8989 flatcamTools/ToolPcbWizard.py:427 +msgid "This is not Excellon file." +msgstr "Dies ist keine Excellon-Datei." -#: FlatCAMApp.py:8584 -#, python-format -msgid "[ERROR_NOTCL] Cannot open file: %s" -msgstr "[ERROR_NOTCL] Kann Datei nicht öffnen: %s" +#: FlatCAMApp.py:8993 +msgid "Cannot open file" +msgstr "Kann Datei nicht öffnen" -#: FlatCAMApp.py:8589 -msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" -msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" +#: FlatCAMApp.py:9013 flatcamTools/ToolPDF.py:270 +#: flatcamTools/ToolPcbWizard.py:451 +msgid "No geometry found in file" +msgstr "Keine Geometrie in der Datei gefunden" -#: FlatCAMApp.py:8602 -#, python-format -msgid "[ERROR_NOTCL] No geometry found in file: %s" -msgstr "[ERROR_NOTCL] Keine Geometrie in der Datei gefunden: %s" - -#: FlatCAMApp.py:8605 +#: FlatCAMApp.py:9016 msgid "Opening Excellon." msgstr "Eröffnung Excellon." -#: FlatCAMApp.py:8611 -msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." +#: FlatCAMApp.py:9023 +msgid "Open Excellon file failed. Probable not an Excellon file." msgstr "" -"[ERROR_NOTCL] Die Excellon-Datei konnte nicht geöffnet werden. " -"Wahrscheinlich keine Excellon-Datei." +"Die Excellon-Datei konnte nicht geöffnet werden. Wahrscheinlich keine " +"Excellon-Datei." -#: FlatCAMApp.py:8648 -#, python-format -msgid "[ERROR_NOTCL] Failed to open %s" -msgstr "[ERROR_NOTCL] Gescheitert zu öffnen %s" +#: FlatCAMApp.py:9062 +msgid "Failed to open" +msgstr "Gescheitert zu öffnen" -#: FlatCAMApp.py:8658 -msgid "[ERROR_NOTCL] This is not GCODE" -msgstr "[ERROR_NOTCL] Dies ist kein GCODE" +#: FlatCAMApp.py:9073 +msgid "This is not GCODE" +msgstr "Dies ist kein GCODE" -#: FlatCAMApp.py:8664 +#: FlatCAMApp.py:9079 msgid "Opening G-Code." msgstr "G-Code öffnen." -#: FlatCAMApp.py:8672 +#: FlatCAMApp.py:9088 msgid "" -"[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" +"Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" msgstr "" -"[ERROR_NOTCL] CNCJob-Objekt konnte nicht erstellt werden. Wahrscheinlich " -"keine GCode-Datei.\n" +"CNCJob-Objekt konnte nicht erstellt werden. Wahrscheinlich keine GCode-" +"Datei.\n" "Der Versuch, ein FlatCAM-CNCJob-Objekt aus einer G-Code-Datei zu erstellen, " "ist während der Verarbeitung fehlgeschlagen" -#: FlatCAMApp.py:8712 -#, python-format -msgid "[ERROR_NOTCL] Failed to open config file: %s" -msgstr "[ERROR_NOTCL] Fehler beim Öffnen der Konfigurationsdatei: %s" +#: FlatCAMApp.py:9130 +msgid "Failed to open config file" +msgstr "Fehler beim Öffnen der Konfigurationsdatei" -#: FlatCAMApp.py:8733 +#: FlatCAMApp.py:9151 msgid "Loading Project ... Please Wait ..." msgstr "Projekt wird geladen ... Bitte warten ..." -#: FlatCAMApp.py:8740 FlatCAMApp.py:8758 -#, python-format -msgid "[ERROR_NOTCL] Failed to open project file: %s" -msgstr "[ERROR_NOTCL] Projektdatei konnte nicht geöffnet werden: %s" +#: FlatCAMApp.py:9159 FlatCAMApp.py:9178 +msgid "Failed to open project file" +msgstr "Projektdatei konnte nicht geöffnet werden" -#: FlatCAMApp.py:8782 +#: FlatCAMApp.py:9202 msgid "Loading Project ... restoring" msgstr "Projekt wird geladen ... wird wiederhergestellt" -#: FlatCAMApp.py:8787 -#, python-format -msgid "[success] Project loaded from: %s" -msgstr "[success] Projekt geladen von: %s" +#: FlatCAMApp.py:9212 +msgid "Project loaded from" +msgstr "Projekt geladen von" -#: FlatCAMApp.py:8893 +#: FlatCAMApp.py:9318 msgid "Available commands:\n" msgstr "Verfügbare Befehle:\n" -#: FlatCAMApp.py:8895 +#: FlatCAMApp.py:9320 msgid "" "\n" "\n" @@ -1211,38 +1146,36 @@ msgstr "" "Geben Sie help für die Verwendung ein.\n" "Beispiel: help open_gerber" -#: FlatCAMApp.py:9045 +#: FlatCAMApp.py:9470 msgid "Shows list of commands." msgstr "Zeigt eine Liste von Befehlen an." -#: FlatCAMApp.py:9102 -msgid "[ERROR_NOTCL] Failed to load recent item list." -msgstr "[ERROR_NOTCL] Fehler beim Laden der letzten Elementliste." +#: FlatCAMApp.py:9528 +msgid "Failed to load recent item list." +msgstr "Fehler beim Laden der letzten Elementliste." -#: FlatCAMApp.py:9109 -msgid "[ERROR_NOTCL] Failed to parse recent item list." +#: FlatCAMApp.py:9536 +msgid "Failed to parse recent item list." +msgstr "Liste der letzten Artikel konnte nicht analysiert werden." + +#: FlatCAMApp.py:9547 +msgid "Failed to load recent projects item list." +msgstr "Fehler beim Laden der Artikelliste der letzten Projekte." + +#: FlatCAMApp.py:9555 +msgid "Failed to parse recent project item list." msgstr "" -"[ERROR_NOTCL] Liste der letzten Artikel konnte nicht analysiert werden." +"Fehler beim Analysieren der Liste der zuletzt verwendeten Projektelemente." -#: FlatCAMApp.py:9119 -msgid "[ERROR_NOTCL] Failed to load recent projects item list." -msgstr "[ERROR_NOTCL] Fehler beim Laden der Artikelliste der letzten Projekte." - -#: FlatCAMApp.py:9126 -msgid "[ERROR_NOTCL] Failed to parse recent project item list." -msgstr "" -"[ERROR_NOTCL] Fehler beim Analysieren der Liste der zuletzt verwendeten " -"Projektelemente." - -#: FlatCAMApp.py:9185 FlatCAMApp.py:9208 +#: FlatCAMApp.py:9614 FlatCAMApp.py:9637 msgid "Clear Recent files" msgstr "Letzte Dateien löschen" -#: FlatCAMApp.py:9225 flatcamGUI/FlatCAMGUI.py:1006 +#: FlatCAMApp.py:9654 flatcamGUI/FlatCAMGUI.py:1006 msgid "Shortcut Key List" msgstr " Liste der Tastenkombinationen " -#: FlatCAMApp.py:9237 +#: FlatCAMApp.py:9666 #, python-brace-format msgid "" "\n" @@ -1343,27 +1276,25 @@ msgstr "" "Verknüpfungsliste oder über eine eigene Tastenkombination: " "F3.

\n" -#: FlatCAMApp.py:9315 -msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." +#: FlatCAMApp.py:9745 +msgid "Failed checking for latest version. Could not connect." msgstr "" -"[WARNING_NOTCL] Fehler bei der Suche nach der neuesten Version. Konnte keine " -"Verbindung herstellen." +"Fehler bei der Suche nach der neuesten Version. Konnte keine Verbindung " +"herstellen." -#: FlatCAMApp.py:9322 -msgid "[ERROR_NOTCL] Could not parse information about latest version." -msgstr "" -"[ERROR_NOTCL] Informationen zur neuesten Version konnten nicht analysiert " -"werden." +#: FlatCAMApp.py:9753 +msgid "Could not parse information about latest version." +msgstr "Informationen zur neuesten Version konnten nicht analysiert werden." -#: FlatCAMApp.py:9332 -msgid "[success] FlatCAM is up to date!" -msgstr "[success] FlatCAM ist auf dem neuesten Version!" +#: FlatCAMApp.py:9764 +msgid "FlatCAM is up to date!" +msgstr "FlatCAM ist auf dem neuesten Version!" -#: FlatCAMApp.py:9337 +#: FlatCAMApp.py:9769 msgid "Newer Version Available" msgstr "Neuere Version verfügbar" -#: FlatCAMApp.py:9338 +#: FlatCAMApp.py:9770 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1371,401 +1302,425 @@ msgstr "" "Es gibt eine neuere Version von FlatCAM zum Download:\n" "\n" -#: FlatCAMApp.py:9340 +#: FlatCAMApp.py:9772 msgid "info" msgstr "Info" -#: FlatCAMApp.py:9394 -msgid "[success] All plots disabled." -msgstr "[success] Alle Diagramme sind deaktiviert." +#: FlatCAMApp.py:9827 +msgid "All plots disabled." +msgstr "Alle Diagramme sind deaktiviert." -#: FlatCAMApp.py:9400 -msgid "[success] All non selected plots disabled." -msgstr "[success] Alle nicht ausgewählten Diagramme sind deaktiviert." +#: FlatCAMApp.py:9834 +msgid "All non selected plots disabled." +msgstr "Alle nicht ausgewählten Diagramme sind deaktiviert." -#: FlatCAMApp.py:9406 -msgid "[success] All plots enabled." -msgstr "[success] Alle Diagramme aktiviert." +#: FlatCAMApp.py:9841 +msgid "All plots enabled." +msgstr "Alle Diagramme aktiviert." -#: FlatCAMApp.py:9412 -msgid "[success] Selected plots enabled..." -msgstr "[success] Ausgewählte Grundstücke aktiviert ..." +#: FlatCAMApp.py:9848 +msgid "Selected plots enabled..." +msgstr "Ausgewählte Diagramme aktiviert ..." -#: FlatCAMApp.py:9420 -msgid "[success] Selected plots disabled..." -msgstr "[success] Ausgewählte Grundstücke deaktiviert ..." +#: FlatCAMApp.py:9857 +msgid "Selected plots disabled..." +msgstr "Ausgewählte Diagramme deaktiviert ..." -#: FlatCAMApp.py:9438 +#: FlatCAMApp.py:9875 msgid "Enabling plots ..." msgstr "Diagramm aktivieren..." -#: FlatCAMApp.py:9472 +#: FlatCAMApp.py:9909 msgid "Disabling plots ..." msgstr "Diagramm deaktivieren..." -#: FlatCAMApp.py:9494 +#: FlatCAMApp.py:9931 msgid "Working ..." msgstr "Arbeiten ..." -#: FlatCAMApp.py:9532 +#: FlatCAMApp.py:9969 msgid "Saving FlatCAM Project" msgstr "FlatCAM-Projekt speichern" -#: FlatCAMApp.py:9553 FlatCAMApp.py:9584 -#, python-format -msgid "[success] Project saved to: %s" -msgstr "[success] Projekt gespeichert in: %s" +#: FlatCAMApp.py:9991 FlatCAMApp.py:10026 +msgid "Project saved to" +msgstr "Projekt gespeichert in" -#: FlatCAMApp.py:9571 -#, python-format -msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." -msgstr "" -"[ERROR_NOTCL] Fehler beim Überprüfen der Projektdatei:%s. Versuchen Sie es " -"erneut zu speichern." +#: FlatCAMApp.py:10010 +msgid "Failed to verify project file" +msgstr "Fehler beim Überprüfen der Projektdatei" -#: FlatCAMApp.py:9578 -#, python-format -msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." -msgstr "" -"[ERROR_NOTCL] Die gespeicherte Projektdatei konnte nicht analysiert werden:" -"%s. Versuchen Sie es erneut zu speichern." +#: FlatCAMApp.py:10010 FlatCAMApp.py:10018 FlatCAMApp.py:10029 +msgid "Retry to save it." +msgstr "Versuchen Sie erneut, es zu speichern." -#: FlatCAMApp.py:9586 -#, python-format -msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." -msgstr "" -"[ERROR_NOTCL] Projektdatei konnte nicht gespeichert werden:%s. Versuchen Sie " -"es erneut zu speichern." +#: FlatCAMApp.py:10018 FlatCAMApp.py:10029 +msgid "Failed to parse saved project file" +msgstr "Fehler beim Parsen der Projektdatei" -#: FlatCAMApp.py:9792 +#: FlatCAMApp.py:10240 msgid "The user requested a graceful exit of the current task." msgstr "" "Der Benutzer hat einen ordnungsgemäßen Abschluss der aktuellen Aufgabe " "angefordert." -#: FlatCAMObj.py:208 +#: FlatCAMObj.py:213 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name geändert von {old} zu {new}" -#: FlatCAMObj.py:217 +#: FlatCAMObj.py:222 msgid "Offsetting..." msgstr "Aufrechnung ..." -#: FlatCAMObj.py:232 +#: FlatCAMObj.py:237 msgid "Scaling..." msgstr "Skalierung ..." -#: FlatCAMObj.py:248 +#: FlatCAMObj.py:253 msgid "Skewing..." msgstr "Verziehen..." -#: FlatCAMObj.py:587 FlatCAMObj.py:2251 FlatCAMObj.py:3533 FlatCAMObj.py:5776 +#: FlatCAMObj.py:600 FlatCAMObj.py:2291 FlatCAMObj.py:3569 FlatCAMObj.py:5835 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:600 FlatCAMObj.py:2267 FlatCAMObj.py:3555 FlatCAMObj.py:5782 +#: FlatCAMObj.py:613 FlatCAMObj.py:2307 FlatCAMObj.py:3591 FlatCAMObj.py:5841 msgid "Advanced" msgstr "Erweitert" -#: FlatCAMObj.py:1032 FlatCAMObj.py:1138 -msgid "[ERROR_NOTCL] Isolation geometry could not be generated." -msgstr "[ERROR_NOTCL] Isolationsgeometrie konnte nicht generiert werden." +#: FlatCAMObj.py:802 +msgid "Buffering solid geometry" +msgstr "Festkörpergeometrie puffern" -#: FlatCAMObj.py:1069 FlatCAMObj.py:3223 FlatCAMObj.py:3490 FlatCAMObj.py:3767 +#: FlatCAMObj.py:805 flatcamGUI/FlatCAMGUI.py:4322 +#: flatcamTools/ToolNonCopperClear.py:1531 +#: flatcamTools/ToolNonCopperClear.py:1625 +#: flatcamTools/ToolNonCopperClear.py:1637 +#: flatcamTools/ToolNonCopperClear.py:1864 +#: flatcamTools/ToolNonCopperClear.py:1956 +#: flatcamTools/ToolNonCopperClear.py:1968 +msgid "Buffering" +msgstr "Pufferung" + +#: FlatCAMObj.py:811 +msgid "Done" +msgstr "Gemacht" + +#: FlatCAMObj.py:1071 FlatCAMObj.py:1178 +#: flatcamTools/ToolNonCopperClear.py:1560 +#: flatcamTools/ToolNonCopperClear.py:1888 +msgid "Isolation geometry could not be generated." +msgstr "Isolationsgeometrie konnte nicht generiert werden." + +#: FlatCAMObj.py:1108 FlatCAMObj.py:3259 FlatCAMObj.py:3526 FlatCAMObj.py:3802 msgid "Rough" msgstr "Rau" -#: FlatCAMObj.py:1094 FlatCAMObj.py:1161 +#: FlatCAMObj.py:1133 FlatCAMObj.py:1201 msgid "Isolation geometry created" msgstr "Isolationsgeometrie erstellt" -#: FlatCAMObj.py:1346 +#: FlatCAMObj.py:1386 msgid "Plotting Apertures" msgstr "Plotten Apertures" -#: FlatCAMObj.py:2079 flatcamEditors/FlatCAMExcEditor.py:2292 +#: FlatCAMObj.py:2119 flatcamEditors/FlatCAMExcEditor.py:2292 msgid "Total Drills" msgstr "Bohrungen insgesamt" -#: FlatCAMObj.py:2111 flatcamEditors/FlatCAMExcEditor.py:2324 +#: FlatCAMObj.py:2151 flatcamEditors/FlatCAMExcEditor.py:2324 msgid "Total Slots" msgstr "Schlitz insgesamt" -#: FlatCAMObj.py:2325 FlatCAMObj.py:3605 FlatCAMObj.py:3895 FlatCAMObj.py:4082 -#: FlatCAMObj.py:4093 FlatCAMObj.py:4211 FlatCAMObj.py:4616 FlatCAMObj.py:4852 -#: FlatCAMObj.py:5342 flatcamEditors/FlatCAMExcEditor.py:2398 -msgid "[ERROR_NOTCL] Wrong value format entered, use a number." -msgstr "[ERROR_NOTCL] Falsches Wertformat eingegeben, eine Zahl verwenden." +#: FlatCAMObj.py:2365 FlatCAMObj.py:3642 FlatCAMObj.py:3936 FlatCAMObj.py:4127 +#: FlatCAMObj.py:4138 FlatCAMObj.py:4256 FlatCAMObj.py:4459 FlatCAMObj.py:4666 +#: FlatCAMObj.py:4905 FlatCAMObj.py:5403 flatcamTools/ToolCalculators.py:311 +#: flatcamTools/ToolCalculators.py:322 flatcamTools/ToolCalculators.py:334 +#: flatcamTools/ToolCalculators.py:349 flatcamTools/ToolCalculators.py:362 +#: flatcamTools/ToolCalculators.py:376 flatcamTools/ToolCalculators.py:387 +#: flatcamTools/ToolCalculators.py:398 flatcamTools/ToolCalculators.py:409 +#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolFilm.py:254 +#: flatcamTools/ToolNonCopperClear.py:862 +#: flatcamTools/ToolNonCopperClear.py:873 +#: flatcamTools/ToolNonCopperClear.py:883 +#: flatcamTools/ToolNonCopperClear.py:901 +#: flatcamTools/ToolNonCopperClear.py:980 +#: flatcamTools/ToolNonCopperClear.py:1062 +#: flatcamTools/ToolNonCopperClear.py:1341 +#: flatcamTools/ToolNonCopperClear.py:1371 flatcamTools/ToolPaint.py:697 +#: flatcamTools/ToolPaint.py:772 flatcamTools/ToolPaint.py:921 +#: flatcamTools/ToolPaint.py:975 flatcamTools/ToolPaint.py:1224 +#: flatcamTools/ToolPaint.py:1493 flatcamTools/ToolPaint.py:1963 +#: flatcamTools/ToolPanelize.py:397 flatcamTools/ToolPanelize.py:409 +#: flatcamTools/ToolPanelize.py:422 flatcamTools/ToolPanelize.py:435 +#: flatcamTools/ToolPanelize.py:447 flatcamTools/ToolPanelize.py:458 +#: flatcamTools/ToolSolderPaste.py:764 flatcamTools/ToolSolderPaste.py:839 +#: flatcamTools/ToolTransform.py:474 flatcamTools/ToolTransform.py:508 +#: flatcamTools/ToolTransform.py:526 flatcamTools/ToolTransform.py:544 +#: flatcamTools/ToolTransform.py:578 flatcamTools/ToolTransform.py:607 +#: flatcamTools/ToolTransform.py:625 +msgid "Wrong value format entered, use a number." +msgstr "Falsches Wertformat eingegeben, eine Zahl verwenden." -#: FlatCAMObj.py:2567 FlatCAMObj.py:2659 FlatCAMObj.py:2782 -msgid "" -"[ERROR_NOTCL] Please select one or more tools from the list and try again." +#: FlatCAMObj.py:2606 FlatCAMObj.py:2696 FlatCAMObj.py:2817 +msgid "Please select one or more tools from the list and try again." msgstr "" -"[ERROR_NOTCL] Bitte wählen Sie ein oder mehrere Werkzeuge aus der Liste aus " -"und versuchen Sie es erneut." +"Bitte wählen Sie ein oder mehrere Werkzeuge aus der Liste aus und versuchen " +"Sie es erneut." -#: FlatCAMObj.py:2574 -msgid "" -"[ERROR_NOTCL] Milling tool for DRILLS is larger than hole size. Cancelled." -msgstr "" -"[ERROR_NOTCL] Das Fräswerkzeug für BOHRER ist größer als die Lochgröße. " -"Abgebrochen." +#: FlatCAMObj.py:2612 +msgid "Milling tool for DRILLS is larger than hole size. Cancelled." +msgstr "Das Fräswerkzeug für BOHRER ist größer als die Lochgröße. Abgebrochen." -#: FlatCAMObj.py:2588 FlatCAMObj.py:2683 FlatCAMObj.py:2802 +#: FlatCAMObj.py:2625 FlatCAMObj.py:2718 FlatCAMObj.py:2836 msgid "Tool_nr" msgstr "Werkzeugnummer" -#: FlatCAMObj.py:2588 FlatCAMObj.py:2683 FlatCAMObj.py:2802 +#: FlatCAMObj.py:2625 FlatCAMObj.py:2718 FlatCAMObj.py:2836 #: flatcamEditors/FlatCAMExcEditor.py:1483 -#: flatcamEditors/FlatCAMExcEditor.py:3116 flatcamGUI/ObjectUI.py:604 +#: flatcamEditors/FlatCAMExcEditor.py:3116 flatcamGUI/ObjectUI.py:613 #: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 #: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81 msgid "Diameter" msgstr "Durchmesser" -#: FlatCAMObj.py:2588 FlatCAMObj.py:2683 FlatCAMObj.py:2802 +#: FlatCAMObj.py:2625 FlatCAMObj.py:2718 FlatCAMObj.py:2836 msgid "Drills_Nr" msgstr "Bohrnummer" -#: FlatCAMObj.py:2588 FlatCAMObj.py:2683 FlatCAMObj.py:2802 +#: FlatCAMObj.py:2625 FlatCAMObj.py:2718 FlatCAMObj.py:2836 msgid "Slots_Nr" msgstr "Schlitznummer" -#: FlatCAMObj.py:2669 -msgid "" -"[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." +#: FlatCAMObj.py:2705 +msgid "Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" -"[ERROR_NOTCL] Das Fräswerkzeug für SCHLITZ ist größer als die Lochgröße. " -"Abgebrochen." +"Das Fräswerkzeug für SCHLITZ ist größer als die Lochgröße. Abgebrochen." -#: FlatCAMObj.py:2843 FlatCAMObj.py:4509 FlatCAMObj.py:4725 FlatCAMObj.py:5042 +#: FlatCAMObj.py:2877 FlatCAMObj.py:4557 FlatCAMObj.py:4775 FlatCAMObj.py:5098 msgid "" -"[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." -"options[\"z_pdepth\"]" +"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth" +"\"]" msgstr "" -"[ERROR_NOTCL] Falsches Wertformat für self.defaults [\"z_pdepth\"] oder self." -"options [\"z_pdepth\"]" +"Falsches Wertformat für self.defaults [\"z_pdepth\"] oder self.options " +"[\"z_pdepth\"]" -#: FlatCAMObj.py:2853 FlatCAMObj.py:4519 FlatCAMObj.py:4735 FlatCAMObj.py:5052 +#: FlatCAMObj.py:2888 FlatCAMObj.py:4568 FlatCAMObj.py:5109 msgid "" -"[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " -"self.options[\"feedrate_probe\"]" +"Wrong value format for self.defaults[\"feedrate_probe\"] or self." +"options[\"feedrate_probe\"]" msgstr "" -"[ERROR_NOTCL] Falsches Wertformat für self.defaults [\"feedrate_probe\"] " -"oder self.options [\"feedrate_probe\"]" +"Falsches Wertformat für self.defaults [\"feedrate_probe\"] oder self.options " +"[\"feedrate_probe\"]" -#: FlatCAMObj.py:2883 FlatCAMObj.py:4932 FlatCAMObj.py:4937 FlatCAMObj.py:5085 +#: FlatCAMObj.py:2918 FlatCAMObj.py:4985 FlatCAMObj.py:4991 FlatCAMObj.py:5143 msgid "Generating CNC Code" msgstr "CNC-Code generieren" -#: FlatCAMObj.py:2909 FlatCAMObj.py:5302 camlib.py:5548 camlib.py:6499 +#: FlatCAMObj.py:2944 camlib.py:5649 camlib.py:6623 msgid "" -"[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " -"format (x, y) \n" +"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 "" -"[ERROR] Das Feld X, Y des Werkzeugwechsels in Bearbeiten -> Voreinstellungen " -"muss das Format (x, y) haben.\n" -"Aber jetzt gibt es nur einen Wert, nicht zwei. " +"Das Werkzeugwechsel X, Y Feld in Bearbeiten -> Einstellungen muss im Format " +"(x, y) sein\n" +"Aber jetzt gibt es nur einen Wert, nicht zwei." -#: FlatCAMObj.py:3223 FlatCAMObj.py:4134 FlatCAMObj.py:4135 FlatCAMObj.py:4144 +#: FlatCAMObj.py:3259 FlatCAMObj.py:4178 FlatCAMObj.py:4179 FlatCAMObj.py:4188 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:3223 +#: FlatCAMObj.py:3259 msgid "Finish" msgstr "Oberfläche" -#: FlatCAMObj.py:3526 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 +#: FlatCAMObj.py:3562 flatcamGUI/FlatCAMGUI.py:544 flatcamGUI/FlatCAMGUI.py:746 #: flatcamGUI/FlatCAMGUI.py:1718 flatcamGUI/FlatCAMGUI.py:2092 -#: flatcamGUI/ObjectUI.py:1052 +#: flatcamGUI/ObjectUI.py:1061 msgid "Copy" msgstr "Kopieren" -#: FlatCAMObj.py:3737 -msgid "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." +#: FlatCAMObj.py:3773 +msgid "Please enter the desired tool diameter in Float format." msgstr "" -"[ERROR_NOTCL] Bitte geben Sie den gewünschten Werkzeugdurchmesser im Real-" -"Format ein." +"Bitte geben Sie den gewünschten Werkzeugdurchmesser im Real-Format ein." -#: FlatCAMObj.py:3811 -msgid "[success] Tool added in Tool Table." -msgstr "[success] Werkzeug in der Werkzeugtabelle hinzugefügt." +#: FlatCAMObj.py:3847 +msgid "Tool added in Tool Table." +msgstr "Werkzeug in der Werkzeugtabelle hinzugefügt." -#: FlatCAMObj.py:3814 -msgid "[WARNING_NOTCL] Default Tool added. Wrong value format entered." -msgstr "" -"[WARNING_NOTCL] Standardwerkzeug hinzugefügt Falsches Wertformat eingegeben." +#: FlatCAMObj.py:3851 +msgid "Default Tool added. Wrong value format entered." +msgstr "Standardwerkzeug hinzugefügt Falsches Wertformat eingegeben." -#: FlatCAMObj.py:3846 FlatCAMObj.py:3854 -msgid "[WARNING_NOTCL] Failed. Select a tool to copy." -msgstr "" -"[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Kopieren aus." +#: FlatCAMObj.py:3884 FlatCAMObj.py:3893 +msgid "Failed. Select a tool to copy." +msgstr "Fehlgeschlagen. Wählen Sie ein Werkzeug zum Kopieren aus." -#: FlatCAMObj.py:3881 -msgid "[success] Tool was copied in Tool Table." -msgstr "[success] Das Werkzeug wurde in die Werkzeugtabelle kopiert." +#: FlatCAMObj.py:3921 +msgid "Tool was copied in Tool Table." +msgstr "Das Werkzeug wurde in die Werkzeugtabelle kopiert." -#: FlatCAMObj.py:3910 -msgid "[success] Tool was edited in Tool Table." -msgstr "[success] Das Werkzeug wurde in der Werkzeugtabelle bearbeitet." +#: FlatCAMObj.py:3951 +msgid "Tool was edited in Tool Table." +msgstr "Das Werkzeug wurde in der Werkzeugtabelle bearbeitet." -#: FlatCAMObj.py:3938 FlatCAMObj.py:3946 -msgid "[WARNING_NOTCL] Failed. Select a tool to delete." -msgstr "" -"[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen aus." +#: FlatCAMObj.py:3980 FlatCAMObj.py:3989 +msgid "Failed. Select a tool to delete." +msgstr "Gescheitert. Wählen Sie ein Werkzeug zum Löschen aus." -#: FlatCAMObj.py:3968 -msgid "[success] Tool was deleted in Tool Table." -msgstr "[success] Werkzeug wurde in der Werkzeugtabelle gelöscht." +#: FlatCAMObj.py:4012 +msgid "Tool was deleted in Tool Table." +msgstr "Werkzeug wurde in der Werkzeugtabelle gelöscht." -#: FlatCAMObj.py:4397 +#: FlatCAMObj.py:4442 #, python-format +msgid "This Geometry can't be processed because it is %s geometry." +msgstr "" +"Diese Geometrie kann nicht verarbeitet werden, da es sich um %s Geometrie " +"handelt." + +#: FlatCAMObj.py:4484 +msgid "Failed. No tool selected in the tool table ..." +msgstr "Gescheitert. Kein Werkzeug in der Werkzeugtabelle ausgewählt ..." + +#: FlatCAMObj.py:4522 +msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->" +msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->" + +#: FlatCAMObj.py:4671 FlatCAMObj.py:4911 msgid "" -"[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." -msgstr "" -"[WARNING_NOTCL] Diese Geometrie kann nicht verarbeitet werden, da es sich um " -"%s Geometrie handelt." - -#: FlatCAMObj.py:4413 -msgid "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." -msgstr "" -"[ERROR_NOTCL] Falsches Werkzeug Dia-Wertformat eingegeben, verwenden Sie " -"eine Zahl." - -#: FlatCAMObj.py:4438 -msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." -msgstr "" -"[ERROR_NOTCL] Gescheitert. Kein Werkzeug in der Werkzeugtabelle " -"ausgewählt ..." - -#: FlatCAMObj.py:4475 -#, python-format -msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" - -#: FlatCAMObj.py:4622 FlatCAMObj.py:4858 -msgid "" -"[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" +"Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." msgstr "" -"[WARNING] Werkzeugversatz ist in der Werkzeugtabelle ausgewählt, es wird " -"jedoch kein Wert angegeben.\n" +"Werkzeugversatz ist in der Werkzeugtabelle ausgewählt, es wird jedoch kein " +"Wert angegeben.\n" "Fügen Sie einen Werkzeugversatz hinzu oder ändern Sie den Versatztyp." -#: FlatCAMObj.py:4673 FlatCAMObj.py:4899 +#: FlatCAMObj.py:4722 FlatCAMObj.py:4952 msgid "G-Code parsing in progress..." msgstr "G-Code-Analyse läuft ..." -#: FlatCAMObj.py:4675 FlatCAMObj.py:4901 +#: FlatCAMObj.py:4724 FlatCAMObj.py:4954 msgid "G-Code parsing finished..." msgstr "G-Code-Analyse beendet ..." -#: FlatCAMObj.py:4683 FlatCAMObj.py:4911 +#: FlatCAMObj.py:4732 FlatCAMObj.py:4964 FlatCAMObj.py:5136 msgid "Finished G-Code processing..." msgstr "Fertige G-Code Verarbeitung ..." -#: FlatCAMObj.py:4685 FlatCAMObj.py:4913 +#: FlatCAMObj.py:4734 FlatCAMObj.py:4966 #, python-format msgid "G-Code processing failed with error: %s" msgstr "G-Code-Verarbeitung fehlgeschlagen mit Fehler: %s" -#: FlatCAMObj.py:4745 -msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." -msgstr "[ERROR_NOTCL] Abgebrochen. Leere Datei, es hat keine Geometrie ..." - -#: FlatCAMObj.py:5078 -#| msgid "[success] Panel done..." -msgid "[success] Finished G-Code processing..." -msgstr "[success] Fertige G-Code Verarbeitung ..." - -#: FlatCAMObj.py:5119 FlatCAMObj.py:5128 -msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." +#: FlatCAMObj.py:4786 +msgid "" +" Wrong value format for self.defaults[\"feedrate_probe\"] or self." +"options[\"feedrate_probe\"]" msgstr "" -"[ERROR_NOTCL] Der Skalierungsfaktor muss eine Zahl sein: Ganzzahl oder " -"Fließkommazahl." +"Falsches Wertformat für self.defaults [\"feedrate_probe\"] oder self.options " +"[\"feedrate_probe\"]" -#: FlatCAMObj.py:5202 +#: FlatCAMObj.py:4797 flatcamTools/ToolSolderPaste.py:1187 +msgid "Cancelled. Empty file, it has no geometry" +msgstr "Abgebrochen. Leere Datei hat keine Geometrie ..." + +#: FlatCAMObj.py:4988 FlatCAMObj.py:4994 FlatCAMObj.py:5146 +msgid "CNCjob created" +msgstr "CNCjob erstellt" + +#: FlatCAMObj.py:5178 FlatCAMObj.py:5188 camlib.py:3572 camlib.py:3582 +msgid "Scale factor has to be a number: integer or float." +msgstr "" +"Der Skalierungsfaktor muss eine Zahl sein: Ganzzahl oder Fließkommazahl." + +#: FlatCAMObj.py:5262 msgid "Geometry Scale done." msgstr "Geometrie Skalierung fertig." -#: FlatCAMObj.py:5219 +#: FlatCAMObj.py:5279 camlib.py:3676 msgid "" -"[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " -"one value in the Offset field." +"An (x,y) pair of values are needed. Probable you entered only one value in " +"the Offset field." msgstr "" -"[ERROR_NOTCL] Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben Sie " -"im Feld Offset nur einen Wert eingegeben." +"Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben Sie im Feld Offset " +"nur einen Wert eingegeben." -#: FlatCAMObj.py:5273 +#: FlatCAMObj.py:5333 msgid "Geometry Offset done." msgstr "Geometrie Offset fertig." -#: FlatCAMObj.py:5844 FlatCAMObj.py:5849 flatcamTools/ToolSolderPaste.py:1393 +#: FlatCAMObj.py:5362 +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 "" +"Das Werkzeugwechsel X, Y Feld in Bearbeiten -> Einstellungen muss im Format " +"(x, y) sein\n" +"Aber jetzt gibt es nur einen Wert, nicht zwei." + +#: FlatCAMObj.py:5903 FlatCAMObj.py:5908 flatcamTools/ToolSolderPaste.py:1393 msgid "Export Machine Code ..." msgstr "Maschinencode exportieren ..." -#: FlatCAMObj.py:5855 -msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." -msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." +#: FlatCAMObj.py:5914 flatcamTools/ToolSolderPaste.py:1397 +msgid "Export Machine Code cancelled ..." +msgstr "Maschinencode exportieren abgebrochen ..." -#: FlatCAMObj.py:5872 -#, python-format -msgid "[success] Machine Code file saved to: %s" -msgstr "[success] Maschinencode-Datei gespeichert in: %s" +#: FlatCAMObj.py:5932 +msgid "Machine Code file saved to" +msgstr "Maschinencode-Datei gespeichert in" -#: FlatCAMObj.py:5895 -#, python-format -msgid "[ERROR] FlatCAMCNNJob.on_edit_code_click() -->%s" -msgstr "[ERROR] FlatCAMCNNJob.on_edit_code_click() -->%s" +#: FlatCAMObj.py:5956 +msgid "FlatCAMCNNJob.on_edit_code_click() -->" +msgstr "[ERROR] FlatCAMCNNJob.on_edit_code_click() -->" -#: FlatCAMObj.py:5902 -msgid "[success] Loaded Machine Code into Code Editor ..." -msgstr "[success] Maschinencode in den Code-Editor geladen ..." +#: FlatCAMObj.py:5964 +msgid "Loaded Machine Code into Code Editor" +msgstr "Maschinencode in den Code-Editor geladen" -#: FlatCAMObj.py:6013 -#, python-format -msgid "" -"[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " -"CNCJob object." -msgstr "" -"[WARNING_NOTCL] Dieses CNC-Auftrag Objekt kann nicht verarbeitet werden, da " -"es sich um ein %s CNC-Auftrag Objekt handelt." +#: FlatCAMObj.py:6076 +msgid "This CNCJob object can't be processed because it is a" +msgstr "Dieses CNCJob-Objekt kann nicht verarbeitet werden, da es sich um ein" -#: FlatCAMObj.py:6066 -msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" -msgstr "[ERROR_NOTCL] G-Code hat keinen Einheitencode: entweder G20 oder G21" +#: FlatCAMObj.py:6078 +msgid "CNCJob object" +msgstr "CNCJob-Objekt" -#: FlatCAMObj.py:6079 -msgid "" -"[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " -"empty." -msgstr "" -"[ERROR_NOTCL] Abgebrochen. Der benutzerdefinierte Code zum Ändern des " -"Werkzeugs ist aktiviert, aber er ist leer." - -#: FlatCAMObj.py:6086 -msgid "[success] Toolchange G-code was replaced by a custom code." -msgstr "" -"[success] Der Werkzeugwechsel-G-Code wurde durch einen benutzerdefinierten " -"Code ersetzt." - -#: FlatCAMObj.py:6100 -msgid "[WARNING_NOTCL] No such file or directory" -msgstr "[WARNING_NOTCL] Keine solche Datei oder Ordner" - -#: FlatCAMObj.py:6124 FlatCAMObj.py:6136 -msgid "" -"[WARNING_NOTCL] The used postprocessor file has to have in it's name: " -"'toolchange_custom'" -msgstr "" -"[WARNING_NOTCL] Die verwendete Postprozessor-Datei muss im Namen enthalten " -"sein: 'toolchange_custom'" +#: FlatCAMObj.py:6130 +msgid "G-code does not have a units code: either G20 or G21" +msgstr "G-Code hat keinen Einheitencode: entweder G20 oder G21" #: FlatCAMObj.py:6142 -msgid "[ERROR] There is no postprocessor file." -msgstr "[ERROR] Es gibt keine Postprozessor-Datei." +msgid "Cancelled. The Toolchange Custom code is enabled but it's empty." +msgstr "" +"Abgebrochen. Der benutzerdefinierte Code zum Ändern des Werkzeugs ist " +"aktiviert, aber er ist leer." + +#: FlatCAMObj.py:6148 +msgid "Toolchange G-code was replaced by a custom code." +msgstr "" +"Der Werkzeugwechsel-G-Code wurde durch einen benutzerdefinierten Code " +"ersetzt." + +#: FlatCAMObj.py:6175 +msgid "Saved to" +msgstr "Gespeichert in" + +#: FlatCAMObj.py:6185 FlatCAMObj.py:6195 +msgid "" +"The used postprocessor file has to have in it's name: 'toolchange_custom'" +msgstr "" +"Die verwendete Postprozessor-Datei muss im Namen enthalten sein: " +"'toolchange_custom'" + +#: FlatCAMObj.py:6199 +msgid "There is no postprocessor file." +msgstr "Es gibt keine Postprozessor-Datei." #: FlatCAMProcess.py:172 msgid "processes running." @@ -1789,202 +1744,204 @@ msgstr "Sprache anwenden ..." msgid "Object renamed from {old} to {new}" msgstr "Objekt umbenannt von {old} zu {new}" -#: ObjectCollection.py:765 -#, python-format -msgid "[ERROR] Cause of error: %s" -msgstr "[ERROR] Fehlerursache: %s" +#: ObjectCollection.py:766 +msgid "Cause of error" +msgstr "Fehlerursache" -#: camlib.py:202 -msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." -msgstr "" -"[ERROR_NOTCL] self.solid_geometry ist weder BaseGeometry noch eine Liste." +#: camlib.py:215 +msgid "self.solid_geometry is neither BaseGeometry or list." +msgstr "self.solid_geometry ist weder BaseGeometry noch eine Liste." -#: camlib.py:1456 -msgid "[success] Object was mirrored ..." -msgstr "[success] Objekt wurde gespiegelt ..." +#: camlib.py:1522 +msgid "Object was mirrored" +msgstr "Objekt wurde gespiegelt" -#: camlib.py:1458 -msgid "[ERROR_NOTCL] Failed to mirror. No object selected" -msgstr "[ERROR_NOTCL] Spiegelung fehlgeschlagen Kein Objekt ausgewählt" +#: camlib.py:1525 +msgid "Failed to mirror. No object selected" +msgstr "Spiegelung fehlgeschlagen Kein Objekt ausgewählt" -#: camlib.py:1526 -msgid "[success] Object was rotated ..." -msgstr "[success] Objekt wurde gedreht ..." - -#: camlib.py:1528 -msgid "[ERROR_NOTCL] Failed to rotate. No object selected" -msgstr "[ERROR_NOTCL] Fehler beim Drehen. Kein Objekt ausgewählt" - -#: camlib.py:1595 -msgid "[success] Object was skewed ..." -msgstr "[success] Objekt war schief ..." +#: camlib.py:1594 +msgid "Object was rotated" +msgstr "Objekt wurde gedreht" #: camlib.py:1597 -msgid "[ERROR_NOTCL] Failed to skew. No object selected" -msgstr "[ERROR_NOTCL] Fehler beim Neigen Kein Objekt ausgewählt" +msgid "Failed to rotate. No object selected" +msgstr " Fehler beim Drehen. Kein Objekt ausgewählt" -#: camlib.py:2868 camlib.py:2953 -#, python-format -msgid "[WARNING] Coordinates missing, line ignored: %s" -msgstr "[WARNING] Koordinaten fehlen, Zeile wird ignoriert: %s" +#: camlib.py:1665 +msgid "Object was skewed" +msgstr "Objekt war schief ..." -#: camlib.py:2869 camlib.py:2954 -msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" -msgstr "" -"[WARNING_NOTCL] Die GERBER-Datei könnte CORRUPT sein. Überprüfen Sie die " -"Datei !!!" +#: camlib.py:1668 +msgid "Failed to skew. No object selected" +msgstr "Fehler beim Neigen Kein Objekt ausgewählt" -#: camlib.py:2918 -#, python-format +#: camlib.py:2443 +msgid "Gerber processing. Parsing" +msgstr "Gerber-Verarbeitung. Parsing" + +#: camlib.py:2443 +msgid "lines" +msgstr "Linien" + +#: camlib.py:2942 camlib.py:3030 +msgid "Coordinates missing, line ignored" +msgstr "Koordinaten fehlen, Zeile wird ignoriert" + +#: camlib.py:2944 camlib.py:3032 +msgid "GERBER file might be CORRUPT. Check the file !!!" +msgstr "Die GERBER-Datei könnte CORRUPT sein. Überprüfen Sie die Datei !!!" + +#: camlib.py:2994 msgid "" -"[ERROR] Region does not have enough points. File will be processed but there " -"are parser errors. Line number: %s" +"Region does not have enough points. File will be processed but there are " +"parser errors. Line number" msgstr "" -"[ERROR] Region hat nicht genug Punkte. Die Datei wird verarbeitet, es treten " -"jedoch Parserfehler auf. Linien Nummer: %s" +"Region hat nicht genug Punkte. Die Datei wird verarbeitet, es treten jedoch " +"Parserfehler auf. Linien Nummer" -#: camlib.py:3310 -#, python-format -msgid "" -"[ERROR]Gerber Parser ERROR.\n" -"%s:" -msgstr "" -"[ERROR] Gerber Parser ERROR.\n" -"%s:" +#: camlib.py:3364 +msgid "Gerber processing. Joining" +msgstr "Gerber-Verarbeitung. Beitreten" -#: camlib.py:3490 camlib.py:3500 -msgid "Scale factor has to be a number: integer or float." -msgstr "" -"Der Skalierungsfaktor muss eine Zahl sein: Ganzzahl oder Fließkommazahl." +#: camlib.py:3364 +msgid "polygons" +msgstr "Polygone" -#: camlib.py:3557 +#: camlib.py:3390 +msgid "Gerber Line" +msgstr "Gerber Linie" + +#: camlib.py:3390 +msgid "Gerber Line Content" +msgstr "Gerber-Zeileninhalt" + +#: camlib.py:3392 +msgid "Gerber Parser ERROR" +msgstr "Gerber-Parser FEHLER" + +#: camlib.py:3640 msgid "Gerber Scale done." msgstr "Gerber-Skalierung erfolgt." -#: camlib.py:3593 -msgid "" -"An (x,y) pair of values are needed. Probable you entered only one value in " -"the Offset field." -msgstr "" -"Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben Sie im Feld Offset " -"nur einen Wert eingegeben." - -#: camlib.py:3646 +#: camlib.py:3730 msgid "Gerber Offset done." msgstr "Gerber Offset fertig." -#: camlib.py:3722 +#: camlib.py:3807 msgid "Gerber Mirror done." msgstr "Gerber Spiegel fertig." -#: camlib.py:3790 +#: camlib.py:3876 msgid "Gerber Skew done." msgstr "Gerber-Versatz fertig." -#: camlib.py:3850 +#: camlib.py:3937 msgid "Gerber Rotate done." msgstr "Gerber drehen fertig." -#: camlib.py:4136 -#, python-format -msgid "[ERROR_NOTCL] This is GCODE mark: %s" -msgstr "[ERROR_NOTCL] Dies ist die GCODE-Marke: %s" +#: camlib.py:4224 +msgid "This is GCODE mark" +msgstr "Dies ist die GCODE-Marke" -#: camlib.py:4251 -#, python-format +#: camlib.py:4340 msgid "" -"[WARNING] No tool diameter info's. See shell.\n" -"A tool change event: T%s was found but the Excellon file have no " -"informations regarding the tool diameters therefore the application will try " -"to load it by using some 'fake' diameters.\n" +"No tool diameter info's. See shell.\n" +"A tool change event: T" +msgstr "" +"Keine Angaben zum Werkzeugdurchmesser. Siehe Shell.\n" +"Ein Werkzeugwechselereignis: T" + +#: camlib.py:4343 +msgid "" +"was found but the Excellon file have no informations regarding the tool " +"diameters therefore the application will try to load it by using some 'fake' " +"diameters.\n" "The user needs to edit the resulting Excellon object and change the " "diameters to reflect the real diameters." msgstr "" -"[WARNING] Keine Informationen zum Werkzeugdurchmesser. Siehe Shell.\n" -"Ein Werkzeugwechselereignis: T% s wurde gefunden, die Excellon-Datei enthält " -"jedoch keine Informationen zu den Werkzeugdurchmessern. Daher versucht die " -"Anwendung, sie mithilfe einiger 'gefälschter' Durchmesser zu laden.\n" +"wurde gefunden, aber die Excellon-Datei enthält keine Informationen zu den " +"Werkzeugdurchmessern. Daher wird die Anwendung versuchen, diese mit Hilfe " +"einiger gefälschter Durchmesser zu laden.\n" "Der Benutzer muss das resultierende Excellon-Objekt bearbeiten und die " -"Durchmesser ändern, um die tatsächlichen Durchmesser widerzuspiegeln." +"Durchmesser so ändern, dass sie den tatsächlichen Durchmessern entsprechen." -#: camlib.py:4704 +#: camlib.py:4798 #, python-brace-format +#| msgid "" +#| "[ERROR] Excellon Parser error.\n" +#| "Parsing Failed. Line {l_nr}: {line}\n" msgid "" -"[ERROR] Excellon Parser error.\n" +"{e_code} Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" msgstr "" -"[ERROR] Fehler beim Excellon-Parser.\n" -"Parsing fehlgeschlagen. Zeile {l_nr}: {line}\n" +"{e_code} Excellon-Parser-Fehler.\n" +"Analyse fehlgeschlagen. Linie {l_nr}: {line}\n" -#: camlib.py:4784 +#: camlib.py:4881 msgid "" -"[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " -"not having a tool associated.\n" +"Excellon.create_geometry() -> a drill location was skipped due of not having " +"a tool associated.\n" "Check the resulting GCode." msgstr "" -"[WARNING] Excellon.create_geometry () -> Eine Bohrstelle wurde übersprungen, " -"da kein Werkzeug zugeordnet wurde.\n" +"Excellon.create_geometry () -> Eine Bohrposition wurde übersprungen, da kein " +"Werkzeug zugeordnet ist.\n" "Überprüfen Sie den resultierenden GCode." -#: camlib.py:5457 -#, python-format -msgid "[ERROR] There is no such parameter: %s" -msgstr "[ERROR] Es gibt keinen solchen Parameter: %s" +#: camlib.py:5555 +msgid "There is no such parameter" +msgstr "Es gibt keinen solchen Parameter" -#: camlib.py:5527 +#: camlib.py:5626 msgid "" -"[WARNING] The Cut Z parameter has positive value. It is the depth value to " -"drill into material.\n" +"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 "" -"[WARNING] Der Parameter Cut Z hat einen positiven Wert. Dies ist der " -"Tiefenwert zum Bohren in Material.\n" +"Der Parameter Cut Z hat einen positiven Wert. Dies ist der Tiefenwert zum " +"Bohren in Material.\n" "Der Parameter Cut Z muss einen negativen Wert haben, vorausgesetzt, es " "handelt sich um einen Tippfehler, daher konvertiert die App den Wert in " "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5534 camlib.py:6195 camlib.py:6522 -#, python-format -msgid "" -"[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" +#: camlib.py:5634 camlib.py:6307 camlib.py:6649 +msgid "The Cut Z parameter is zero. There will be no cut, skipping file" msgstr "" -"[WARNING] Der Parameter Cut Z ist Null. Es wird kein Schnitt ausgeführt, da " -"die %s Datei übersprungen wird" +"Der Parameter Cut Z ist Null. Es wird kein Schnitt ausgeführt, und die Datei " +"wird übersprungen" -#: camlib.py:5585 +#: camlib.py:5686 msgid "Creating a list of points to drill..." msgstr "Erstellen einer Liste von Punkten zum Bohren ..." -#: camlib.py:5667 +#: camlib.py:5769 msgid "Starting G-Code" msgstr "G-Code starten" -#: camlib.py:5763 camlib.py:5907 camlib.py:6010 camlib.py:6301 camlib.py:6628 +#: camlib.py:5865 camlib.py:6011 camlib.py:6117 camlib.py:6416 camlib.py:6758 msgid "Starting G-Code for tool with diameter" msgstr "Start-G-Code für Werkzeug mit Durchmesser" -#: camlib.py:5819 camlib.py:5963 camlib.py:6067 camlib.py:7278 camlib.py:7555 -#: camlib.py:7657 camlib.py:7703 -#| msgid "[ERROR_NOTCL] Grid Value does not exist ..." -msgid "[ERROR_NOTCL] G91 coordinates not implemented ..." -msgstr "[ERROR_NOTCL] G91 Koordinaten nicht implementiert ..." +#: camlib.py:5922 camlib.py:6068 camlib.py:6175 +msgid "G91 coordinates not implemented" +msgstr "G91 Koordinaten nicht implementiert ..." -#: camlib.py:5824 camlib.py:5968 camlib.py:6072 -msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." -msgstr "[ERROR_NOTCL] Die geladene Excellon-Datei hat keine Bohrer ..." +#: camlib.py:5928 camlib.py:6074 camlib.py:6181 +msgid "The loaded Excellon file has no drills" +msgstr "Die geladene Excellon-Datei hat keine Bohrer ..." -#: camlib.py:5973 -msgid "[ERROR_NOTCL] Wrong optimization type selected." -msgstr "[ERROR_NOTCL] Falscher Optimierungstyp ausgewählt." +#: camlib.py:6080 +msgid "Wrong optimization type selected." +msgstr "Falscher Optimierungstyp ausgewählt." -#: camlib.py:6094 +#: camlib.py:6203 msgid "Finished G-Code generation..." msgstr "Fertige G-Code-Generierung ..." -#: camlib.py:6171 +#: camlib.py:6280 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y) \n" @@ -1994,101 +1951,104 @@ msgstr "" "das Format (x, y) haben.\n" "Aber jetzt gibt es nur einen Wert, nicht zwei." -#: camlib.py:6183 camlib.py:6510 +#: camlib.py:6293 camlib.py:6635 msgid "" -"[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " -"combinations of other parameters." +"Cut_Z parameter is None or zero. Most likely a bad combinations of other " +"parameters." msgstr "" -"[ERROR_NOTCL] Der Parameter Cut_Z ist None oder Null. Höchstwahrscheinlich " -"eine schlechte Kombination anderer Parameter." +"Der Parameter Cut_Z ist None oder Null. Höchstwahrscheinlich eine schlechte " +"Kombination anderer Parameter." -#: camlib.py:6188 camlib.py:6515 +#: camlib.py:6299 camlib.py:6641 msgid "" -"[WARNING] The Cut Z parameter has positive value. It is the depth value to " -"cut into material.\n" +"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 "" -"[WARNING] Der Parameter Cut Z hat einen positiven Wert. Es ist der " -"Tiefenwert zum Schneiden in Material.\n" +"Der Parameter Cut Z hat einen positiven Wert. Es ist der Tiefenwert zum " +"Schneiden in Material.\n" "Der Parameter Cut Z muss einen negativen Wert haben, vorausgesetzt es " "handelt sich um einen Tippfehler, daher konvertiert die App den Wert in " "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:6204 camlib.py:6527 -msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." -msgstr "[ERROR_NOTCL] Der Parameter für den Travel Z ist Kein oder Null." +#: camlib.py:6317 camlib.py:6655 +msgid "Travel Z parameter is None or zero." +msgstr "Der Parameter für den Travel Z ist Kein oder Null." -#: camlib.py:6208 camlib.py:6531 +#: camlib.py:6322 camlib.py:6660 msgid "" -"[WARNING] The Travel Z parameter has negative value. It is the height value " -"to travel between cuts.\n" +"The Travel Z parameter has negative value. It is the height value to travel " +"between cuts.\n" "The Z Travel parameter needs to have a positive value, assuming it is a typo " "therefore the app will convert the value to positive.Check the resulting CNC " "code (Gcode etc)." msgstr "" -"[WARNING] Der Parameter Travel Z hat einen negativen Wert. Dies ist der " -"Höhenwert zwischen den Schnitten.\n" +"Der Parameter Travel Z hat einen negativen Wert. Dies ist der Höhenwert " +"zwischen den Schnitten.\n" "Der Parameter Z Travel muss einen positiven Wert haben. Wenn es sich um " "einen Tippfehler handelt, konvertiert die App den Wert in einen positiven " "Wert. Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:6215 camlib.py:6538 -#, python-format -msgid "" -"[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" +#: camlib.py:6330 camlib.py:6668 +msgid "The Z Travel parameter is zero. This is dangerous, skipping file" msgstr "" -"[WARNING] Der Parameter Z-Weg ist Null. Dies ist gefährlich, da die %s Datei " +"Der Parameter Z-Weg ist Null. Dies ist gefährlich, da die %s Datei " "übersprungen wird" -#: camlib.py:6230 camlib.py:6557 +#: camlib.py:6345 camlib.py:6687 msgid "Indexing geometry before generating G-Code..." msgstr "Indizierung der Geometrie vor dem Generieren von G-Code ..." -#: camlib.py:6284 camlib.py:6614 +#: camlib.py:6399 camlib.py:6744 msgid "Starting G-Code..." msgstr "G-Code wird gestartet ..." -#: camlib.py:6370 camlib.py:6697 -#, python-format -msgid "Finished G-Code generation... %s paths traced." -msgstr "G-Code-Generierung abgeschlossen … %s Pfade verfolgt." +#: camlib.py:6486 camlib.py:6828 +msgid "Finished G-Code generation" +msgstr "Fertige G-Code-Generierung" -#: camlib.py:6402 -#, python-format -msgid "[ERROR]Expected a Geometry, got %s" -msgstr "[ERROR] Eine Geometrie erwartet,%s erhalten" +#: camlib.py:6488 +msgid "paths traced" +msgstr "Pfade verfolgt" -#: camlib.py:6408 +#: camlib.py:6523 +msgid "Expected a Geometry, got" +msgstr "Erwartet eine Geometrie, erhalten" + +#: camlib.py:6530 msgid "" -"[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " -"solid_geometry." +"Trying to generate a CNC Job from a Geometry object without solid_geometry." msgstr "" -"[ERROR_NOTCL] Der Versuch, einen CNC-Auftrag aus einem Geometrieobjekt ohne " -"solid_geometry zu generieren." +"Der Versuch, einen CNC-Auftrag aus einem Geometrieobjekt ohne solid_geometry " +"zu generieren." -#: camlib.py:6447 -msgid "" -"[ERROR_NOTCL] The Tool Offset value is too negative to use for the " -"current_geometry.\n" -"Raise the value (in module) and try again." -msgstr "" -"[ERROR_NOTCL] Der Werkzeugkorrekturwert ist zu negativ, um ihn für " -"current_geometry zu verwenden.\n" -"Erhöhen Sie den Wert (im Modul) und versuchen Sie es erneut." - -#: camlib.py:6723 -msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." -msgstr "" -"[ERROR_NOTCL] In der SolderPaste-Geometrie sind keine Werkzeugdaten " -"vorhanden." - -#: camlib.py:6809 +#: camlib.py:6569 #, python-format -msgid "Finished SolderPste G-Code generation... %s paths traced." -msgstr "Fertige SolderPste-G-Code-Generierung … %s Pfade verfolgt." +msgid "[ERROR_NOTCL] %s" +msgstr "[ERROR_NOTCL] %s" + +#: camlib.py:6830 +msgid " paths traced." +msgstr " Pfade verfolgt." + +#: camlib.py:6859 +msgid "There is no tool data in the SolderPaste geometry." +msgstr "In der SolderPaste-Geometrie sind keine Werkzeugdaten vorhanden." + +#: camlib.py:6946 +msgid "Finished SolderPste G-Code generation" +msgstr "Fertige G-Code-Generierung" + +#: camlib.py:6948 +msgid "paths traced." +msgstr "paths traced." + +#: camlib.py:7421 camlib.py:7699 camlib.py:7802 camlib.py:7849 +msgid "G91 coordinates not implemented ..." +msgstr "G91 Koordinaten nicht implementiert ..." #: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 #: flatcamEditors/FlatCAMExcEditor.py:150 @@ -2236,7 +2196,7 @@ msgstr "[success] Erledigt. Bohrer Bewegen abgeschlossen." msgid "[success] Done. Drill(s) copied." msgstr "[success] Erledigt. Bohrer kopiert." -#: flatcamEditors/FlatCAMExcEditor.py:1456 flatcamGUI/FlatCAMGUI.py:5496 +#: flatcamEditors/FlatCAMExcEditor.py:1456 flatcamGUI/FlatCAMGUI.py:5510 msgid "Excellon Editor" msgstr "Excellon Editor" @@ -2245,13 +2205,13 @@ msgstr "Excellon Editor" msgid "Name:" msgstr "Name:" -#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:584 -#: flatcamGUI/ObjectUI.py:910 flatcamTools/ToolNonCopperClear.py:96 +#: flatcamEditors/FlatCAMExcEditor.py:1469 flatcamGUI/ObjectUI.py:593 +#: flatcamGUI/ObjectUI.py:919 flatcamTools/ToolNonCopperClear.py:96 #: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70 msgid "Tools Table" msgstr "Werkzeugtabelle" -#: flatcamEditors/FlatCAMExcEditor.py:1471 flatcamGUI/ObjectUI.py:586 +#: flatcamEditors/FlatCAMExcEditor.py:1471 flatcamGUI/ObjectUI.py:595 msgid "" "Tools in this Excellon object\n" "when are used for drilling." @@ -2271,13 +2231,13 @@ msgstr "" "Werkzeug zur Werkzeugliste hinzufügen / löschen\n" "für dieses Excellon-Objekt." -#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/ObjectUI.py:1028 +#: flatcamEditors/FlatCAMExcEditor.py:1501 flatcamGUI/ObjectUI.py:1037 #: flatcamTools/ToolNonCopperClear.py:212 flatcamTools/ToolPaint.py:162 msgid "Tool Dia" msgstr "Werkzeugdurchm" -#: flatcamEditors/FlatCAMExcEditor.py:1503 flatcamGUI/FlatCAMGUI.py:5525 -#: flatcamGUI/ObjectUI.py:1031 +#: flatcamEditors/FlatCAMExcEditor.py:1503 flatcamGUI/FlatCAMGUI.py:5539 +#: flatcamGUI/ObjectUI.py:1040 msgid "Diameter for the new tool" msgstr "Durchmesser für das neue Werkzeug" @@ -2354,16 +2314,16 @@ msgstr "Linear" #: flatcamEditors/FlatCAMExcEditor.py:1603 #: flatcamEditors/FlatCAMExcEditor.py:1805 -#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:6446 +#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:6460 #: flatcamTools/ToolNonCopperClear.py:203 msgid "Circular" msgstr "Kreisförmig" -#: flatcamEditors/FlatCAMExcEditor.py:1611 flatcamGUI/FlatCAMGUI.py:5535 +#: flatcamEditors/FlatCAMExcEditor.py:1611 flatcamGUI/FlatCAMGUI.py:5549 msgid "Nr of drills" msgstr "Anzahl der Bohrer" -#: flatcamEditors/FlatCAMExcEditor.py:1612 flatcamGUI/FlatCAMGUI.py:5537 +#: flatcamEditors/FlatCAMExcEditor.py:1612 flatcamGUI/FlatCAMGUI.py:5551 msgid "Specify how many drills to be in the array." msgstr "Geben Sie an, wie viele Drills im Array enthalten sein sollen." @@ -2373,14 +2333,14 @@ msgstr "Geben Sie an, wie viele Drills im Array enthalten sein sollen." #: flatcamEditors/FlatCAMExcEditor.py:1831 #: flatcamEditors/FlatCAMExcEditor.py:1878 #: flatcamEditors/FlatCAMGrbEditor.py:2657 -#: flatcamEditors/FlatCAMGrbEditor.py:2702 flatcamGUI/FlatCAMGUI.py:5629 +#: flatcamEditors/FlatCAMGrbEditor.py:2702 flatcamGUI/FlatCAMGUI.py:5643 msgid "Direction" msgstr "Richtung" #: flatcamEditors/FlatCAMExcEditor.py:1631 #: flatcamEditors/FlatCAMExcEditor.py:1833 -#: flatcamEditors/FlatCAMGrbEditor.py:2659 flatcamGUI/FlatCAMGUI.py:4703 -#: flatcamGUI/FlatCAMGUI.py:5552 flatcamGUI/FlatCAMGUI.py:5683 +#: flatcamEditors/FlatCAMGrbEditor.py:2659 flatcamGUI/FlatCAMGUI.py:4717 +#: flatcamGUI/FlatCAMGUI.py:5566 flatcamGUI/FlatCAMGUI.py:5697 msgid "" "Direction on which the linear array is oriented:\n" "- 'X' - horizontal axis \n" @@ -2395,18 +2355,18 @@ msgstr "" #: flatcamEditors/FlatCAMExcEditor.py:1638 #: flatcamEditors/FlatCAMExcEditor.py:1749 #: flatcamEditors/FlatCAMExcEditor.py:1840 -#: flatcamEditors/FlatCAMGrbEditor.py:2666 flatcamGUI/FlatCAMGUI.py:4709 -#: flatcamGUI/FlatCAMGUI.py:5558 flatcamGUI/FlatCAMGUI.py:5638 -#: flatcamGUI/FlatCAMGUI.py:5689 +#: flatcamEditors/FlatCAMGrbEditor.py:2666 flatcamGUI/FlatCAMGUI.py:4723 +#: flatcamGUI/FlatCAMGUI.py:5572 flatcamGUI/FlatCAMGUI.py:5652 +#: flatcamGUI/FlatCAMGUI.py:5703 msgid "X" msgstr "X" #: flatcamEditors/FlatCAMExcEditor.py:1639 #: flatcamEditors/FlatCAMExcEditor.py:1750 #: flatcamEditors/FlatCAMExcEditor.py:1841 -#: flatcamEditors/FlatCAMGrbEditor.py:2667 flatcamGUI/FlatCAMGUI.py:4710 -#: flatcamGUI/FlatCAMGUI.py:5559 flatcamGUI/FlatCAMGUI.py:5639 -#: flatcamGUI/FlatCAMGUI.py:5690 +#: flatcamEditors/FlatCAMGrbEditor.py:2667 flatcamGUI/FlatCAMGUI.py:4724 +#: flatcamGUI/FlatCAMGUI.py:5573 flatcamGUI/FlatCAMGUI.py:5653 +#: flatcamGUI/FlatCAMGUI.py:5704 msgid "Y" msgstr "Y" @@ -2420,25 +2380,25 @@ msgstr "Y" #: flatcamEditors/FlatCAMExcEditor.py:1890 #: flatcamEditors/FlatCAMGrbEditor.py:2668 #: flatcamEditors/FlatCAMGrbEditor.py:2681 -#: flatcamEditors/FlatCAMGrbEditor.py:2717 flatcamGUI/FlatCAMGUI.py:4711 -#: flatcamGUI/FlatCAMGUI.py:4728 flatcamGUI/FlatCAMGUI.py:5560 -#: flatcamGUI/FlatCAMGUI.py:5577 flatcamGUI/FlatCAMGUI.py:5640 -#: flatcamGUI/FlatCAMGUI.py:5645 flatcamGUI/FlatCAMGUI.py:5691 -#: flatcamGUI/FlatCAMGUI.py:5708 flatcamTools/ToolTransform.py:68 +#: flatcamEditors/FlatCAMGrbEditor.py:2717 flatcamGUI/FlatCAMGUI.py:4725 +#: flatcamGUI/FlatCAMGUI.py:4742 flatcamGUI/FlatCAMGUI.py:5574 +#: flatcamGUI/FlatCAMGUI.py:5591 flatcamGUI/FlatCAMGUI.py:5654 +#: flatcamGUI/FlatCAMGUI.py:5659 flatcamGUI/FlatCAMGUI.py:5705 +#: flatcamGUI/FlatCAMGUI.py:5722 flatcamTools/ToolTransform.py:68 msgid "Angle" msgstr "Winkel" #: flatcamEditors/FlatCAMExcEditor.py:1644 #: flatcamEditors/FlatCAMExcEditor.py:1846 -#: flatcamEditors/FlatCAMGrbEditor.py:2672 flatcamGUI/FlatCAMGUI.py:4717 -#: flatcamGUI/FlatCAMGUI.py:5697 +#: flatcamEditors/FlatCAMGrbEditor.py:2672 flatcamGUI/FlatCAMGUI.py:4731 +#: flatcamGUI/FlatCAMGUI.py:5711 msgid "Pitch" msgstr "Abstand" #: flatcamEditors/FlatCAMExcEditor.py:1646 #: flatcamEditors/FlatCAMExcEditor.py:1848 -#: flatcamEditors/FlatCAMGrbEditor.py:2674 flatcamGUI/FlatCAMGUI.py:4719 -#: flatcamGUI/FlatCAMGUI.py:5568 flatcamGUI/FlatCAMGUI.py:5699 +#: flatcamEditors/FlatCAMGrbEditor.py:2674 flatcamGUI/FlatCAMGUI.py:4733 +#: flatcamGUI/FlatCAMGUI.py:5582 flatcamGUI/FlatCAMGUI.py:5713 msgid "Pitch = Distance between elements of the array." msgstr "Abstand = Abstand zwischen Elementen des Arrays." @@ -2468,26 +2428,26 @@ msgstr "" #: flatcamEditors/FlatCAMExcEditor.py:1684 #: flatcamEditors/FlatCAMExcEditor.py:1886 -#: flatcamEditors/FlatCAMGrbEditor.py:2712 flatcamGUI/FlatCAMGUI.py:4747 -#: flatcamGUI/FlatCAMGUI.py:5138 flatcamGUI/FlatCAMGUI.py:5596 -#: flatcamGUI/FlatCAMGUI.py:5727 flatcamGUI/FlatCAMGUI.py:5929 +#: flatcamEditors/FlatCAMGrbEditor.py:2712 flatcamGUI/FlatCAMGUI.py:4761 +#: flatcamGUI/FlatCAMGUI.py:5152 flatcamGUI/FlatCAMGUI.py:5610 +#: flatcamGUI/FlatCAMGUI.py:5741 flatcamGUI/FlatCAMGUI.py:5943 msgid "CW" msgstr "CW" #: flatcamEditors/FlatCAMExcEditor.py:1685 #: flatcamEditors/FlatCAMExcEditor.py:1887 -#: flatcamEditors/FlatCAMGrbEditor.py:2713 flatcamGUI/FlatCAMGUI.py:4748 -#: flatcamGUI/FlatCAMGUI.py:5139 flatcamGUI/FlatCAMGUI.py:5597 -#: flatcamGUI/FlatCAMGUI.py:5728 flatcamGUI/FlatCAMGUI.py:5930 +#: flatcamEditors/FlatCAMGrbEditor.py:2713 flatcamGUI/FlatCAMGUI.py:4762 +#: flatcamGUI/FlatCAMGUI.py:5153 flatcamGUI/FlatCAMGUI.py:5611 +#: flatcamGUI/FlatCAMGUI.py:5742 flatcamGUI/FlatCAMGUI.py:5944 msgid "CCW" msgstr "CCW" #: flatcamEditors/FlatCAMExcEditor.py:1689 #: flatcamEditors/FlatCAMExcEditor.py:1891 -#: flatcamEditors/FlatCAMGrbEditor.py:2719 flatcamGUI/FlatCAMGUI.py:4730 -#: flatcamGUI/FlatCAMGUI.py:4756 flatcamGUI/FlatCAMGUI.py:5579 -#: flatcamGUI/FlatCAMGUI.py:5605 flatcamGUI/FlatCAMGUI.py:5710 -#: flatcamGUI/FlatCAMGUI.py:5736 +#: flatcamEditors/FlatCAMGrbEditor.py:2719 flatcamGUI/FlatCAMGUI.py:4744 +#: flatcamGUI/FlatCAMGUI.py:4770 flatcamGUI/FlatCAMGUI.py:5593 +#: flatcamGUI/FlatCAMGUI.py:5619 flatcamGUI/FlatCAMGUI.py:5724 +#: flatcamGUI/FlatCAMGUI.py:5750 msgid "Angle at which each element in circular array is placed." msgstr "" "Winkel, um den jedes Element in einer kreisförmigen Anordnung platziert wird." @@ -2504,16 +2464,16 @@ msgstr "" "Parameter zum Hinzufügen eines Schlitzes (Loch mit ovaler Form)\n" "entweder einzeln oder als Teil eines Arrays." -#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5618 +#: flatcamEditors/FlatCAMExcEditor.py:1730 flatcamGUI/FlatCAMGUI.py:5632 #: flatcamTools/ToolProperties.py:350 msgid "Length" msgstr "Länge" -#: flatcamEditors/FlatCAMExcEditor.py:1732 flatcamGUI/FlatCAMGUI.py:5620 +#: flatcamEditors/FlatCAMExcEditor.py:1732 flatcamGUI/FlatCAMGUI.py:5634 msgid "Length = The length of the slot." msgstr "Länge = Die Länge des Schlitzes." -#: flatcamEditors/FlatCAMExcEditor.py:1742 flatcamGUI/FlatCAMGUI.py:5631 +#: flatcamEditors/FlatCAMExcEditor.py:1742 flatcamGUI/FlatCAMGUI.py:5645 msgid "" "Direction on which the slot is oriented:\n" "- 'X' - horizontal axis \n" @@ -2525,7 +2485,7 @@ msgstr "" "- 'Y' - vertikale Achse oder\n" "- 'Winkel' - Ein benutzerdefinierter Winkel für die Schlitzneigung" -#: flatcamEditors/FlatCAMExcEditor.py:1757 flatcamGUI/FlatCAMGUI.py:5647 +#: flatcamEditors/FlatCAMExcEditor.py:1757 flatcamGUI/FlatCAMGUI.py:5661 msgid "" "Angle at which the slot is placed.\n" "The precision is of max 2 decimals.\n" @@ -2554,14 +2514,18 @@ msgstr "" "Wählen Sie den Typ des zu erstellenden Slot-Arrays.\n" "Es kann ein lineares X (Y) oder ein kreisförmiges sein" -#: flatcamEditors/FlatCAMExcEditor.py:1813 flatcamGUI/FlatCAMGUI.py:5669 +#: flatcamEditors/FlatCAMExcEditor.py:1813 flatcamGUI/FlatCAMGUI.py:5683 msgid "Nr of slots" msgstr "Anzahl der Slots" -#: flatcamEditors/FlatCAMExcEditor.py:1814 flatcamGUI/FlatCAMGUI.py:5671 +#: flatcamEditors/FlatCAMExcEditor.py:1814 flatcamGUI/FlatCAMGUI.py:5685 msgid "Specify how many slots to be in the array." msgstr "Geben Sie an, wie viele Steckplätze sich im Array befinden sollen." +#: flatcamEditors/FlatCAMExcEditor.py:2398 +msgid "[ERROR_NOTCL] Wrong value format entered, use a number." +msgstr "[ERROR_NOTCL] Falsches Wertformat eingegeben, eine Zahl verwenden." + #: flatcamEditors/FlatCAMExcEditor.py:2411 msgid "" "[WARNING_NOTCL] Tool already in the original or actual tool list.\n" @@ -2614,6 +2578,20 @@ msgstr "[success] Excellon-Bearbeitung abgeschlossen." msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "[WARNING_NOTCL] Abgebrochen. Es ist kein Werkzeug / Bohrer ausgewählt" +#: flatcamEditors/FlatCAMExcEditor.py:3424 +#: flatcamEditors/FlatCAMExcEditor.py:3431 +#: flatcamEditors/FlatCAMGeoEditor.py:3741 +#: flatcamEditors/FlatCAMGeoEditor.py:3755 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4156 +#: flatcamEditors/FlatCAMGrbEditor.py:4170 flatcamGUI/FlatCAMGUI.py:2560 +#: flatcamGUI/FlatCAMGUI.py:2572 +msgid "[success] Done." +msgstr "[success] Erledigt." + #: flatcamEditors/FlatCAMExcEditor.py:3787 msgid "[success] Done. Drill(s) deleted." msgstr "[success] Erledigt. Bohrer gelöscht." @@ -2675,7 +2653,7 @@ msgid "Full Buffer" msgstr "Voller Puffer" #: flatcamEditors/FlatCAMGeoEditor.py:129 -#: flatcamEditors/FlatCAMGeoEditor.py:2683 flatcamGUI/FlatCAMGUI.py:4763 +#: flatcamEditors/FlatCAMGeoEditor.py:2683 flatcamGUI/FlatCAMGUI.py:4777 msgid "Buffer Tool" msgstr "Pufferwerkzeug" @@ -2701,14 +2679,14 @@ msgstr "Textwerkzeug" msgid "Tool" msgstr "Werkzeug" -#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:4343 -#: flatcamGUI/FlatCAMGUI.py:5782 flatcamGUI/FlatCAMGUI.py:6674 -#: flatcamGUI/FlatCAMGUI.py:6834 flatcamGUI/ObjectUI.py:264 +#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/FlatCAMGUI.py:4356 +#: flatcamGUI/FlatCAMGUI.py:5796 flatcamGUI/FlatCAMGUI.py:6699 +#: flatcamGUI/FlatCAMGUI.py:6859 flatcamGUI/ObjectUI.py:264 #: flatcamTools/ToolCutOut.py:91 msgid "Tool dia" msgstr "Werkzeugdurchmesser" -#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6836 +#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/FlatCAMGUI.py:6861 msgid "" "Diameter of the tool to\n" "be used in the operation." @@ -2716,13 +2694,13 @@ msgstr "" "Durchmesser des Werkzeugs bis\n" "in der Operation verwendet werden." -#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamGUI/FlatCAMGUI.py:6531 -#: flatcamGUI/FlatCAMGUI.py:6865 flatcamTools/ToolNonCopperClear.py:283 +#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamGUI/FlatCAMGUI.py:6545 +#: flatcamGUI/FlatCAMGUI.py:6890 flatcamTools/ToolNonCopperClear.py:283 #: flatcamTools/ToolPaint.py:205 msgid "Overlap Rate" msgstr "Überlappungsrate" -#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6867 +#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/FlatCAMGUI.py:6892 #: flatcamTools/ToolPaint.py:207 #, python-format msgid "" @@ -2752,13 +2730,13 @@ msgstr "" "Höhere Werte = langsame Bearbeitung und langsame Ausführung auf CNC\n" "wegen zu vieler Wege." -#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6548 -#: flatcamGUI/FlatCAMGUI.py:6698 flatcamGUI/FlatCAMGUI.py:6882 +#: flatcamEditors/FlatCAMGeoEditor.py:463 flatcamGUI/FlatCAMGUI.py:6562 +#: flatcamGUI/FlatCAMGUI.py:6723 flatcamGUI/FlatCAMGUI.py:6907 #: flatcamTools/ToolNonCopperClear.py:299 flatcamTools/ToolPaint.py:222 msgid "Margin" msgstr "Marge" -#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6884 +#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/FlatCAMGUI.py:6909 #: flatcamTools/ToolPaint.py:224 msgid "" "Distance by which to avoid\n" @@ -2769,8 +2747,8 @@ msgstr "" "die Kanten des Polygons bis\n" "gemalt werden." -#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6557 -#: flatcamGUI/FlatCAMGUI.py:6893 flatcamTools/ToolNonCopperClear.py:308 +#: flatcamEditors/FlatCAMGeoEditor.py:474 flatcamGUI/FlatCAMGUI.py:6571 +#: flatcamGUI/FlatCAMGUI.py:6918 flatcamTools/ToolNonCopperClear.py:308 #: flatcamTools/ToolPaint.py:233 msgid "Method" msgstr "Methode" @@ -2783,20 +2761,20 @@ msgstr "" "Algorithmus zum Malen des Polygons:
Standard: Feststehender " "Schritt nach innen.
Samenbasiert: Aus dem Samen heraus." -#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6566 -#: flatcamGUI/FlatCAMGUI.py:6902 flatcamTools/ToolNonCopperClear.py:317 +#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/FlatCAMGUI.py:6580 +#: flatcamGUI/FlatCAMGUI.py:6927 flatcamTools/ToolNonCopperClear.py:317 #: flatcamTools/ToolPaint.py:242 msgid "Standard" msgstr "Standard" -#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6567 -#: flatcamGUI/FlatCAMGUI.py:6903 flatcamTools/ToolNonCopperClear.py:318 +#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/FlatCAMGUI.py:6581 +#: flatcamGUI/FlatCAMGUI.py:6928 flatcamTools/ToolNonCopperClear.py:318 #: flatcamTools/ToolPaint.py:243 msgid "Seed-based" msgstr "Samenbasiert" -#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6568 -#: flatcamGUI/FlatCAMGUI.py:6904 flatcamTools/ToolNonCopperClear.py:319 +#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/FlatCAMGUI.py:6582 +#: flatcamGUI/FlatCAMGUI.py:6929 flatcamTools/ToolNonCopperClear.py:319 #: flatcamTools/ToolPaint.py:244 msgid "Straight lines" msgstr "Gerade Linien" @@ -2805,8 +2783,8 @@ msgstr "Gerade Linien" msgid "Connect:" msgstr "Verbinden:" -#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6575 -#: flatcamGUI/FlatCAMGUI.py:6911 flatcamTools/ToolNonCopperClear.py:326 +#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/FlatCAMGUI.py:6589 +#: flatcamGUI/FlatCAMGUI.py:6936 flatcamTools/ToolNonCopperClear.py:326 #: flatcamTools/ToolPaint.py:251 msgid "" "Draw lines between resulting\n" @@ -2819,8 +2797,8 @@ msgstr "" msgid "Contour:" msgstr "Kontur:" -#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6585 -#: flatcamGUI/FlatCAMGUI.py:6921 flatcamTools/ToolNonCopperClear.py:335 +#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/FlatCAMGUI.py:6599 +#: flatcamGUI/FlatCAMGUI.py:6946 flatcamTools/ToolNonCopperClear.py:335 #: flatcamTools/ToolPaint.py:260 msgid "" "Cut around the perimeter of the polygon\n" @@ -2834,7 +2812,7 @@ msgid "Paint" msgstr "Malen" #: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:661 -#: flatcamGUI/FlatCAMGUI.py:2004 flatcamGUI/ObjectUI.py:1351 +#: flatcamGUI/FlatCAMGUI.py:2004 flatcamGUI/ObjectUI.py:1360 #: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:446 msgid "Paint Tool" msgstr "Werkzeug Malen" @@ -2869,7 +2847,7 @@ msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:608 #: flatcamEditors/FlatCAMGeoEditor.py:2708 #: flatcamEditors/FlatCAMGeoEditor.py:2736 -#: flatcamEditors/FlatCAMGeoEditor.py:2764 flatcamGUI/FlatCAMGUI.py:5778 +#: flatcamEditors/FlatCAMGeoEditor.py:2764 flatcamGUI/FlatCAMGUI.py:5792 #: flatcamTools/ToolProperties.py:113 flatcamTools/ToolProperties.py:139 msgid "Tools" msgstr "Werkzeuge" @@ -2910,9 +2888,9 @@ msgid "Mirror (Flip)" msgstr "Spiegeln (Flip)" #: flatcamEditors/FlatCAMGeoEditor.py:624 -#: flatcamEditors/FlatCAMGrbEditor.py:4785 flatcamGUI/FlatCAMGUI.py:6608 +#: flatcamEditors/FlatCAMGrbEditor.py:4785 flatcamGUI/FlatCAMGUI.py:6622 #: flatcamGUI/ObjectUI.py:108 flatcamGUI/ObjectUI.py:127 -#: flatcamGUI/ObjectUI.py:943 flatcamGUI/ObjectUI.py:1508 +#: flatcamGUI/ObjectUI.py:952 flatcamGUI/ObjectUI.py:1517 #: flatcamTools/ToolNonCopperClear.py:357 flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Versatz" @@ -2929,7 +2907,7 @@ msgid "Angle:" msgstr "Winkel:" #: flatcamEditors/FlatCAMGeoEditor.py:669 -#: flatcamEditors/FlatCAMGrbEditor.py:4831 flatcamGUI/FlatCAMGUI.py:7232 +#: flatcamEditors/FlatCAMGrbEditor.py:4831 flatcamGUI/FlatCAMGUI.py:7268 #: flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" @@ -2961,8 +2939,8 @@ msgstr "Winkel X:" #: flatcamEditors/FlatCAMGeoEditor.py:708 #: flatcamEditors/FlatCAMGeoEditor.py:726 #: flatcamEditors/FlatCAMGrbEditor.py:4870 -#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamGUI/FlatCAMGUI.py:7244 -#: flatcamGUI/FlatCAMGUI.py:7254 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGrbEditor.py:4888 flatcamGUI/FlatCAMGUI.py:7280 +#: flatcamGUI/FlatCAMGUI.py:7290 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -3043,7 +3021,7 @@ msgid "Scale Y" msgstr "Maßstab Y" #: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamGUI/FlatCAMGUI.py:7279 +#: flatcamEditors/FlatCAMGrbEditor.py:4961 flatcamGUI/FlatCAMGUI.py:7315 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Verknüpfung" @@ -3058,7 +3036,7 @@ msgstr "" "Verwenden des Skalierungsfaktors X für beide Achsen." #: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4969 flatcamGUI/FlatCAMGUI.py:7287 +#: flatcamEditors/FlatCAMGrbEditor.py:4969 flatcamGUI/FlatCAMGUI.py:7323 #: flatcamTools/ToolTransform.py:209 msgid "Scale Reference" msgstr "Skalenreferenz" @@ -3269,6 +3247,13 @@ msgstr "Anwenden Drehen" msgid "[success] Done. Rotate completed." msgstr "[success] Erledigt. Drehen abgeschlossen." +#: flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5513 +#, python-format +msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." +msgstr "" +"[ERROR_NOTCL] Aufgrund von %s wurde keine Rotationsbewegung ausgeführt." + #: flatcamEditors/FlatCAMGeoEditor.py:1311 #: flatcamEditors/FlatCAMGrbEditor.py:5529 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" @@ -3290,6 +3275,12 @@ msgstr "[success] Flip auf der Y-Achse erledigt ..." msgid "[success] Flip on the X axis done ..." msgstr "[success] Flip auf der X-Achse erledigt ..." +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5584 +#, python-format +msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." +msgstr "[ERROR_NOTCL] Aufgrund von %s wurde die Flip-Aktion nicht ausgeführt." + #: flatcamEditors/FlatCAMGeoEditor.py:1366 #: flatcamEditors/FlatCAMGrbEditor.py:5599 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" @@ -3920,7 +3911,7 @@ msgid "[success] Done. Apertures copied." msgstr "[success] Erledigt. Blende kopiert." #: flatcamEditors/FlatCAMGrbEditor.py:2337 flatcamGUI/FlatCAMGUI.py:1686 -#: flatcamGUI/FlatCAMGUI.py:4615 +#: flatcamGUI/FlatCAMGUI.py:4629 msgid "Gerber Editor" msgstr "Gerber-Editor" @@ -3940,7 +3931,7 @@ msgstr "Code" #: flatcamEditors/FlatCAMGrbEditor.py:2370 #: flatcamEditors/FlatCAMGrbEditor.py:3797 flatcamGUI/ObjectUI.py:227 -#: flatcamGUI/ObjectUI.py:943 flatcamGUI/ObjectUI.py:1508 +#: flatcamGUI/ObjectUI.py:952 flatcamGUI/ObjectUI.py:1517 msgid "Type" msgstr "Typ" @@ -3981,7 +3972,7 @@ msgstr "" "  - (Breite, Höhe) für R, O-Typ.\n" "  - (dia, nVertices) für P-Typ" -#: flatcamEditors/FlatCAMGrbEditor.py:2405 flatcamGUI/FlatCAMGUI.py:4644 +#: flatcamEditors/FlatCAMGrbEditor.py:2405 flatcamGUI/FlatCAMGUI.py:4658 msgid "Code for the new aperture" msgstr "Code für die neue Blende" @@ -4057,7 +4048,7 @@ msgstr "Pufferblende" msgid "Buffer a aperture in the aperture list" msgstr "Puffern Sie eine Blende in der Blendenliste" -#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/FlatCAMGUI.py:4767 +#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/FlatCAMGUI.py:4781 msgid "Buffer distance" msgstr "Pufferabstand" @@ -4093,7 +4084,7 @@ msgstr "Skalenöffnung" msgid "Scale a aperture in the aperture list" msgstr "Skalieren Sie eine Blende in der Blendenliste" -#: flatcamEditors/FlatCAMGrbEditor.py:2539 flatcamGUI/FlatCAMGUI.py:4780 +#: flatcamEditors/FlatCAMGrbEditor.py:2539 flatcamGUI/FlatCAMGUI.py:4794 msgid "Scale factor" msgstr "Skalierungsfaktor" @@ -4159,11 +4150,11 @@ msgstr "" "Wählen Sie den zu erstellenden Pad-Array-Typ aus.\n" "Es kann lineares X (Y) oder rund sein" -#: flatcamEditors/FlatCAMGrbEditor.py:2638 flatcamGUI/FlatCAMGUI.py:4679 +#: flatcamEditors/FlatCAMGrbEditor.py:2638 flatcamGUI/FlatCAMGUI.py:4693 msgid "Nr of pads" msgstr "Anzahl der Pads" -#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:4681 +#: flatcamEditors/FlatCAMGrbEditor.py:2640 flatcamGUI/FlatCAMGUI.py:4695 msgid "Specify how many pads to be in the array." msgstr "Geben Sie an, wie viele Pads sich im Array befinden sollen." @@ -4228,6 +4219,10 @@ msgstr "" "[ERROR_NOTCL] Die Datei enthält keine Aperture-Definitionen. Abbruch der " "Gerber-Erstellung." +#: flatcamEditors/FlatCAMGrbEditor.py:3917 +msgid "[ERROR] An internal error has occurred. See shell.\n" +msgstr "[ERROR] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" + #: flatcamEditors/FlatCAMGrbEditor.py:3922 msgid "Creating Gerber." msgstr "Gerber erstellen." @@ -4240,6 +4235,10 @@ msgstr "[success] Gerber-Bearbeitung ist beendet." msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Abgebrochen. Es ist keine Blende ausgewählt" +#: flatcamEditors/FlatCAMGrbEditor.py:4097 +msgid "[success] Coordinates copied to clipboard." +msgstr "[success] Koordinaten in die Zwischenablage kopiert." + #: flatcamEditors/FlatCAMGrbEditor.py:4477 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" @@ -5012,7 +5011,7 @@ msgid "&Cutout Tool" msgstr "Ausschnittwerkzeug" #: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:2003 -#: flatcamGUI/ObjectUI.py:443 flatcamTools/ToolNonCopperClear.py:531 +#: flatcamGUI/ObjectUI.py:452 flatcamTools/ToolNonCopperClear.py:531 msgid "NCC Tool" msgstr "NCC Werkzeug" @@ -5259,7 +5258,7 @@ msgstr "GEOMETRY" msgid "CNC-JOB" msgstr "CNC-Auftrag" -#: flatcamGUI/FlatCAMGUI.py:933 flatcamGUI/ObjectUI.py:432 +#: flatcamGUI/FlatCAMGUI.py:933 flatcamGUI/ObjectUI.py:441 msgid "TOOLS" msgstr "WERKZEUGE" @@ -6655,8 +6654,8 @@ msgstr "Überschneidung" msgid "Substraction" msgstr "Subtraktion" -#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:6161 -#: flatcamGUI/ObjectUI.py:1400 +#: flatcamGUI/FlatCAMGUI.py:1680 flatcamGUI/FlatCAMGUI.py:6175 +#: flatcamGUI/ObjectUI.py:1409 msgid "Cut" msgstr "Schnitt" @@ -6700,8 +6699,8 @@ msgstr "Im Code suchen" msgid "Replace With" msgstr "Ersetzen mit" -#: flatcamGUI/FlatCAMGUI.py:1756 flatcamGUI/FlatCAMGUI.py:6159 -#: flatcamGUI/FlatCAMGUI.py:6942 flatcamGUI/ObjectUI.py:1398 +#: flatcamGUI/FlatCAMGUI.py:1756 flatcamGUI/FlatCAMGUI.py:6173 +#: flatcamGUI/FlatCAMGUI.py:6966 flatcamGUI/ObjectUI.py:1407 msgid "All" msgstr "Alles" @@ -6828,6 +6827,10 @@ msgstr "Geben Sie einen Werkzeugdurchmesser ein" msgid "Measurement Tool exit..." msgstr "Messwerkzeug beenden ..." +#: flatcamGUI/FlatCAMGUI.py:3312 +msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." +msgstr "[WARNING_NOTCL] Anwendung speichert das Projekt. Warten Sie mal ..." + #: flatcamGUI/FlatCAMGUI.py:3554 msgid "GUI Preferences" msgstr "GUI-Einstellungen" @@ -7122,8 +7125,8 @@ msgstr "Möchten Sie die GUI-Einstellungen wirklich löschen?\n" msgid "App Preferences" msgstr "App-Einstellungen" -#: flatcamGUI/FlatCAMGUI.py:4021 flatcamGUI/FlatCAMGUI.py:4535 -#: flatcamGUI/FlatCAMGUI.py:5360 flatcamTools/ToolMeasurement.py:43 +#: flatcamGUI/FlatCAMGUI.py:4021 flatcamGUI/FlatCAMGUI.py:4549 +#: flatcamGUI/FlatCAMGUI.py:5374 flatcamTools/ToolMeasurement.py:43 #: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:133 msgid "Units" msgstr "Einheiten" @@ -7142,8 +7145,8 @@ msgstr "" msgid "IN" msgstr "ZOLL" -#: flatcamGUI/FlatCAMGUI.py:4026 flatcamGUI/FlatCAMGUI.py:4541 -#: flatcamGUI/FlatCAMGUI.py:4973 flatcamGUI/FlatCAMGUI.py:5366 +#: flatcamGUI/FlatCAMGUI.py:4026 flatcamGUI/FlatCAMGUI.py:4555 +#: flatcamGUI/FlatCAMGUI.py:4987 flatcamGUI/FlatCAMGUI.py:5380 #: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126 msgid "MM" msgstr "MM" @@ -7168,7 +7171,7 @@ msgstr "" "Die Auswahl hier beeinflusst die Parameter in\n" "Die Registerkarte Ausgewählt für alle Arten von FlatCAM-Objekten." -#: flatcamGUI/FlatCAMGUI.py:4035 flatcamGUI/FlatCAMGUI.py:5000 +#: flatcamGUI/FlatCAMGUI.py:4035 flatcamGUI/FlatCAMGUI.py:5014 msgid "Basic" msgstr "Basic" @@ -7453,15 +7456,15 @@ msgstr "" msgid "Gerber General" msgstr "Geometrie Allgemein" -#: flatcamGUI/FlatCAMGUI.py:4284 flatcamGUI/FlatCAMGUI.py:4824 -#: flatcamGUI/FlatCAMGUI.py:5754 flatcamGUI/FlatCAMGUI.py:6135 -#: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:553 -#: flatcamGUI/ObjectUI.py:885 flatcamGUI/ObjectUI.py:1384 +#: flatcamGUI/FlatCAMGUI.py:4284 flatcamGUI/FlatCAMGUI.py:4838 +#: flatcamGUI/FlatCAMGUI.py:5768 flatcamGUI/FlatCAMGUI.py:6149 +#: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:562 +#: flatcamGUI/ObjectUI.py:894 flatcamGUI/ObjectUI.py:1393 msgid "Plot Options" msgstr "Diagrammoptionen" -#: flatcamGUI/FlatCAMGUI.py:4291 flatcamGUI/FlatCAMGUI.py:4836 -#: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:554 +#: flatcamGUI/FlatCAMGUI.py:4291 flatcamGUI/FlatCAMGUI.py:4850 +#: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:563 msgid "Solid" msgstr "Solide" @@ -7477,21 +7480,21 @@ msgstr "M-farbig" msgid "Draw polygons in different colors." msgstr "Zeichnen Sie Polygone in verschiedenen Farben." -#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/FlatCAMGUI.py:4830 -#: flatcamGUI/FlatCAMGUI.py:5758 flatcamGUI/ObjectUI.py:172 -#: flatcamGUI/ObjectUI.py:592 +#: flatcamGUI/FlatCAMGUI.py:4305 flatcamGUI/FlatCAMGUI.py:4844 +#: flatcamGUI/FlatCAMGUI.py:5772 flatcamGUI/ObjectUI.py:172 +#: flatcamGUI/ObjectUI.py:601 msgid "Plot" msgstr "Zeichn" -#: flatcamGUI/FlatCAMGUI.py:4307 flatcamGUI/FlatCAMGUI.py:5760 -#: flatcamGUI/FlatCAMGUI.py:6146 flatcamGUI/ObjectUI.py:174 -#: flatcamGUI/ObjectUI.py:594 flatcamGUI/ObjectUI.py:931 -#: flatcamGUI/ObjectUI.py:1494 +#: flatcamGUI/FlatCAMGUI.py:4307 flatcamGUI/FlatCAMGUI.py:5774 +#: flatcamGUI/FlatCAMGUI.py:6160 flatcamGUI/ObjectUI.py:174 +#: flatcamGUI/ObjectUI.py:603 flatcamGUI/ObjectUI.py:940 +#: flatcamGUI/ObjectUI.py:1503 msgid "Plot (show) this object." msgstr "Plotten (zeigen) dieses Objekt." -#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/FlatCAMGUI.py:5768 -#: flatcamGUI/FlatCAMGUI.py:6216 +#: flatcamGUI/FlatCAMGUI.py:4312 flatcamGUI/FlatCAMGUI.py:5782 +#: flatcamGUI/FlatCAMGUI.py:6230 msgid "Circle Steps" msgstr "Kreisschritte" @@ -7503,15 +7506,39 @@ msgstr "" "Die Anzahl der Kreisschritte für Gerber\n" "lineare Approximation mit kreisförmiger Apertur." -#: flatcamGUI/FlatCAMGUI.py:4329 +#: flatcamGUI/FlatCAMGUI.py:4324 +msgid "" +"Buffering type:\n" +"- None --> best performance, fast file loading but no so good display\n" +"- Full --> slow file loading but good visuals. This is the default.\n" +"<>: Don't change this unless you know what you are doing !!!" +msgstr "" +"Puffertyp:\n" +"- Keine -> beste Leistung, schnelles Laden von Dateien, aber keine so gute " +"Anzeige\n" +"- Voll -> langsames Laden von Dateien, aber gute Grafik. Dies ist die " +"Standardeinstellung.\n" +"<< WARNUNG >>: Ändern Sie dies nur, wenn Sie wissen, was Sie tun !!!" + +#: flatcamGUI/FlatCAMGUI.py:4329 flatcamTools/ToolProperties.py:298 +#: flatcamTools/ToolProperties.py:312 flatcamTools/ToolProperties.py:315 +#: flatcamTools/ToolProperties.py:318 +msgid "None" +msgstr "Keiner" + +#: flatcamGUI/FlatCAMGUI.py:4330 +msgid "Full" +msgstr "Voll" + +#: flatcamGUI/FlatCAMGUI.py:4342 msgid "Gerber Options" msgstr "Gerber-Optionen" -#: flatcamGUI/FlatCAMGUI.py:4332 flatcamGUI/ObjectUI.py:250 +#: flatcamGUI/FlatCAMGUI.py:4345 flatcamGUI/ObjectUI.py:250 msgid "Isolation Routing" msgstr "Isolierungsrouting" -#: flatcamGUI/FlatCAMGUI.py:4334 flatcamGUI/ObjectUI.py:252 +#: flatcamGUI/FlatCAMGUI.py:4347 flatcamGUI/ObjectUI.py:252 msgid "" "Create a Geometry object with\n" "toolpaths to cut outside polygons." @@ -7520,16 +7547,16 @@ msgstr "" "Werkzeugwege zum Schneiden von \n" "äußeren Polygonen." -#: flatcamGUI/FlatCAMGUI.py:4345 flatcamGUI/FlatCAMGUI.py:5200 -#: flatcamGUI/ObjectUI.py:839 +#: flatcamGUI/FlatCAMGUI.py:4358 flatcamGUI/FlatCAMGUI.py:5214 +#: flatcamGUI/ObjectUI.py:848 msgid "Diameter of the cutting tool." msgstr "Durchmesser des Schneidewerkzeugs." -#: flatcamGUI/FlatCAMGUI.py:4352 flatcamGUI/ObjectUI.py:277 +#: flatcamGUI/FlatCAMGUI.py:4365 flatcamGUI/ObjectUI.py:277 msgid "# Passes" msgstr "Durchgang" -#: flatcamGUI/FlatCAMGUI.py:4354 flatcamGUI/ObjectUI.py:279 +#: flatcamGUI/FlatCAMGUI.py:4367 flatcamGUI/ObjectUI.py:279 msgid "" "Width of the isolation gap in\n" "number (integer) of tool widths." @@ -7537,11 +7564,11 @@ msgstr "" "Breite der Isolationslücke in\n" "Anzahl (Ganzzahl) der Werkzeugbreiten." -#: flatcamGUI/FlatCAMGUI.py:4363 flatcamGUI/ObjectUI.py:288 +#: flatcamGUI/FlatCAMGUI.py:4376 flatcamGUI/ObjectUI.py:288 msgid "Pass overlap" msgstr "Passüberlappung" -#: flatcamGUI/FlatCAMGUI.py:4365 flatcamGUI/ObjectUI.py:290 +#: flatcamGUI/FlatCAMGUI.py:4378 flatcamGUI/ObjectUI.py:290 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -7555,12 +7582,12 @@ msgstr "" "Ein Wert von 0,25 bedeutet hier eine Überlappung von 25% \n" "vom oben angegebenen Werkzeugdurchmesser." -#: flatcamGUI/FlatCAMGUI.py:4373 flatcamGUI/FlatCAMGUI.py:6476 +#: flatcamGUI/FlatCAMGUI.py:4387 flatcamGUI/FlatCAMGUI.py:6490 #: flatcamGUI/ObjectUI.py:300 flatcamTools/ToolNonCopperClear.py:147 msgid "Milling Type" msgstr "Fräsart" -#: flatcamGUI/FlatCAMGUI.py:4375 flatcamGUI/ObjectUI.py:302 +#: flatcamGUI/FlatCAMGUI.py:4389 flatcamGUI/ObjectUI.py:302 msgid "" "Milling type:\n" "- climb / best for precision milling and to reduce tool usage\n" @@ -7571,29 +7598,29 @@ msgstr "" "Werkzeugverbrauchs\n" "- konventionell / nützlich, wenn kein Spielausgleich vorliegt" -#: flatcamGUI/FlatCAMGUI.py:4380 flatcamGUI/FlatCAMGUI.py:6483 +#: flatcamGUI/FlatCAMGUI.py:4394 flatcamGUI/FlatCAMGUI.py:6497 #: flatcamGUI/ObjectUI.py:306 flatcamTools/ToolNonCopperClear.py:154 msgid "Climb" msgstr "Steigen" -#: flatcamGUI/FlatCAMGUI.py:4381 flatcamGUI/FlatCAMGUI.py:6484 +#: flatcamGUI/FlatCAMGUI.py:4395 flatcamGUI/FlatCAMGUI.py:6498 #: flatcamGUI/ObjectUI.py:307 flatcamTools/ToolNonCopperClear.py:155 msgid "Conv." msgstr "Konv." -#: flatcamGUI/FlatCAMGUI.py:4385 flatcamGUI/ObjectUI.py:312 +#: flatcamGUI/FlatCAMGUI.py:4399 flatcamGUI/ObjectUI.py:312 msgid "Combine Passes" msgstr "Kombinieren Sie Pässe" -#: flatcamGUI/FlatCAMGUI.py:4387 flatcamGUI/ObjectUI.py:314 +#: flatcamGUI/FlatCAMGUI.py:4401 flatcamGUI/ObjectUI.py:314 msgid "Combine all passes into one object" msgstr "Kombinieren Sie alle Durchgänge in einem Objekt" -#: flatcamGUI/FlatCAMGUI.py:4392 flatcamGUI/ObjectUI.py:468 +#: flatcamGUI/FlatCAMGUI.py:4406 flatcamGUI/ObjectUI.py:477 msgid "Non-copper regions" msgstr "Regionen ohne Kupfer" -#: flatcamGUI/FlatCAMGUI.py:4394 flatcamGUI/ObjectUI.py:470 +#: flatcamGUI/FlatCAMGUI.py:4408 flatcamGUI/ObjectUI.py:479 msgid "" "Create polygons covering the\n" "areas without copper on the PCB.\n" @@ -7607,12 +7634,12 @@ msgstr "" "Objekt. Kann verwendet werden, um alle zu entfernen\n" "Kupfer aus einer bestimmten Region." -#: flatcamGUI/FlatCAMGUI.py:4406 flatcamGUI/FlatCAMGUI.py:4431 -#: flatcamGUI/ObjectUI.py:480 flatcamGUI/ObjectUI.py:512 +#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/FlatCAMGUI.py:4445 +#: flatcamGUI/ObjectUI.py:489 flatcamGUI/ObjectUI.py:521 msgid "Boundary Margin" msgstr "Grenzmarge" -#: flatcamGUI/FlatCAMGUI.py:4408 flatcamGUI/ObjectUI.py:482 +#: flatcamGUI/FlatCAMGUI.py:4422 flatcamGUI/ObjectUI.py:491 msgid "" "Specify the edge of the PCB\n" "by drawing a box around all\n" @@ -7624,21 +7651,21 @@ msgstr "" "Objekte mit diesem Minimum\n" "Entfernung." -#: flatcamGUI/FlatCAMGUI.py:4418 flatcamGUI/FlatCAMGUI.py:4440 -#: flatcamGUI/ObjectUI.py:493 flatcamGUI/ObjectUI.py:522 +#: flatcamGUI/FlatCAMGUI.py:4432 flatcamGUI/FlatCAMGUI.py:4454 +#: flatcamGUI/ObjectUI.py:502 flatcamGUI/ObjectUI.py:531 msgid "Rounded Geo" msgstr "Abgerundete Geo" -#: flatcamGUI/FlatCAMGUI.py:4420 flatcamGUI/ObjectUI.py:495 +#: flatcamGUI/FlatCAMGUI.py:4434 flatcamGUI/ObjectUI.py:504 msgid "Resulting geometry will have rounded corners." msgstr "Die resultierende Geometrie hat abgerundete Ecken." -#: flatcamGUI/FlatCAMGUI.py:4425 flatcamGUI/ObjectUI.py:504 +#: flatcamGUI/FlatCAMGUI.py:4439 flatcamGUI/ObjectUI.py:513 #: flatcamTools/ToolPanelize.py:85 msgid "Bounding Box" msgstr "Begrenzungsrahmen" -#: flatcamGUI/FlatCAMGUI.py:4433 flatcamGUI/ObjectUI.py:514 +#: flatcamGUI/FlatCAMGUI.py:4447 flatcamGUI/ObjectUI.py:523 msgid "" "Distance of the edges of the box\n" "to the nearest polygon." @@ -7646,7 +7673,7 @@ msgstr "" "Abstand der Kanten der Box\n" "zum nächsten Polygon." -#: flatcamGUI/FlatCAMGUI.py:4442 flatcamGUI/ObjectUI.py:524 +#: flatcamGUI/FlatCAMGUI.py:4456 flatcamGUI/ObjectUI.py:533 msgid "" "If the bounding box is \n" "to have rounded corners\n" @@ -7658,15 +7685,15 @@ msgstr "" "ihr Radius ist gleich\n" "der Abstand." -#: flatcamGUI/FlatCAMGUI.py:4456 +#: flatcamGUI/FlatCAMGUI.py:4470 msgid "Gerber Adv. Options" msgstr "Erweiterte Optionen von Gerber" -#: flatcamGUI/FlatCAMGUI.py:4459 +#: flatcamGUI/FlatCAMGUI.py:4473 msgid "Advanced Param." msgstr "Erweiterte Param." -#: flatcamGUI/FlatCAMGUI.py:4461 +#: flatcamGUI/FlatCAMGUI.py:4475 msgid "" "A list of Gerber advanced parameters.\n" "Those parameters are available only for\n" @@ -7676,11 +7703,11 @@ msgstr "" "Diese Parameter sind nur für verfügbar\n" "Fortgeschrittene Anwendungsebene." -#: flatcamGUI/FlatCAMGUI.py:4471 flatcamGUI/ObjectUI.py:318 +#: flatcamGUI/FlatCAMGUI.py:4485 flatcamGUI/ObjectUI.py:318 msgid "\"Follow\"" msgstr "\"Folgen\"" -#: flatcamGUI/FlatCAMGUI.py:4473 flatcamGUI/ObjectUI.py:319 +#: flatcamGUI/FlatCAMGUI.py:4487 flatcamGUI/ObjectUI.py:319 msgid "" "Generate a 'Follow' geometry.\n" "This means that it will cut through\n" @@ -7690,11 +7717,11 @@ msgstr "" "Dies bedeutet, dass es durchschneiden wird\n" "die Mitte der Spur." -#: flatcamGUI/FlatCAMGUI.py:4480 +#: flatcamGUI/FlatCAMGUI.py:4494 msgid "Table Show/Hide" msgstr "Tabelle anzeigen / ausblenden" -#: flatcamGUI/FlatCAMGUI.py:4482 +#: flatcamGUI/FlatCAMGUI.py:4496 msgid "" "Toggle the display of the Gerber Apertures Table.\n" "Also, on hide, it will delete all mark shapes\n" @@ -7704,15 +7731,15 @@ msgstr "" "Beim Ausblenden werden auch alle Markierungsformen gelöscht\n" "das sind auf leinwand gezeichnet." -#: flatcamGUI/FlatCAMGUI.py:4521 +#: flatcamGUI/FlatCAMGUI.py:4535 msgid "Gerber Export" msgstr "Gerber Export" -#: flatcamGUI/FlatCAMGUI.py:4524 flatcamGUI/FlatCAMGUI.py:5349 +#: flatcamGUI/FlatCAMGUI.py:4538 flatcamGUI/FlatCAMGUI.py:5363 msgid "Export Options" msgstr "Exportoptionen" -#: flatcamGUI/FlatCAMGUI.py:4526 +#: flatcamGUI/FlatCAMGUI.py:4540 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Gerber menu entry." @@ -7720,21 +7747,21 @@ msgstr "" "Die hier eingestellten Parameter werden in der exportierten Datei verwendet\n" "bei Verwendung des Menüeintrags Datei -> Exportieren -> Gerber exportieren." -#: flatcamGUI/FlatCAMGUI.py:4537 flatcamGUI/FlatCAMGUI.py:4543 +#: flatcamGUI/FlatCAMGUI.py:4551 flatcamGUI/FlatCAMGUI.py:4557 msgid "The units used in the Gerber file." msgstr "Die in der Gerber-Datei verwendeten Einheiten." -#: flatcamGUI/FlatCAMGUI.py:4540 flatcamGUI/FlatCAMGUI.py:4870 -#: flatcamGUI/FlatCAMGUI.py:4972 flatcamGUI/FlatCAMGUI.py:5365 +#: flatcamGUI/FlatCAMGUI.py:4554 flatcamGUI/FlatCAMGUI.py:4884 +#: flatcamGUI/FlatCAMGUI.py:4986 flatcamGUI/FlatCAMGUI.py:5379 #: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125 msgid "INCH" msgstr "ZOLL" -#: flatcamGUI/FlatCAMGUI.py:4549 flatcamGUI/FlatCAMGUI.py:5374 +#: flatcamGUI/FlatCAMGUI.py:4563 flatcamGUI/FlatCAMGUI.py:5388 msgid "Int/Decimals" msgstr "Ganzzahl / Dezimalzahl" -#: flatcamGUI/FlatCAMGUI.py:4551 +#: flatcamGUI/FlatCAMGUI.py:4565 msgid "" "The number of digits in the whole part of the number\n" "and in the fractional part of the number." @@ -7742,7 +7769,7 @@ msgstr "" "Die Anzahl der Ziffern im gesamten Teil der Nummer\n" "und im Bruchteil der Zahl." -#: flatcamGUI/FlatCAMGUI.py:4562 +#: flatcamGUI/FlatCAMGUI.py:4576 msgid "" "This numbers signify the number of digits in\n" "the whole part of Gerber coordinates." @@ -7750,7 +7777,7 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "der ganze Teil von Gerber koordiniert." -#: flatcamGUI/FlatCAMGUI.py:4576 +#: flatcamGUI/FlatCAMGUI.py:4590 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Gerber coordinates." @@ -7758,11 +7785,11 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "Der Dezimalteil der Gerber-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:4585 flatcamGUI/FlatCAMGUI.py:5435 +#: flatcamGUI/FlatCAMGUI.py:4599 flatcamGUI/FlatCAMGUI.py:5449 msgid "Zeros" msgstr "Nullen" -#: flatcamGUI/FlatCAMGUI.py:4588 flatcamGUI/FlatCAMGUI.py:4598 +#: flatcamGUI/FlatCAMGUI.py:4602 flatcamGUI/FlatCAMGUI.py:4612 msgid "" "This sets the type of Gerber zeros.\n" "If LZ then Leading Zeros are removed and\n" @@ -7776,36 +7803,36 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen entfernt\n" "und führende Nullen werden beibehalten." -#: flatcamGUI/FlatCAMGUI.py:4595 flatcamGUI/FlatCAMGUI.py:4948 -#: flatcamGUI/FlatCAMGUI.py:5445 flatcamTools/ToolPcbWizard.py:111 +#: flatcamGUI/FlatCAMGUI.py:4609 flatcamGUI/FlatCAMGUI.py:4962 +#: flatcamGUI/FlatCAMGUI.py:5459 flatcamTools/ToolPcbWizard.py:111 msgid "LZ" msgstr "LZ" -#: flatcamGUI/FlatCAMGUI.py:4596 flatcamGUI/FlatCAMGUI.py:4949 -#: flatcamGUI/FlatCAMGUI.py:5446 flatcamTools/ToolPcbWizard.py:112 +#: flatcamGUI/FlatCAMGUI.py:4610 flatcamGUI/FlatCAMGUI.py:4963 +#: flatcamGUI/FlatCAMGUI.py:5460 flatcamTools/ToolPcbWizard.py:112 msgid "TZ" msgstr "TZ" -#: flatcamGUI/FlatCAMGUI.py:4618 flatcamGUI/FlatCAMGUI.py:5499 -#: flatcamGUI/FlatCAMGUI.py:6101 flatcamGUI/FlatCAMGUI.py:6380 -#: flatcamGUI/FlatCAMGUI.py:6419 flatcamGUI/FlatCAMGUI.py:6663 -#: flatcamGUI/FlatCAMGUI.py:6762 flatcamGUI/FlatCAMGUI.py:6958 -#: flatcamGUI/FlatCAMGUI.py:7019 flatcamGUI/FlatCAMGUI.py:7218 -#: flatcamGUI/FlatCAMGUI.py:7350 flatcamGUI/FlatCAMGUI.py:7523 -#: flatcamGUI/ObjectUI.py:1601 flatcamTools/ToolNonCopperClear.py:265 +#: flatcamGUI/FlatCAMGUI.py:4632 flatcamGUI/FlatCAMGUI.py:5513 +#: flatcamGUI/FlatCAMGUI.py:6115 flatcamGUI/FlatCAMGUI.py:6394 +#: flatcamGUI/FlatCAMGUI.py:6433 flatcamGUI/FlatCAMGUI.py:6688 +#: flatcamGUI/FlatCAMGUI.py:6787 flatcamGUI/FlatCAMGUI.py:6994 +#: flatcamGUI/FlatCAMGUI.py:7055 flatcamGUI/FlatCAMGUI.py:7254 +#: flatcamGUI/FlatCAMGUI.py:7386 flatcamGUI/FlatCAMGUI.py:7559 +#: flatcamGUI/ObjectUI.py:1610 flatcamTools/ToolNonCopperClear.py:265 msgid "Parameters" msgstr "Parameters" -#: flatcamGUI/FlatCAMGUI.py:4620 +#: flatcamGUI/FlatCAMGUI.py:4634 msgid "A list of Gerber Editor parameters." msgstr "Eine Liste der Gerber-Editor-Parameter." -#: flatcamGUI/FlatCAMGUI.py:4628 flatcamGUI/FlatCAMGUI.py:5509 -#: flatcamGUI/FlatCAMGUI.py:6111 +#: flatcamGUI/FlatCAMGUI.py:4642 flatcamGUI/FlatCAMGUI.py:5523 +#: flatcamGUI/FlatCAMGUI.py:6125 msgid "Selection limit" msgstr "Auswahllimit" -#: flatcamGUI/FlatCAMGUI.py:4630 +#: flatcamGUI/FlatCAMGUI.py:4644 msgid "" "Set the number of selected Gerber geometry\n" "items above which the utility geometry\n" @@ -7819,23 +7846,23 @@ msgstr "" "Erhöht die Leistung beim Bewegen von a\n" "große Anzahl von geometrischen Elementen." -#: flatcamGUI/FlatCAMGUI.py:4642 +#: flatcamGUI/FlatCAMGUI.py:4656 msgid "New Aperture code" msgstr "Neuer Blendencode" -#: flatcamGUI/FlatCAMGUI.py:4654 +#: flatcamGUI/FlatCAMGUI.py:4668 msgid "New Aperture size" msgstr "Neuer Öffnungsgröße" -#: flatcamGUI/FlatCAMGUI.py:4656 +#: flatcamGUI/FlatCAMGUI.py:4670 msgid "Size for the new aperture" msgstr "Größe für die neue Blende" -#: flatcamGUI/FlatCAMGUI.py:4666 +#: flatcamGUI/FlatCAMGUI.py:4680 msgid "New Aperture type" msgstr "Neuer Blendentyp" -#: flatcamGUI/FlatCAMGUI.py:4668 +#: flatcamGUI/FlatCAMGUI.py:4682 msgid "" "Type for the new aperture.\n" "Can be 'C', 'R' or 'O'." @@ -7843,36 +7870,36 @@ msgstr "" "Geben Sie für die neue Blende ein.\n" "Kann \"C\", \"R\" oder \"O\" sein." -#: flatcamGUI/FlatCAMGUI.py:4689 +#: flatcamGUI/FlatCAMGUI.py:4703 msgid "Aperture Dimensions" msgstr "Öffnungsmaße" -#: flatcamGUI/FlatCAMGUI.py:4691 flatcamGUI/FlatCAMGUI.py:5784 -#: flatcamGUI/FlatCAMGUI.py:6431 +#: flatcamGUI/FlatCAMGUI.py:4705 flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:6445 msgid "Diameters of the cutting tools, separated by ','" msgstr "Durchmesser der Schneidwerkzeuge, getrennt durch ','" -#: flatcamGUI/FlatCAMGUI.py:4697 +#: flatcamGUI/FlatCAMGUI.py:4711 #, python-format msgid "%s:" msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:4701 flatcamGUI/FlatCAMGUI.py:5550 -#: flatcamGUI/FlatCAMGUI.py:5681 +#: flatcamGUI/FlatCAMGUI.py:4715 flatcamGUI/FlatCAMGUI.py:5564 +#: flatcamGUI/FlatCAMGUI.py:5695 msgid "Linear Dir." msgstr "Lineare Richt." -#: flatcamGUI/FlatCAMGUI.py:4737 +#: flatcamGUI/FlatCAMGUI.py:4751 msgid "Circular Pad Array" msgstr "Kreisschlitz-Array" -#: flatcamGUI/FlatCAMGUI.py:4741 flatcamGUI/FlatCAMGUI.py:5590 -#: flatcamGUI/FlatCAMGUI.py:5721 +#: flatcamGUI/FlatCAMGUI.py:4755 flatcamGUI/FlatCAMGUI.py:5604 +#: flatcamGUI/FlatCAMGUI.py:5735 msgid "Circular Dir." msgstr "Kreisricht." -#: flatcamGUI/FlatCAMGUI.py:4743 flatcamGUI/FlatCAMGUI.py:5592 -#: flatcamGUI/FlatCAMGUI.py:5723 +#: flatcamGUI/FlatCAMGUI.py:4757 flatcamGUI/FlatCAMGUI.py:5606 +#: flatcamGUI/FlatCAMGUI.py:5737 msgid "" "Direction for circular array.\n" "Can be CW = clockwise or CCW = counter clockwise." @@ -7880,48 +7907,48 @@ msgstr "" "Richtung für kreisförmige Anordnung. \n" "Kann CW = Uhrzeigersinn oder CCW = Gegenuhrzeigersinn sein." -#: flatcamGUI/FlatCAMGUI.py:4754 flatcamGUI/FlatCAMGUI.py:5603 -#: flatcamGUI/FlatCAMGUI.py:5734 +#: flatcamGUI/FlatCAMGUI.py:4768 flatcamGUI/FlatCAMGUI.py:5617 +#: flatcamGUI/FlatCAMGUI.py:5748 msgid "Circ. Angle" msgstr "Kreiswinkel" -#: flatcamGUI/FlatCAMGUI.py:4769 +#: flatcamGUI/FlatCAMGUI.py:4783 msgid "Distance at which to buffer the Gerber element." msgstr "Abstand, in dem das Gerber-Element gepuffert werden soll." -#: flatcamGUI/FlatCAMGUI.py:4776 +#: flatcamGUI/FlatCAMGUI.py:4790 msgid "Scale Tool" msgstr "Skalierungswerk." -#: flatcamGUI/FlatCAMGUI.py:4782 +#: flatcamGUI/FlatCAMGUI.py:4796 msgid "Factor to scale the Gerber element." msgstr "Faktor zum Skalieren des Gerber-Elements." -#: flatcamGUI/FlatCAMGUI.py:4789 +#: flatcamGUI/FlatCAMGUI.py:4803 msgid "Mark Area Tool" msgstr "Bereich markieren Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:4793 flatcamGUI/FlatCAMGUI.py:4803 +#: flatcamGUI/FlatCAMGUI.py:4807 flatcamGUI/FlatCAMGUI.py:4817 msgid "Threshold low" msgstr "Schwelle niedrig" -#: flatcamGUI/FlatCAMGUI.py:4795 +#: flatcamGUI/FlatCAMGUI.py:4809 msgid "Threshold value under which the apertures are not marked." msgstr "Schwellenwert, unter dem die Blenden nicht markiert sind." -#: flatcamGUI/FlatCAMGUI.py:4805 +#: flatcamGUI/FlatCAMGUI.py:4819 msgid "Threshold value over which the apertures are not marked." msgstr "Schwellenwert, über dem die Blenden nicht markiert sind." -#: flatcamGUI/FlatCAMGUI.py:4821 +#: flatcamGUI/FlatCAMGUI.py:4835 msgid "Excellon General" msgstr "Excellon Allgemeines" -#: flatcamGUI/FlatCAMGUI.py:4843 +#: flatcamGUI/FlatCAMGUI.py:4857 msgid "Excellon Format" msgstr "Excellon Format" -#: flatcamGUI/FlatCAMGUI.py:4845 +#: flatcamGUI/FlatCAMGUI.py:4859 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -7963,12 +7990,12 @@ msgstr "" "Sprint-Layout 2: 4 ZOLL LZ\n" "KiCAD 3: 5 ZOLL TZ" -#: flatcamGUI/FlatCAMGUI.py:4873 +#: flatcamGUI/FlatCAMGUI.py:4887 msgid "Default values for INCH are 2:4" msgstr "Die Standardwerte für ZOLL sind 2: 4" -#: flatcamGUI/FlatCAMGUI.py:4881 flatcamGUI/FlatCAMGUI.py:4914 -#: flatcamGUI/FlatCAMGUI.py:5389 +#: flatcamGUI/FlatCAMGUI.py:4895 flatcamGUI/FlatCAMGUI.py:4928 +#: flatcamGUI/FlatCAMGUI.py:5403 msgid "" "This numbers signify the number of digits in\n" "the whole part of Excellon coordinates." @@ -7976,8 +8003,8 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "der gesamte Teil der Excellon-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:4895 flatcamGUI/FlatCAMGUI.py:4928 -#: flatcamGUI/FlatCAMGUI.py:5403 +#: flatcamGUI/FlatCAMGUI.py:4909 flatcamGUI/FlatCAMGUI.py:4942 +#: flatcamGUI/FlatCAMGUI.py:5417 msgid "" "This numbers signify the number of digits in\n" "the decimal part of Excellon coordinates." @@ -7985,19 +8012,19 @@ msgstr "" "Diese Zahlen geben die Anzahl der Ziffern in an\n" "der Dezimalteil der Excellon-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:4903 +#: flatcamGUI/FlatCAMGUI.py:4917 msgid "METRIC" msgstr "METRISCH" -#: flatcamGUI/FlatCAMGUI.py:4906 +#: flatcamGUI/FlatCAMGUI.py:4920 msgid "Default values for METRIC are 3:3" msgstr "Die Standardwerte für METRISCH sind 3: 3" -#: flatcamGUI/FlatCAMGUI.py:4937 +#: flatcamGUI/FlatCAMGUI.py:4951 msgid "Default Zeros" msgstr "Standard Nullen" -#: flatcamGUI/FlatCAMGUI.py:4940 flatcamGUI/FlatCAMGUI.py:5438 +#: flatcamGUI/FlatCAMGUI.py:4954 flatcamGUI/FlatCAMGUI.py:5452 msgid "" "This sets the type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8011,7 +8038,7 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen beibehalten\n" "und führende Nullen werden entfernt." -#: flatcamGUI/FlatCAMGUI.py:4951 +#: flatcamGUI/FlatCAMGUI.py:4965 msgid "" "This sets the default type of Excellon zeros.\n" "If it is not detected in the parsed file the value here\n" @@ -8027,11 +8054,11 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen beibehalten\n" "und führende Nullen werden entfernt." -#: flatcamGUI/FlatCAMGUI.py:4961 +#: flatcamGUI/FlatCAMGUI.py:4975 msgid "Default Units" msgstr "Standard Einheiten" -#: flatcamGUI/FlatCAMGUI.py:4964 +#: flatcamGUI/FlatCAMGUI.py:4978 msgid "" "This sets the default units of Excellon files.\n" "If it is not detected in the parsed file the value here\n" @@ -8043,7 +8070,7 @@ msgstr "" "wird verwendet. Einige Excellon-Dateien haben keinen Header\n" "Daher wird dieser Parameter verwendet." -#: flatcamGUI/FlatCAMGUI.py:4975 +#: flatcamGUI/FlatCAMGUI.py:4989 msgid "" "This sets the units of Excellon files.\n" "Some Excellon files don't have an header\n" @@ -8053,15 +8080,15 @@ msgstr "" "Einige Excellon-Dateien haben keinen Header\n" "Daher wird dieser Parameter verwendet." -#: flatcamGUI/FlatCAMGUI.py:4983 +#: flatcamGUI/FlatCAMGUI.py:4997 msgid "Excellon Optimization" msgstr "Optimierung der Excellons" -#: flatcamGUI/FlatCAMGUI.py:4986 +#: flatcamGUI/FlatCAMGUI.py:5000 msgid "Algorithm: " msgstr "Algorithmus: " -#: flatcamGUI/FlatCAMGUI.py:4988 flatcamGUI/FlatCAMGUI.py:5002 +#: flatcamGUI/FlatCAMGUI.py:5002 flatcamGUI/FlatCAMGUI.py:5016 msgid "" "This sets the optimization type for the Excellon drill path.\n" "If MH is checked then Google OR-Tools algorithm with MetaHeuristic\n" @@ -8085,15 +8112,15 @@ msgstr "" "Wenn DEAKTIVIERT, arbeitet FlatCAM im 32-Bit-Modus und verwendet es\n" "Traveling Salesman-Algorithmus zur Pfadoptimierung." -#: flatcamGUI/FlatCAMGUI.py:4999 +#: flatcamGUI/FlatCAMGUI.py:5013 msgid "MH" msgstr "MH" -#: flatcamGUI/FlatCAMGUI.py:5013 +#: flatcamGUI/FlatCAMGUI.py:5027 msgid "Optimization Time" msgstr "Optimierungszeit" -#: flatcamGUI/FlatCAMGUI.py:5016 +#: flatcamGUI/FlatCAMGUI.py:5030 msgid "" "When OR-Tools Metaheuristic (MH) is enabled there is a\n" "maximum threshold for how much time is spent doing the\n" @@ -8105,16 +8132,16 @@ msgstr "" "Pfadoptimierung. Diese maximale Dauer wird hier eingestellt.\n" "In Sekunden." -#: flatcamGUI/FlatCAMGUI.py:5059 +#: flatcamGUI/FlatCAMGUI.py:5073 msgid "Excellon Options" msgstr "Excellon-Optionen" -#: flatcamGUI/FlatCAMGUI.py:5062 flatcamGUI/FlatCAMGUI.py:5803 -#: flatcamGUI/ObjectUI.py:634 +#: flatcamGUI/FlatCAMGUI.py:5076 flatcamGUI/FlatCAMGUI.py:5817 +#: flatcamGUI/ObjectUI.py:643 msgid "Create CNC Job" msgstr "CNC-Job erstellen" -#: flatcamGUI/FlatCAMGUI.py:5064 +#: flatcamGUI/FlatCAMGUI.py:5078 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object." @@ -8122,14 +8149,14 @@ msgstr "" "Parameter, die zum Erstellen eines CNC-Auftragsobjekts verwendet werden\n" "für dieses Bohrobjekt." -#: flatcamGUI/FlatCAMGUI.py:5072 flatcamGUI/FlatCAMGUI.py:5815 -#: flatcamGUI/FlatCAMGUI.py:6516 flatcamGUI/FlatCAMGUI.py:7154 -#: flatcamGUI/ObjectUI.py:645 flatcamGUI/ObjectUI.py:1123 +#: flatcamGUI/FlatCAMGUI.py:5086 flatcamGUI/FlatCAMGUI.py:5829 +#: flatcamGUI/FlatCAMGUI.py:6530 flatcamGUI/FlatCAMGUI.py:7190 +#: flatcamGUI/ObjectUI.py:654 flatcamGUI/ObjectUI.py:1132 #: flatcamTools/ToolCalculators.py:107 flatcamTools/ToolNonCopperClear.py:269 msgid "Cut Z" msgstr "Schnitt Z" -#: flatcamGUI/FlatCAMGUI.py:5074 flatcamGUI/ObjectUI.py:647 +#: flatcamGUI/FlatCAMGUI.py:5088 flatcamGUI/ObjectUI.py:656 msgid "" "Drill depth (negative)\n" "below the copper surface." @@ -8137,12 +8164,12 @@ msgstr "" "Bohrtiefe (negativ)\n" "unter der Kupferoberfläche." -#: flatcamGUI/FlatCAMGUI.py:5081 flatcamGUI/FlatCAMGUI.py:5853 -#: flatcamGUI/ObjectUI.py:655 flatcamGUI/ObjectUI.py:1157 +#: flatcamGUI/FlatCAMGUI.py:5095 flatcamGUI/FlatCAMGUI.py:5867 +#: flatcamGUI/ObjectUI.py:664 flatcamGUI/ObjectUI.py:1166 msgid "Travel Z" msgstr "Reise Z" -#: flatcamGUI/FlatCAMGUI.py:5083 flatcamGUI/ObjectUI.py:657 +#: flatcamGUI/FlatCAMGUI.py:5097 flatcamGUI/ObjectUI.py:666 msgid "" "Tool height when travelling\n" "across the XY plane." @@ -8150,12 +8177,12 @@ msgstr "" "Werkzeughöhe auf Reisen\n" "über die XY-Ebene." -#: flatcamGUI/FlatCAMGUI.py:5091 flatcamGUI/FlatCAMGUI.py:5863 -#: flatcamGUI/ObjectUI.py:665 flatcamGUI/ObjectUI.py:1175 +#: flatcamGUI/FlatCAMGUI.py:5105 flatcamGUI/FlatCAMGUI.py:5877 +#: flatcamGUI/ObjectUI.py:674 flatcamGUI/ObjectUI.py:1184 msgid "Tool change" msgstr "Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:5093 flatcamGUI/ObjectUI.py:667 +#: flatcamGUI/FlatCAMGUI.py:5107 flatcamGUI/ObjectUI.py:676 msgid "" "Include tool-change sequence\n" "in G-Code (Pause for tool change)." @@ -8163,12 +8190,12 @@ msgstr "" "Werkzeugwechselfolge einbeziehen\n" "im G-Code (Pause für Werkzeugwechsel)." -#: flatcamGUI/FlatCAMGUI.py:5100 flatcamGUI/FlatCAMGUI.py:5875 +#: flatcamGUI/FlatCAMGUI.py:5114 flatcamGUI/FlatCAMGUI.py:5889 msgid "Toolchange Z" msgstr "Werkzeugwechsel Z" -#: flatcamGUI/FlatCAMGUI.py:5102 flatcamGUI/FlatCAMGUI.py:5878 -#: flatcamGUI/ObjectUI.py:675 flatcamGUI/ObjectUI.py:1171 +#: flatcamGUI/FlatCAMGUI.py:5116 flatcamGUI/FlatCAMGUI.py:5892 +#: flatcamGUI/ObjectUI.py:684 flatcamGUI/ObjectUI.py:1180 msgid "" "Z-axis position (height) for\n" "tool change." @@ -8176,11 +8203,11 @@ msgstr "" "Z-Achsenposition (Höhe) für\n" "Werkzeugwechsel." -#: flatcamGUI/FlatCAMGUI.py:5109 flatcamGUI/ObjectUI.py:704 +#: flatcamGUI/FlatCAMGUI.py:5123 flatcamGUI/ObjectUI.py:713 msgid "Feedrate (Plunge)" msgstr "Vorschub (Tauchgang)" -#: flatcamGUI/FlatCAMGUI.py:5111 flatcamGUI/ObjectUI.py:706 +#: flatcamGUI/FlatCAMGUI.py:5125 flatcamGUI/ObjectUI.py:715 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -8190,11 +8217,11 @@ msgstr "" "(in Einheiten pro Minute).\n" "Dies ist für die lineare Bewegung G01." -#: flatcamGUI/FlatCAMGUI.py:5120 +#: flatcamGUI/FlatCAMGUI.py:5134 msgid "Spindle Speed" msgstr "Spulengeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:5122 flatcamGUI/ObjectUI.py:733 +#: flatcamGUI/FlatCAMGUI.py:5136 flatcamGUI/ObjectUI.py:742 msgid "" "Speed of the spindle\n" "in RPM (optional)" @@ -8202,11 +8229,11 @@ msgstr "" "Geschwindigkeit der Spindel\n" "in RPM (optional)" -#: flatcamGUI/FlatCAMGUI.py:5130 flatcamGUI/FlatCAMGUI.py:5921 +#: flatcamGUI/FlatCAMGUI.py:5144 flatcamGUI/FlatCAMGUI.py:5935 msgid "Spindle dir." msgstr "Spindelrichtung" -#: flatcamGUI/FlatCAMGUI.py:5132 flatcamGUI/FlatCAMGUI.py:5923 +#: flatcamGUI/FlatCAMGUI.py:5146 flatcamGUI/FlatCAMGUI.py:5937 msgid "" "This sets the direction that the spindle is rotating.\n" "It can be either:\n" @@ -8218,13 +8245,13 @@ msgstr "" "- CW = im Uhrzeigersinn oder\n" "- CCW = gegen den Uhrzeigersinn" -#: flatcamGUI/FlatCAMGUI.py:5144 flatcamGUI/FlatCAMGUI.py:5935 -#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1271 +#: flatcamGUI/FlatCAMGUI.py:5158 flatcamGUI/FlatCAMGUI.py:5949 +#: flatcamGUI/ObjectUI.py:750 flatcamGUI/ObjectUI.py:1280 msgid "Dwell" msgstr "Wohnen" -#: flatcamGUI/FlatCAMGUI.py:5146 flatcamGUI/FlatCAMGUI.py:5937 -#: flatcamGUI/ObjectUI.py:743 flatcamGUI/ObjectUI.py:1274 +#: flatcamGUI/FlatCAMGUI.py:5160 flatcamGUI/FlatCAMGUI.py:5951 +#: flatcamGUI/ObjectUI.py:752 flatcamGUI/ObjectUI.py:1283 msgid "" "Pause to allow the spindle to reach its\n" "speed before cutting." @@ -8232,21 +8259,21 @@ msgstr "" "Pause, damit die Spindel ihre erreichen kann\n" "Geschwindigkeit vor dem Schneiden." -#: flatcamGUI/FlatCAMGUI.py:5149 flatcamGUI/FlatCAMGUI.py:5940 +#: flatcamGUI/FlatCAMGUI.py:5163 flatcamGUI/FlatCAMGUI.py:5954 msgid "Duration" msgstr "Dauer" -#: flatcamGUI/FlatCAMGUI.py:5151 flatcamGUI/FlatCAMGUI.py:5942 -#: flatcamGUI/ObjectUI.py:748 flatcamGUI/ObjectUI.py:1280 +#: flatcamGUI/FlatCAMGUI.py:5165 flatcamGUI/FlatCAMGUI.py:5956 +#: flatcamGUI/ObjectUI.py:757 flatcamGUI/ObjectUI.py:1289 msgid "Number of time units for spindle to dwell." msgstr "Anzahl der Zeiteinheiten, in denen die Spindel verweilen soll." -#: flatcamGUI/FlatCAMGUI.py:5163 flatcamGUI/FlatCAMGUI.py:5952 -#: flatcamGUI/ObjectUI.py:756 +#: flatcamGUI/FlatCAMGUI.py:5177 flatcamGUI/FlatCAMGUI.py:5966 +#: flatcamGUI/ObjectUI.py:765 msgid "Postprocessor" msgstr "Postprozessor" -#: flatcamGUI/FlatCAMGUI.py:5165 flatcamGUI/ObjectUI.py:758 +#: flatcamGUI/FlatCAMGUI.py:5179 flatcamGUI/ObjectUI.py:767 msgid "" "The postprocessor JSON file that dictates\n" "Gcode output." @@ -8254,11 +8281,11 @@ msgstr "" "Die Postprozessor-JSON-Datei, die diktiert\n" "Gcode-Ausgabe." -#: flatcamGUI/FlatCAMGUI.py:5174 flatcamGUI/ObjectUI.py:798 +#: flatcamGUI/FlatCAMGUI.py:5188 flatcamGUI/ObjectUI.py:807 msgid "Gcode" msgstr "Gcode" -#: flatcamGUI/FlatCAMGUI.py:5176 +#: flatcamGUI/FlatCAMGUI.py:5190 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -8271,23 +8298,23 @@ msgstr "" "angezeigt\n" "in Bohrer umgewandelt." -#: flatcamGUI/FlatCAMGUI.py:5192 flatcamGUI/ObjectUI.py:822 +#: flatcamGUI/FlatCAMGUI.py:5206 flatcamGUI/ObjectUI.py:831 msgid "Mill Holes" msgstr "Löcher bohren" -#: flatcamGUI/FlatCAMGUI.py:5194 flatcamGUI/ObjectUI.py:824 +#: flatcamGUI/FlatCAMGUI.py:5208 flatcamGUI/ObjectUI.py:833 msgid "Create Geometry for milling holes." msgstr "Erstellen Sie Geometrie zum Fräsen von Löchern." -#: flatcamGUI/FlatCAMGUI.py:5198 flatcamGUI/ObjectUI.py:837 +#: flatcamGUI/FlatCAMGUI.py:5212 flatcamGUI/ObjectUI.py:846 msgid "Drill Tool dia" msgstr "Bohrwerkzeugs Durchm." -#: flatcamGUI/FlatCAMGUI.py:5205 flatcamGUI/ObjectUI.py:853 +#: flatcamGUI/FlatCAMGUI.py:5219 flatcamGUI/ObjectUI.py:862 msgid "Slot Tool dia" msgstr "Schlitzwerkzeug Durchmesser" -#: flatcamGUI/FlatCAMGUI.py:5207 flatcamGUI/ObjectUI.py:855 +#: flatcamGUI/FlatCAMGUI.py:5221 flatcamGUI/ObjectUI.py:864 msgid "" "Diameter of the cutting tool\n" "when milling slots." @@ -8295,19 +8322,19 @@ msgstr "" "Durchmesser des Schneidewerkzeugs\n" "beim Fräsen von Schlitzen." -#: flatcamGUI/FlatCAMGUI.py:5219 +#: flatcamGUI/FlatCAMGUI.py:5233 msgid "Defaults" msgstr "Standardwerte" -#: flatcamGUI/FlatCAMGUI.py:5232 +#: flatcamGUI/FlatCAMGUI.py:5246 msgid "Excellon Adv. Options" msgstr "Excellon erweiterte Optionen" -#: flatcamGUI/FlatCAMGUI.py:5238 flatcamGUI/FlatCAMGUI.py:5975 +#: flatcamGUI/FlatCAMGUI.py:5252 flatcamGUI/FlatCAMGUI.py:5989 msgid "Advanced Options" msgstr "Erweiterte Optionen" -#: flatcamGUI/FlatCAMGUI.py:5240 +#: flatcamGUI/FlatCAMGUI.py:5254 msgid "" "Parameters used to create a CNC Job object\n" "for this drill object that are shown when App Level is Advanced." @@ -8316,11 +8343,11 @@ msgstr "" "für dieses Drill-Objekt, das angezeigt wird, wenn die App-Ebene Erweitert " "ist." -#: flatcamGUI/FlatCAMGUI.py:5248 flatcamGUI/ObjectUI.py:605 +#: flatcamGUI/FlatCAMGUI.py:5262 flatcamGUI/ObjectUI.py:614 msgid "Offset Z" msgstr "Versatz Z" -#: flatcamGUI/FlatCAMGUI.py:5250 flatcamGUI/ObjectUI.py:623 +#: flatcamGUI/FlatCAMGUI.py:5264 flatcamGUI/ObjectUI.py:632 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" @@ -8331,20 +8358,20 @@ msgstr "" "erzeugen.\n" "Der Wert hier kann den Parameter Cut Z ausgleichen." -#: flatcamGUI/FlatCAMGUI.py:5257 +#: flatcamGUI/FlatCAMGUI.py:5271 msgid "Toolchange X,Y" msgstr "Werkzeugwechsel X, Y" -#: flatcamGUI/FlatCAMGUI.py:5259 flatcamGUI/FlatCAMGUI.py:5988 +#: flatcamGUI/FlatCAMGUI.py:5273 flatcamGUI/FlatCAMGUI.py:6002 msgid "Toolchange X,Y position." msgstr "Werkzeugwechsel X, Y Position." -#: flatcamGUI/FlatCAMGUI.py:5265 flatcamGUI/FlatCAMGUI.py:5995 -#: flatcamGUI/ObjectUI.py:684 +#: flatcamGUI/FlatCAMGUI.py:5279 flatcamGUI/FlatCAMGUI.py:6009 +#: flatcamGUI/ObjectUI.py:693 msgid "Start move Z" msgstr "Startbewegung Z" -#: flatcamGUI/FlatCAMGUI.py:5267 flatcamGUI/ObjectUI.py:686 +#: flatcamGUI/FlatCAMGUI.py:5281 flatcamGUI/ObjectUI.py:695 msgid "" "Height of the tool just after start.\n" "Delete the value if you don't need this feature." @@ -8352,13 +8379,13 @@ msgstr "" "Höhe des Werkzeugs gleich nach dem Start.\n" "Löschen Sie den Wert, wenn Sie diese Funktion nicht benötigen." -#: flatcamGUI/FlatCAMGUI.py:5274 flatcamGUI/FlatCAMGUI.py:6005 -#: flatcamGUI/ObjectUI.py:694 flatcamGUI/ObjectUI.py:1201 +#: flatcamGUI/FlatCAMGUI.py:5288 flatcamGUI/FlatCAMGUI.py:6019 +#: flatcamGUI/ObjectUI.py:703 flatcamGUI/ObjectUI.py:1210 msgid "End move Z" msgstr "Bewegung beenden Z" -#: flatcamGUI/FlatCAMGUI.py:5276 flatcamGUI/FlatCAMGUI.py:6007 -#: flatcamGUI/ObjectUI.py:696 flatcamGUI/ObjectUI.py:1203 +#: flatcamGUI/FlatCAMGUI.py:5290 flatcamGUI/FlatCAMGUI.py:6021 +#: flatcamGUI/ObjectUI.py:705 flatcamGUI/ObjectUI.py:1212 msgid "" "Height of the tool after\n" "the last move at the end of the job." @@ -8366,11 +8393,11 @@ msgstr "" "Höhe des Werkzeugs nach\n" "die letzte Bewegung am Ende des Jobs." -#: flatcamGUI/FlatCAMGUI.py:5283 flatcamGUI/ObjectUI.py:715 +#: flatcamGUI/FlatCAMGUI.py:5297 flatcamGUI/ObjectUI.py:724 msgid "Feedrate Rapids" msgstr "Vorschubgeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:5285 flatcamGUI/ObjectUI.py:717 +#: flatcamGUI/FlatCAMGUI.py:5299 flatcamGUI/ObjectUI.py:726 msgid "" "Tool speed while drilling\n" "(in units per minute).\n" @@ -8384,13 +8411,13 @@ msgstr "" "Es ist nur für Marlin nützlich,\n" "für andere Fälle ignorieren." -#: flatcamGUI/FlatCAMGUI.py:5296 flatcamGUI/FlatCAMGUI.py:6038 -#: flatcamGUI/ObjectUI.py:767 flatcamGUI/ObjectUI.py:1299 +#: flatcamGUI/FlatCAMGUI.py:5310 flatcamGUI/FlatCAMGUI.py:6052 +#: flatcamGUI/ObjectUI.py:776 flatcamGUI/ObjectUI.py:1308 msgid "Probe Z depth" msgstr "Sonde Z Tiefe" -#: flatcamGUI/FlatCAMGUI.py:5298 flatcamGUI/FlatCAMGUI.py:6040 -#: flatcamGUI/ObjectUI.py:769 flatcamGUI/ObjectUI.py:1301 +#: flatcamGUI/FlatCAMGUI.py:5312 flatcamGUI/FlatCAMGUI.py:6054 +#: flatcamGUI/ObjectUI.py:778 flatcamGUI/ObjectUI.py:1310 msgid "" "The maximum depth that the probe is allowed\n" "to probe. Negative value, in current units." @@ -8398,21 +8425,21 @@ msgstr "" "Die maximale Tiefe, in der die Sonde zulässig ist\n" "zu untersuchen. Negativer Wert in aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:5306 flatcamGUI/FlatCAMGUI.py:6048 -#: flatcamGUI/ObjectUI.py:779 flatcamGUI/ObjectUI.py:1311 +#: flatcamGUI/FlatCAMGUI.py:5320 flatcamGUI/FlatCAMGUI.py:6062 +#: flatcamGUI/ObjectUI.py:788 flatcamGUI/ObjectUI.py:1320 msgid "Feedrate Probe" msgstr "Vorschubsonde" -#: flatcamGUI/FlatCAMGUI.py:5308 flatcamGUI/FlatCAMGUI.py:6050 -#: flatcamGUI/ObjectUI.py:781 flatcamGUI/ObjectUI.py:1313 +#: flatcamGUI/FlatCAMGUI.py:5322 flatcamGUI/FlatCAMGUI.py:6064 +#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1322 msgid "The feedrate used while the probe is probing." msgstr "Der Vorschub während der Sondenmessung." -#: flatcamGUI/FlatCAMGUI.py:5314 flatcamGUI/FlatCAMGUI.py:6057 +#: flatcamGUI/FlatCAMGUI.py:5328 flatcamGUI/FlatCAMGUI.py:6071 msgid "Fast Plunge" msgstr "Schneller Sprung" -#: flatcamGUI/FlatCAMGUI.py:5316 flatcamGUI/FlatCAMGUI.py:6059 +#: flatcamGUI/FlatCAMGUI.py:5330 flatcamGUI/FlatCAMGUI.py:6073 msgid "" "By checking this, the vertical move from\n" "Z_Toolchange to Z_move is done with G0,\n" @@ -8424,11 +8451,11 @@ msgstr "" "Das bedeutet die schnellste verfügbare Geschwindigkeit.\n" "WARNUNG: Die Verschiebung erfolgt bei Toolchange X, Y-Koordinaten." -#: flatcamGUI/FlatCAMGUI.py:5325 +#: flatcamGUI/FlatCAMGUI.py:5339 msgid "Fast Retract" msgstr "Schneller Rückzug" -#: flatcamGUI/FlatCAMGUI.py:5327 +#: flatcamGUI/FlatCAMGUI.py:5341 msgid "" "Exit hole strategy.\n" " - When uncheked, while exiting the drilled hole the drill bit\n" @@ -8444,11 +8471,11 @@ msgstr "" "  - Wenn Sie den Weg von Z-Schnitt (Schnitttiefe) nach Z_Move prüfen\n" "(Fahrhöhe) erfolgt so schnell wie möglich (G0) in einem Zug." -#: flatcamGUI/FlatCAMGUI.py:5346 +#: flatcamGUI/FlatCAMGUI.py:5360 msgid "Excellon Export" msgstr "Excellon Export" -#: flatcamGUI/FlatCAMGUI.py:5351 +#: flatcamGUI/FlatCAMGUI.py:5365 msgid "" "The parameters set here are used in the file exported\n" "when using the File -> Export -> Export Excellon menu entry." @@ -8457,11 +8484,11 @@ msgstr "" "bei Verwendung des Menüeintrags Datei -> Exportieren -> Exportieren von " "Excellon." -#: flatcamGUI/FlatCAMGUI.py:5362 flatcamGUI/FlatCAMGUI.py:5368 +#: flatcamGUI/FlatCAMGUI.py:5376 flatcamGUI/FlatCAMGUI.py:5382 msgid "The units used in the Excellon file." msgstr "Die in der Excellon-Datei verwendeten Einheiten." -#: flatcamGUI/FlatCAMGUI.py:5376 +#: flatcamGUI/FlatCAMGUI.py:5390 msgid "" "The NC drill files, usually named Excellon files\n" "are files that can be found in different formats.\n" @@ -8473,11 +8500,11 @@ msgstr "" "Hier legen wir das verwendete Format fest\n" "Koordinaten verwenden keine Periode." -#: flatcamGUI/FlatCAMGUI.py:5412 +#: flatcamGUI/FlatCAMGUI.py:5426 msgid "Format" msgstr "Format" -#: flatcamGUI/FlatCAMGUI.py:5414 flatcamGUI/FlatCAMGUI.py:5424 +#: flatcamGUI/FlatCAMGUI.py:5428 flatcamGUI/FlatCAMGUI.py:5438 msgid "" "Select the kind of coordinates format used.\n" "Coordinates can be saved with decimal point or without.\n" @@ -8494,15 +8521,15 @@ msgstr "" "Es muss auch angegeben werden, wenn LZ = führende Nullen beibehalten werden\n" "oder TZ = nachfolgende Nullen bleiben erhalten." -#: flatcamGUI/FlatCAMGUI.py:5421 +#: flatcamGUI/FlatCAMGUI.py:5435 msgid "Decimal" msgstr "Dezimal" -#: flatcamGUI/FlatCAMGUI.py:5422 +#: flatcamGUI/FlatCAMGUI.py:5436 msgid "No-Decimal" msgstr "Keine Dezimalzahl" -#: flatcamGUI/FlatCAMGUI.py:5448 +#: flatcamGUI/FlatCAMGUI.py:5462 msgid "" "This sets the default type of Excellon zeros.\n" "If LZ then Leading Zeros are kept and\n" @@ -8516,11 +8543,11 @@ msgstr "" "Wenn TZ aktiviert ist, werden nachfolgende Nullen beibehalten\n" "und führende Nullen werden entfernt." -#: flatcamGUI/FlatCAMGUI.py:5458 +#: flatcamGUI/FlatCAMGUI.py:5472 msgid "Slot type" msgstr "Schlitze-Typ" -#: flatcamGUI/FlatCAMGUI.py:5461 flatcamGUI/FlatCAMGUI.py:5471 +#: flatcamGUI/FlatCAMGUI.py:5475 flatcamGUI/FlatCAMGUI.py:5485 msgid "" "This sets how the slots will be exported.\n" "If ROUTED then the slots will be routed\n" @@ -8534,19 +8561,19 @@ msgstr "" "Beim Bohren (G85) werden die Steckplätze exportiert\n" "Verwenden Sie den Befehl Bohrschlitz (G85)." -#: flatcamGUI/FlatCAMGUI.py:5468 +#: flatcamGUI/FlatCAMGUI.py:5482 msgid "Routed" msgstr "Geroutet" -#: flatcamGUI/FlatCAMGUI.py:5469 +#: flatcamGUI/FlatCAMGUI.py:5483 msgid "Drilled(G85)" msgstr "Gebohrt (G85)" -#: flatcamGUI/FlatCAMGUI.py:5501 +#: flatcamGUI/FlatCAMGUI.py:5515 msgid "A list of Excellon Editor parameters." msgstr "Eine Liste der Excellon Editor-Parameter." -#: flatcamGUI/FlatCAMGUI.py:5511 +#: flatcamGUI/FlatCAMGUI.py:5525 msgid "" "Set the number of selected Excellon geometry\n" "items above which the utility geometry\n" @@ -8560,40 +8587,40 @@ msgstr "" "Erhöht die Leistung beim Bewegen von a\n" "große Anzahl von geometrischen Elementen." -#: flatcamGUI/FlatCAMGUI.py:5523 +#: flatcamGUI/FlatCAMGUI.py:5537 msgid "New Tool Dia" msgstr "Neuer Werkzeugdurchm." -#: flatcamGUI/FlatCAMGUI.py:5546 +#: flatcamGUI/FlatCAMGUI.py:5560 msgid "Linear Drill Array" msgstr "Linearbohrer-Array" -#: flatcamGUI/FlatCAMGUI.py:5566 flatcamGUI/FlatCAMGUI.py:5986 +#: flatcamGUI/FlatCAMGUI.py:5580 flatcamGUI/FlatCAMGUI.py:6000 #, python-format msgid "%s:" msgstr "%s:" -#: flatcamGUI/FlatCAMGUI.py:5586 +#: flatcamGUI/FlatCAMGUI.py:5600 msgid "Circular Drill Array" msgstr "Rundbohrer-Array" -#: flatcamGUI/FlatCAMGUI.py:5614 flatcamGUI/ObjectUI.py:604 +#: flatcamGUI/FlatCAMGUI.py:5628 flatcamGUI/ObjectUI.py:613 msgid "Slots" msgstr "Schlüssel" -#: flatcamGUI/FlatCAMGUI.py:5665 +#: flatcamGUI/FlatCAMGUI.py:5679 msgid "Linear Slot Array" msgstr "Lineare Schlitzanordnung" -#: flatcamGUI/FlatCAMGUI.py:5717 +#: flatcamGUI/FlatCAMGUI.py:5731 msgid "Circular Slot Array" msgstr "Kreisschlitz-Array" -#: flatcamGUI/FlatCAMGUI.py:5751 +#: flatcamGUI/FlatCAMGUI.py:5765 msgid "Geometry General" msgstr "Geometrie Allgemein" -#: flatcamGUI/FlatCAMGUI.py:5770 +#: flatcamGUI/FlatCAMGUI.py:5784 msgid "" "The number of circle steps for Geometry \n" "circle and arc shapes linear approximation." @@ -8601,11 +8628,11 @@ msgstr "" "Die Anzahl der Kreisschritte für die Geometrie\n" "Kreis- und Bogenformen lineare Annäherung." -#: flatcamGUI/FlatCAMGUI.py:5798 +#: flatcamGUI/FlatCAMGUI.py:5812 msgid "Geometry Options" msgstr "Geometrieoptionen" -#: flatcamGUI/FlatCAMGUI.py:5805 +#: flatcamGUI/FlatCAMGUI.py:5819 msgid "" "Create a CNC Job object\n" "tracing the contours of this\n" @@ -8615,7 +8642,7 @@ msgstr "" "die Konturen davon nachzeichnen\n" "Geometrieobjekt." -#: flatcamGUI/FlatCAMGUI.py:5817 flatcamGUI/ObjectUI.py:1126 +#: flatcamGUI/FlatCAMGUI.py:5831 flatcamGUI/ObjectUI.py:1135 msgid "" "Cutting depth (negative)\n" "below the copper surface." @@ -8623,11 +8650,11 @@ msgstr "" "Schnitttiefe (negativ)\n" "unter der Kupferoberfläche." -#: flatcamGUI/FlatCAMGUI.py:5825 flatcamGUI/ObjectUI.py:1135 +#: flatcamGUI/FlatCAMGUI.py:5839 flatcamGUI/ObjectUI.py:1144 msgid "Multi-Depth" msgstr "Mehrfache Tiefe" -#: flatcamGUI/FlatCAMGUI.py:5828 flatcamGUI/ObjectUI.py:1138 +#: flatcamGUI/FlatCAMGUI.py:5842 flatcamGUI/ObjectUI.py:1147 msgid "" "Use multiple passes to limit\n" "the cut depth in each pass. Will\n" @@ -8639,11 +8666,11 @@ msgstr "" "mehrmals schneiden, bis Schnitt Z ist\n" "erreicht." -#: flatcamGUI/FlatCAMGUI.py:5837 +#: flatcamGUI/FlatCAMGUI.py:5851 msgid "Depth/Pass" msgstr "Tiefe / Pass" -#: flatcamGUI/FlatCAMGUI.py:5839 +#: flatcamGUI/FlatCAMGUI.py:5853 msgid "" "The depth to cut on each pass,\n" "when multidepth is enabled.\n" @@ -8657,7 +8684,7 @@ msgstr "" "es ist ein Bruch aus der Tiefe\n" "was einen negativen Wert hat." -#: flatcamGUI/FlatCAMGUI.py:5855 flatcamGUI/ObjectUI.py:1159 +#: flatcamGUI/FlatCAMGUI.py:5869 flatcamGUI/ObjectUI.py:1168 msgid "" "Height of the tool when\n" "moving without cutting." @@ -8665,7 +8692,7 @@ msgstr "" "Höhe des Werkzeugs bei\n" "Bewegen ohne zu schneiden." -#: flatcamGUI/FlatCAMGUI.py:5866 flatcamGUI/ObjectUI.py:1178 +#: flatcamGUI/FlatCAMGUI.py:5880 flatcamGUI/ObjectUI.py:1187 msgid "" "Include tool-change sequence\n" "in the Machine Code (Pause for tool change)." @@ -8673,11 +8700,11 @@ msgstr "" "Werkzeugwechselfolge einbeziehen\n" "im Maschinencode (Pause für Werkzeugwechsel)." -#: flatcamGUI/FlatCAMGUI.py:5887 flatcamGUI/ObjectUI.py:1211 +#: flatcamGUI/FlatCAMGUI.py:5901 flatcamGUI/ObjectUI.py:1220 msgid "Feed Rate X-Y" msgstr "Vorschubrate X-Y" -#: flatcamGUI/FlatCAMGUI.py:5889 flatcamGUI/ObjectUI.py:1213 +#: flatcamGUI/FlatCAMGUI.py:5903 flatcamGUI/ObjectUI.py:1222 msgid "" "Cutting speed in the XY\n" "plane in units per minute" @@ -8685,11 +8712,11 @@ msgstr "" "Schnittgeschwindigkeit im XY\n" "Flugzeug in Einheiten pro Minute" -#: flatcamGUI/FlatCAMGUI.py:5897 flatcamGUI/ObjectUI.py:1221 +#: flatcamGUI/FlatCAMGUI.py:5911 flatcamGUI/ObjectUI.py:1230 msgid "Feed Rate Z" msgstr "Vorschubrate Z" -#: flatcamGUI/FlatCAMGUI.py:5899 flatcamGUI/ObjectUI.py:1223 +#: flatcamGUI/FlatCAMGUI.py:5913 flatcamGUI/ObjectUI.py:1232 msgid "" "Cutting speed in the XY\n" "plane in units per minute.\n" @@ -8699,12 +8726,12 @@ msgstr "" "Flugzeug in Einheiten pro Minute.\n" "Es heißt auch Sturz." -#: flatcamGUI/FlatCAMGUI.py:5908 flatcamGUI/ObjectUI.py:731 -#: flatcamGUI/ObjectUI.py:1258 +#: flatcamGUI/FlatCAMGUI.py:5922 flatcamGUI/ObjectUI.py:740 +#: flatcamGUI/ObjectUI.py:1267 msgid "Spindle speed" msgstr "Spulengeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:5911 flatcamGUI/ObjectUI.py:1261 +#: flatcamGUI/FlatCAMGUI.py:5925 flatcamGUI/ObjectUI.py:1270 msgid "" "Speed of the spindle in RPM (optional).\n" "If LASER postprocessor is used,\n" @@ -8714,7 +8741,7 @@ msgstr "" "Wenn LASER-Postprozessor verwendet wird,\n" "Dieser Wert ist die Leistung des Lasers." -#: flatcamGUI/FlatCAMGUI.py:5954 flatcamGUI/ObjectUI.py:1290 +#: flatcamGUI/FlatCAMGUI.py:5968 flatcamGUI/ObjectUI.py:1299 msgid "" "The Postprocessor file that dictates\n" "the Machine Code (like GCode, RML, HPGL) output." @@ -8722,11 +8749,11 @@ msgstr "" "Die Postprozessor-Datei, die diktiert\n" "den Maschinencode (wie GCode, RML, HPGL)." -#: flatcamGUI/FlatCAMGUI.py:5970 +#: flatcamGUI/FlatCAMGUI.py:5984 msgid "Geometry Adv. Options" msgstr "Geometrie Erw. Optionen" -#: flatcamGUI/FlatCAMGUI.py:5977 +#: flatcamGUI/FlatCAMGUI.py:5991 msgid "" "Parameters to create a CNC Job object\n" "tracing the contours of a Geometry object." @@ -8734,7 +8761,7 @@ msgstr "" "Parameter zum Erstellen eines CNC-Auftragsobjekts\n" "Verfolgung der Konturen eines Geometrieobjekts." -#: flatcamGUI/FlatCAMGUI.py:5997 +#: flatcamGUI/FlatCAMGUI.py:6011 msgid "" "Height of the tool just after starting the work.\n" "Delete the value if you don't need this feature." @@ -8742,11 +8769,11 @@ msgstr "" "Höhe des Werkzeugs unmittelbar nach Beginn der Arbeit.\n" "Löschen Sie den Wert, wenn Sie diese Funktion nicht benötigen." -#: flatcamGUI/FlatCAMGUI.py:6015 flatcamGUI/ObjectUI.py:1232 +#: flatcamGUI/FlatCAMGUI.py:6029 flatcamGUI/ObjectUI.py:1241 msgid "Feed Rate Rapids" msgstr "Vorschubgeschwindigkeit" -#: flatcamGUI/FlatCAMGUI.py:6017 flatcamGUI/ObjectUI.py:1234 +#: flatcamGUI/FlatCAMGUI.py:6031 flatcamGUI/ObjectUI.py:1243 msgid "" "Cutting speed in the XY plane\n" "(in units per minute).\n" @@ -8760,11 +8787,11 @@ msgstr "" "Es ist nur für Marlin nützlich,\n" "für andere Fälle ignorieren." -#: flatcamGUI/FlatCAMGUI.py:6028 flatcamGUI/ObjectUI.py:1248 +#: flatcamGUI/FlatCAMGUI.py:6042 flatcamGUI/ObjectUI.py:1257 msgid "Re-cut 1st pt." msgstr "1. Punkt erneut schneiden" -#: flatcamGUI/FlatCAMGUI.py:6030 flatcamGUI/ObjectUI.py:1250 +#: flatcamGUI/FlatCAMGUI.py:6044 flatcamGUI/ObjectUI.py:1259 msgid "" "In order to remove possible\n" "copper leftovers where first cut\n" @@ -8776,11 +8803,11 @@ msgstr "" "Beim letzten Schnitt treffen wir einen\n" "verlängerter Schnitt über dem ersten Schnittabschnitt." -#: flatcamGUI/FlatCAMGUI.py:6069 +#: flatcamGUI/FlatCAMGUI.py:6083 msgid "Seg. X size" msgstr "Seg. X Größe" -#: flatcamGUI/FlatCAMGUI.py:6071 +#: flatcamGUI/FlatCAMGUI.py:6085 msgid "" "The size of the trace segment on the X axis.\n" "Useful for auto-leveling.\n" @@ -8790,11 +8817,11 @@ msgstr "" "Nützlich für die automatische Nivellierung.\n" "Ein Wert von 0 bedeutet keine Segmentierung auf der X-Achse." -#: flatcamGUI/FlatCAMGUI.py:6080 +#: flatcamGUI/FlatCAMGUI.py:6094 msgid "Seg. Y size" msgstr "Seg. Y Größe" -#: flatcamGUI/FlatCAMGUI.py:6082 +#: flatcamGUI/FlatCAMGUI.py:6096 msgid "" "The size of the trace segment on the Y axis.\n" "Useful for auto-leveling.\n" @@ -8804,15 +8831,15 @@ msgstr "" "Nützlich für die automatische Nivellierung.\n" "Ein Wert von 0 bedeutet keine Segmentierung auf der Y-Achse." -#: flatcamGUI/FlatCAMGUI.py:6098 +#: flatcamGUI/FlatCAMGUI.py:6112 msgid "Geometry Editor" msgstr "Geo-Editor" -#: flatcamGUI/FlatCAMGUI.py:6103 +#: flatcamGUI/FlatCAMGUI.py:6117 msgid "A list of Geometry Editor parameters." msgstr "Eine Liste der Geometry Editor-Parameter." -#: flatcamGUI/FlatCAMGUI.py:6113 +#: flatcamGUI/FlatCAMGUI.py:6127 msgid "" "Set the number of selected geometry\n" "items above which the utility geometry\n" @@ -8826,20 +8853,20 @@ msgstr "" "Erhöht die Leistung beim Bewegen von a\n" "große Anzahl von geometrischen Elementen." -#: flatcamGUI/FlatCAMGUI.py:6132 +#: flatcamGUI/FlatCAMGUI.py:6146 msgid "CNC Job General" msgstr "CNC-Job Allgemein" -#: flatcamGUI/FlatCAMGUI.py:6145 flatcamGUI/ObjectUI.py:929 -#: flatcamGUI/ObjectUI.py:1492 +#: flatcamGUI/FlatCAMGUI.py:6159 flatcamGUI/ObjectUI.py:938 +#: flatcamGUI/ObjectUI.py:1501 msgid "Plot Object" msgstr "Plotobjekt" -#: flatcamGUI/FlatCAMGUI.py:6150 flatcamGUI/ObjectUI.py:1387 +#: flatcamGUI/FlatCAMGUI.py:6164 flatcamGUI/ObjectUI.py:1396 msgid "Plot kind" msgstr "Darstellungsart" -#: flatcamGUI/FlatCAMGUI.py:6152 flatcamGUI/ObjectUI.py:1390 +#: flatcamGUI/FlatCAMGUI.py:6166 flatcamGUI/ObjectUI.py:1399 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" @@ -8852,15 +8879,15 @@ msgstr "" "über dem Werkstück oder es kann vom Typ 'Ausschneiden' sein,\n" "was bedeutet, dass die Bewegungen, die in das Material geschnitten werden." -#: flatcamGUI/FlatCAMGUI.py:6160 flatcamGUI/ObjectUI.py:1399 +#: flatcamGUI/FlatCAMGUI.py:6174 flatcamGUI/ObjectUI.py:1408 msgid "Travel" msgstr "Reise" -#: flatcamGUI/FlatCAMGUI.py:6169 flatcamGUI/ObjectUI.py:1403 +#: flatcamGUI/FlatCAMGUI.py:6183 flatcamGUI/ObjectUI.py:1412 msgid "Display Annotation" msgstr "Anmerkung anzeigen" -#: flatcamGUI/FlatCAMGUI.py:6171 flatcamGUI/ObjectUI.py:1405 +#: flatcamGUI/FlatCAMGUI.py:6185 flatcamGUI/ObjectUI.py:1414 msgid "" "This selects if to display text annotation on the plot.\n" "When checked it will display numbers in order for each end\n" @@ -8872,23 +8899,23 @@ msgstr "" "richtigen Reihenfolge angezeigt\n" "einer Reiseleitung." -#: flatcamGUI/FlatCAMGUI.py:6183 +#: flatcamGUI/FlatCAMGUI.py:6197 msgid "Annotation Size" msgstr "Anmerkungsgröße" -#: flatcamGUI/FlatCAMGUI.py:6185 +#: flatcamGUI/FlatCAMGUI.py:6199 msgid "The font size of the annotation text. In pixels." msgstr "Die Schriftgröße des Anmerkungstextes. In Pixeln." -#: flatcamGUI/FlatCAMGUI.py:6193 +#: flatcamGUI/FlatCAMGUI.py:6207 msgid "Annotation Color" msgstr "Anmerkungsfarbe" -#: flatcamGUI/FlatCAMGUI.py:6195 +#: flatcamGUI/FlatCAMGUI.py:6209 msgid "Set the font color for the annotation texts." msgstr "Legen Sie die Schriftfarbe für die Anmerkungstexte fest." -#: flatcamGUI/FlatCAMGUI.py:6218 +#: flatcamGUI/FlatCAMGUI.py:6232 msgid "" "The number of circle steps for GCode \n" "circle and arc shapes linear approximation." @@ -8896,11 +8923,11 @@ msgstr "" "Die Anzahl der Kreisschritte für GCode\n" "Kreis- und Bogenformen lineare Annäherung." -#: flatcamGUI/FlatCAMGUI.py:6226 +#: flatcamGUI/FlatCAMGUI.py:6240 msgid "Travel dia" msgstr "Verfahrdurchm." -#: flatcamGUI/FlatCAMGUI.py:6228 +#: flatcamGUI/FlatCAMGUI.py:6242 msgid "" "The width of the travel lines to be\n" "rendered in the plot." @@ -8908,11 +8935,11 @@ msgstr "" "Die Breite der Fahrlinien soll sein\n" "in der Handlung gerendert." -#: flatcamGUI/FlatCAMGUI.py:6239 +#: flatcamGUI/FlatCAMGUI.py:6253 msgid "Coordinates decimals" msgstr "Koordinate Dezimalzahlen" -#: flatcamGUI/FlatCAMGUI.py:6241 +#: flatcamGUI/FlatCAMGUI.py:6255 msgid "" "The number of decimals to be used for \n" "the X, Y, Z coordinates in CNC code (GCODE, etc.)" @@ -8920,11 +8947,11 @@ msgstr "" "Die Anzahl der Dezimalstellen, für die verwendet werden soll\n" "die X-, Y-, Z-Koordinaten im CNC-Code (GCODE usw.)" -#: flatcamGUI/FlatCAMGUI.py:6249 +#: flatcamGUI/FlatCAMGUI.py:6263 msgid "Feedrate decimals" msgstr "Vorschub-Dezimalstellen" -#: flatcamGUI/FlatCAMGUI.py:6251 +#: flatcamGUI/FlatCAMGUI.py:6265 msgid "" "The number of decimals to be used for \n" "the Feedrate parameter in CNC code (GCODE, etc.)" @@ -8932,11 +8959,11 @@ msgstr "" "Die Anzahl der Dezimalstellen, für die verwendet werden soll\n" "der Vorschubparameter im CNC-Code (GCODE usw.)" -#: flatcamGUI/FlatCAMGUI.py:6259 +#: flatcamGUI/FlatCAMGUI.py:6273 msgid "Coordinates type" msgstr "Koordinaten eingeben" -#: flatcamGUI/FlatCAMGUI.py:6261 +#: flatcamGUI/FlatCAMGUI.py:6275 msgid "" "The type of coordinates to be used in Gcode.\n" "Can be:\n" @@ -8948,24 +8975,24 @@ msgstr "" "- Absolut G90 -> die Referenz ist der Ursprung x = 0, y = 0\n" "- Inkrementell G91 -> Die Referenz ist die vorherige Position" -#: flatcamGUI/FlatCAMGUI.py:6267 +#: flatcamGUI/FlatCAMGUI.py:6281 msgid "Absolute G90" msgstr "Absolut G90" -#: flatcamGUI/FlatCAMGUI.py:6268 +#: flatcamGUI/FlatCAMGUI.py:6282 msgid "Incremental G91" msgstr "Inkrementelles G91" -#: flatcamGUI/FlatCAMGUI.py:6285 +#: flatcamGUI/FlatCAMGUI.py:6299 msgid "CNC Job Options" msgstr "CNC-Auftragsoptionen" -#: flatcamGUI/FlatCAMGUI.py:6288 +#: flatcamGUI/FlatCAMGUI.py:6302 msgid "Export G-Code" msgstr "G-Code exportieren" -#: flatcamGUI/FlatCAMGUI.py:6290 flatcamGUI/FlatCAMGUI.py:6331 -#: flatcamGUI/ObjectUI.py:1526 +#: flatcamGUI/FlatCAMGUI.py:6304 flatcamGUI/FlatCAMGUI.py:6345 +#: flatcamGUI/ObjectUI.py:1535 msgid "" "Export and save G-Code to\n" "make this object to a file." @@ -8973,11 +9000,11 @@ msgstr "" "Exportieren und speichern Sie den G-Code nach\n" "Machen Sie dieses Objekt in eine Datei." -#: flatcamGUI/FlatCAMGUI.py:6296 +#: flatcamGUI/FlatCAMGUI.py:6310 msgid "Prepend to G-Code" msgstr "Voranstellen an G-Code" -#: flatcamGUI/FlatCAMGUI.py:6298 flatcamGUI/ObjectUI.py:1534 +#: flatcamGUI/FlatCAMGUI.py:6312 flatcamGUI/ObjectUI.py:1543 msgid "" "Type here any G-Code commands you would\n" "like to add at the beginning of the G-Code file." @@ -8985,11 +9012,11 @@ msgstr "" "Geben Sie hier alle G-Code-Befehle ein\n" "gerne am Anfang der G-Code-Datei hinzufügen." -#: flatcamGUI/FlatCAMGUI.py:6307 +#: flatcamGUI/FlatCAMGUI.py:6321 msgid "Append to G-Code" msgstr "An G-Code anhängen" -#: flatcamGUI/FlatCAMGUI.py:6309 flatcamGUI/ObjectUI.py:1545 +#: flatcamGUI/FlatCAMGUI.py:6323 flatcamGUI/ObjectUI.py:1554 msgid "" "Type here any G-Code commands you would\n" "like to append to the generated file.\n" @@ -8999,19 +9026,19 @@ msgstr "" "gerne an die generierte Datei anhängen.\n" "I.e .: M2 (Programmende)" -#: flatcamGUI/FlatCAMGUI.py:6326 +#: flatcamGUI/FlatCAMGUI.py:6340 msgid "CNC Job Adv. Options" msgstr "Erw. CNC-Joboptionen" -#: flatcamGUI/FlatCAMGUI.py:6329 flatcamGUI/ObjectUI.py:1524 +#: flatcamGUI/FlatCAMGUI.py:6343 flatcamGUI/ObjectUI.py:1533 msgid "Export CNC Code" msgstr "CNC-Code exportieren" -#: flatcamGUI/FlatCAMGUI.py:6337 flatcamGUI/ObjectUI.py:1562 +#: flatcamGUI/FlatCAMGUI.py:6351 flatcamGUI/ObjectUI.py:1571 msgid "Toolchange G-Code" msgstr "Werkzeugwechsel G-Code" -#: flatcamGUI/FlatCAMGUI.py:6340 flatcamGUI/ObjectUI.py:1565 +#: flatcamGUI/FlatCAMGUI.py:6354 flatcamGUI/ObjectUI.py:1574 msgid "" "Type here any G-Code commands you would\n" "like to be executed when Toolchange event is encountered.\n" @@ -9033,11 +9060,11 @@ msgstr "" "das hat \"toolchange_custom\" im Namen und das ist gebaut\n" "mit der \"Toolchange Custom\" -Prozessordatei als Vorlage." -#: flatcamGUI/FlatCAMGUI.py:6359 flatcamGUI/ObjectUI.py:1584 +#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/ObjectUI.py:1593 msgid "Use Toolchange Macro" msgstr "Benutze das Werkzeugwechselmakro" -#: flatcamGUI/FlatCAMGUI.py:6361 flatcamGUI/ObjectUI.py:1586 +#: flatcamGUI/FlatCAMGUI.py:6375 flatcamGUI/ObjectUI.py:1595 msgid "" "Check this box if you want to use\n" "a Custom Toolchange GCode (macro)." @@ -9045,7 +9072,7 @@ msgstr "" "Aktivieren Sie dieses Kontrollkästchen, wenn Sie verwenden möchten\n" "ein benutzerdefiniertes Werkzeug ändert GCode (Makro)." -#: flatcamGUI/FlatCAMGUI.py:6373 flatcamGUI/ObjectUI.py:1594 +#: flatcamGUI/FlatCAMGUI.py:6387 flatcamGUI/ObjectUI.py:1603 msgid "" "A list of the FlatCAM variables that can be used\n" "in the Toolchange event.\n" @@ -9055,61 +9082,61 @@ msgstr "" "im Werkzeugwechselereignis.\n" "Sie müssen mit dem \"%\" -Symbol umgeben sein" -#: flatcamGUI/FlatCAMGUI.py:6383 flatcamGUI/ObjectUI.py:1604 +#: flatcamGUI/FlatCAMGUI.py:6397 flatcamGUI/ObjectUI.py:1613 msgid "FlatCAM CNC parameters" msgstr "FlatCAM CNC-Parameter" -#: flatcamGUI/FlatCAMGUI.py:6384 flatcamGUI/ObjectUI.py:1605 +#: flatcamGUI/FlatCAMGUI.py:6398 flatcamGUI/ObjectUI.py:1614 msgid "tool = tool number" msgstr "tool = Werkzeugnummer" -#: flatcamGUI/FlatCAMGUI.py:6385 flatcamGUI/ObjectUI.py:1606 +#: flatcamGUI/FlatCAMGUI.py:6399 flatcamGUI/ObjectUI.py:1615 msgid "tooldia = tool diameter" msgstr "tooldia = Werkzeugdurchmesser" -#: flatcamGUI/FlatCAMGUI.py:6386 flatcamGUI/ObjectUI.py:1607 +#: flatcamGUI/FlatCAMGUI.py:6400 flatcamGUI/ObjectUI.py:1616 msgid "t_drills = for Excellon, total number of drills" msgstr "t_drills = für Excellon die Gesamtzahl der Bohrer" -#: flatcamGUI/FlatCAMGUI.py:6387 flatcamGUI/ObjectUI.py:1608 +#: flatcamGUI/FlatCAMGUI.py:6401 flatcamGUI/ObjectUI.py:1617 msgid "x_toolchange = X coord for Toolchange" msgstr "x_toolchange = X-Koord für Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6388 flatcamGUI/ObjectUI.py:1609 +#: flatcamGUI/FlatCAMGUI.py:6402 flatcamGUI/ObjectUI.py:1618 msgid "y_toolchange = Y coord for Toolchange" msgstr "y_toolchange = Y-Koord für Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6389 flatcamGUI/ObjectUI.py:1610 +#: flatcamGUI/FlatCAMGUI.py:6403 flatcamGUI/ObjectUI.py:1619 msgid "z_toolchange = Z coord for Toolchange" msgstr "z_toolchange = Z-Koord für Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:6390 +#: flatcamGUI/FlatCAMGUI.py:6404 msgid "z_cut = Z depth for the cut" msgstr "z_cut = Z Tiefe für den Schnitt" -#: flatcamGUI/FlatCAMGUI.py:6391 +#: flatcamGUI/FlatCAMGUI.py:6405 msgid "z_move = Z height for travel" msgstr "z_move = Z Höhe für die Reise" -#: flatcamGUI/FlatCAMGUI.py:6392 flatcamGUI/ObjectUI.py:1613 +#: flatcamGUI/FlatCAMGUI.py:6406 flatcamGUI/ObjectUI.py:1622 msgid "z_depthpercut = the step value for multidepth cut" msgstr "z_depthpercut =der Schrittwert für den mehrstufigen Schnitt" -#: flatcamGUI/FlatCAMGUI.py:6393 flatcamGUI/ObjectUI.py:1614 +#: flatcamGUI/FlatCAMGUI.py:6407 flatcamGUI/ObjectUI.py:1623 msgid "spindlesspeed = the value for the spindle speed" msgstr "spindlesspeed =der Wert für die Spindeldrehzahl" -#: flatcamGUI/FlatCAMGUI.py:6395 flatcamGUI/ObjectUI.py:1615 +#: flatcamGUI/FlatCAMGUI.py:6409 flatcamGUI/ObjectUI.py:1624 msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM" msgstr "" "dwelltime = Zeit zum Verweilen, damit die Spindel ihre eingestellte Drehzahl " "erreicht" -#: flatcamGUI/FlatCAMGUI.py:6416 +#: flatcamGUI/FlatCAMGUI.py:6430 msgid "NCC Tool Options" msgstr "NCC-Tooloptionen" -#: flatcamGUI/FlatCAMGUI.py:6421 flatcamGUI/ObjectUI.py:438 +#: flatcamGUI/FlatCAMGUI.py:6435 flatcamGUI/ObjectUI.py:447 msgid "" "Create a Geometry object with\n" "toolpaths to cut all non-copper regions." @@ -9117,15 +9144,15 @@ msgstr "" "Erstellen Sie ein Geometrieobjekt mit\n" "Werkzeugwege, um alle Nicht-Kupfer-Bereiche zu schneiden." -#: flatcamGUI/FlatCAMGUI.py:6429 flatcamGUI/FlatCAMGUI.py:7361 +#: flatcamGUI/FlatCAMGUI.py:6443 flatcamGUI/FlatCAMGUI.py:7397 msgid "Tools dia" msgstr "Werkzeug durchmesser" -#: flatcamGUI/FlatCAMGUI.py:6438 flatcamTools/ToolNonCopperClear.py:195 +#: flatcamGUI/FlatCAMGUI.py:6452 flatcamTools/ToolNonCopperClear.py:195 msgid "Tool Type" msgstr "Werkzeugtyp" -#: flatcamGUI/FlatCAMGUI.py:6440 flatcamGUI/FlatCAMGUI.py:6448 +#: flatcamGUI/FlatCAMGUI.py:6454 flatcamGUI/FlatCAMGUI.py:6462 #: flatcamTools/ToolNonCopperClear.py:197 #: flatcamTools/ToolNonCopperClear.py:205 msgid "" @@ -9137,26 +9164,26 @@ msgstr "" "- \"V-Form\"\n" "- Rundschreiben" -#: flatcamGUI/FlatCAMGUI.py:6445 flatcamTools/ToolNonCopperClear.py:202 +#: flatcamGUI/FlatCAMGUI.py:6459 flatcamTools/ToolNonCopperClear.py:202 msgid "V-shape" msgstr "V-Form" -#: flatcamGUI/FlatCAMGUI.py:6457 flatcamGUI/ObjectUI.py:1100 +#: flatcamGUI/FlatCAMGUI.py:6471 flatcamGUI/ObjectUI.py:1109 #: flatcamTools/ToolNonCopperClear.py:220 msgid "V-Tip Dia" msgstr "V-Tip-Durchm" -#: flatcamGUI/FlatCAMGUI.py:6459 flatcamGUI/ObjectUI.py:1103 +#: flatcamGUI/FlatCAMGUI.py:6473 flatcamGUI/ObjectUI.py:1112 #: flatcamTools/ToolNonCopperClear.py:222 msgid "The tip diameter for V-Shape Tool" msgstr "Der Spitzendurchmesser für das V-Shape-Werkzeug" -#: flatcamGUI/FlatCAMGUI.py:6466 flatcamGUI/ObjectUI.py:1111 +#: flatcamGUI/FlatCAMGUI.py:6480 flatcamGUI/ObjectUI.py:1120 #: flatcamTools/ToolNonCopperClear.py:227 msgid "V-Tip Angle" msgstr "V-Tip-Winkel" -#: flatcamGUI/FlatCAMGUI.py:6468 flatcamGUI/ObjectUI.py:1114 +#: flatcamGUI/FlatCAMGUI.py:6482 flatcamGUI/ObjectUI.py:1123 #: flatcamTools/ToolNonCopperClear.py:229 msgid "" "The tip angle for V-Shape Tool.\n" @@ -9165,7 +9192,7 @@ msgstr "" "Der Spitzenwinkel für das V-Shape-Werkzeug.\n" "In grad." -#: flatcamGUI/FlatCAMGUI.py:6478 flatcamGUI/FlatCAMGUI.py:6486 +#: flatcamGUI/FlatCAMGUI.py:6492 flatcamGUI/FlatCAMGUI.py:6500 #: flatcamTools/ToolNonCopperClear.py:149 #: flatcamTools/ToolNonCopperClear.py:157 msgid "" @@ -9178,13 +9205,13 @@ msgstr "" "Werkzeugverbrauchs\n" "- konventionell / nützlich, wenn kein Spielausgleich vorhanden ist" -#: flatcamGUI/FlatCAMGUI.py:6495 flatcamGUI/FlatCAMGUI.py:6844 +#: flatcamGUI/FlatCAMGUI.py:6509 flatcamGUI/FlatCAMGUI.py:6869 #: flatcamTools/ToolNonCopperClear.py:163 flatcamTools/ToolPaint.py:136 msgid "Tool order" msgstr "Werkzeugbestellung" -#: flatcamGUI/FlatCAMGUI.py:6496 flatcamGUI/FlatCAMGUI.py:6506 -#: flatcamGUI/FlatCAMGUI.py:6845 flatcamGUI/FlatCAMGUI.py:6855 +#: flatcamGUI/FlatCAMGUI.py:6510 flatcamGUI/FlatCAMGUI.py:6520 +#: flatcamGUI/FlatCAMGUI.py:6870 flatcamGUI/FlatCAMGUI.py:6880 #: flatcamTools/ToolNonCopperClear.py:164 #: flatcamTools/ToolNonCopperClear.py:174 flatcamTools/ToolPaint.py:137 #: flatcamTools/ToolPaint.py:147 @@ -9209,17 +9236,17 @@ msgstr "" "festgelegt\n" "in umgekehrter Richtung und deaktivieren Sie diese Steuerung." -#: flatcamGUI/FlatCAMGUI.py:6504 flatcamGUI/FlatCAMGUI.py:6853 +#: flatcamGUI/FlatCAMGUI.py:6518 flatcamGUI/FlatCAMGUI.py:6878 #: flatcamTools/ToolNonCopperClear.py:172 flatcamTools/ToolPaint.py:145 msgid "Forward" msgstr "Vorwärts" -#: flatcamGUI/FlatCAMGUI.py:6505 flatcamGUI/FlatCAMGUI.py:6854 +#: flatcamGUI/FlatCAMGUI.py:6519 flatcamGUI/FlatCAMGUI.py:6879 #: flatcamTools/ToolNonCopperClear.py:173 flatcamTools/ToolPaint.py:146 msgid "Reverse" msgstr "Rückwärts" -#: flatcamGUI/FlatCAMGUI.py:6518 flatcamGUI/FlatCAMGUI.py:6523 +#: flatcamGUI/FlatCAMGUI.py:6532 flatcamGUI/FlatCAMGUI.py:6537 #: flatcamTools/ToolNonCopperClear.py:271 #: flatcamTools/ToolNonCopperClear.py:276 msgid "" @@ -9229,7 +9256,7 @@ msgstr "" "Schnitttiefe in Material. Negativer Wert.\n" "In FlatCAM-Einheiten." -#: flatcamGUI/FlatCAMGUI.py:6533 flatcamTools/ToolNonCopperClear.py:285 +#: flatcamGUI/FlatCAMGUI.py:6547 flatcamTools/ToolNonCopperClear.py:285 #, python-format msgid "" "How much (fraction) of the tool width to overlap each tool pass.\n" @@ -9258,11 +9285,11 @@ msgstr "" "Höhere Werte = langsame Bearbeitung und langsame Ausführung auf der CNC\n" "wegen zu vieler Wege." -#: flatcamGUI/FlatCAMGUI.py:6550 flatcamTools/ToolNonCopperClear.py:301 +#: flatcamGUI/FlatCAMGUI.py:6564 flatcamTools/ToolNonCopperClear.py:301 msgid "Bounding box margin." msgstr "Begrenzungsrahmenrand." -#: flatcamGUI/FlatCAMGUI.py:6559 flatcamGUI/FlatCAMGUI.py:6895 +#: flatcamGUI/FlatCAMGUI.py:6573 flatcamGUI/FlatCAMGUI.py:6920 #: flatcamTools/ToolNonCopperClear.py:310 msgid "" "Algorithm for non-copper clearing:
Standard: Fixed step inwards." @@ -9273,22 +9300,22 @@ msgstr "" "Schritt nach innen. Seed-based : Ausgehend vom Saatgut.
" "Line-based: Parallele Linien." -#: flatcamGUI/FlatCAMGUI.py:6573 flatcamGUI/FlatCAMGUI.py:6909 +#: flatcamGUI/FlatCAMGUI.py:6587 flatcamGUI/FlatCAMGUI.py:6934 #: flatcamTools/ToolNonCopperClear.py:324 flatcamTools/ToolPaint.py:249 msgid "Connect" msgstr "Verbinden" -#: flatcamGUI/FlatCAMGUI.py:6583 flatcamGUI/FlatCAMGUI.py:6919 +#: flatcamGUI/FlatCAMGUI.py:6597 flatcamGUI/FlatCAMGUI.py:6944 #: flatcamTools/ToolNonCopperClear.py:333 flatcamTools/ToolPaint.py:258 msgid "Contour" msgstr "Kontur" -#: flatcamGUI/FlatCAMGUI.py:6593 flatcamTools/ToolNonCopperClear.py:342 +#: flatcamGUI/FlatCAMGUI.py:6607 flatcamTools/ToolNonCopperClear.py:342 #: flatcamTools/ToolPaint.py:267 msgid "Rest M." msgstr "Rest M." -#: flatcamGUI/FlatCAMGUI.py:6595 flatcamTools/ToolNonCopperClear.py:344 +#: flatcamGUI/FlatCAMGUI.py:6609 flatcamTools/ToolNonCopperClear.py:344 msgid "" "If checked, use 'rest machining'.\n" "Basically it will clear copper outside PCB features,\n" @@ -9306,7 +9333,7 @@ msgstr "" "kein kupfer mehr zum löschen oder es gibt keine werkzeuge mehr.\n" "Wenn nicht aktiviert, verwenden Sie den Standardalgorithmus." -#: flatcamGUI/FlatCAMGUI.py:6610 flatcamGUI/FlatCAMGUI.py:6622 +#: flatcamGUI/FlatCAMGUI.py:6624 flatcamGUI/FlatCAMGUI.py:6636 #: flatcamTools/ToolNonCopperClear.py:359 #: flatcamTools/ToolNonCopperClear.py:371 msgid "" @@ -9320,27 +9347,27 @@ msgstr "" "von den Kupfermerkmalen.\n" "Der Wert kann zwischen 0 und 10 FlatCAM-Einheiten liegen." -#: flatcamGUI/FlatCAMGUI.py:6620 flatcamTools/ToolNonCopperClear.py:369 +#: flatcamGUI/FlatCAMGUI.py:6634 flatcamTools/ToolNonCopperClear.py:369 msgid "Offset value" msgstr "Offsetwert" -#: flatcamGUI/FlatCAMGUI.py:6637 flatcamTools/ToolNonCopperClear.py:395 +#: flatcamGUI/FlatCAMGUI.py:6651 flatcamTools/ToolNonCopperClear.py:395 msgid "Itself" msgstr "Selbst" -#: flatcamGUI/FlatCAMGUI.py:6638 flatcamGUI/FlatCAMGUI.py:6941 +#: flatcamGUI/FlatCAMGUI.py:6652 flatcamGUI/FlatCAMGUI.py:6965 msgid "Area" msgstr "Bereich" -#: flatcamGUI/FlatCAMGUI.py:6639 +#: flatcamGUI/FlatCAMGUI.py:6653 msgid "Ref" msgstr "Ref" -#: flatcamGUI/FlatCAMGUI.py:6640 +#: flatcamGUI/FlatCAMGUI.py:6654 msgid "Reference" msgstr "Referenz" -#: flatcamGUI/FlatCAMGUI.py:6642 flatcamTools/ToolNonCopperClear.py:401 +#: flatcamGUI/FlatCAMGUI.py:6656 flatcamTools/ToolNonCopperClear.py:401 msgid "" "- 'Itself' - the non copper clearing extent\n" "is based on the object that is copper cleared.\n" @@ -9360,11 +9387,31 @@ msgstr "" "- 'Referenzobjekt' - löscht nicht kupferne Objekte innerhalb des Bereichs\n" "von einem anderen Objekt angegeben." -#: flatcamGUI/FlatCAMGUI.py:6660 +#: flatcamGUI/FlatCAMGUI.py:6667 flatcamGUI/FlatCAMGUI.py:6973 +msgid "Normal" +msgstr "NormalFormat" + +#: flatcamGUI/FlatCAMGUI.py:6668 flatcamGUI/FlatCAMGUI.py:6974 +msgid "progressive" +msgstr "fortschrittlich" + +#: flatcamGUI/FlatCAMGUI.py:6669 +msgid "NCC Plotting" +msgstr "NCC-Plotten" + +#: flatcamGUI/FlatCAMGUI.py:6671 +msgid "" +"- 'Normal' - normal plotting, done at the end of the NCC job\n" +"- 'Progressive' - after each shape is generated it will be plotted." +msgstr "" +"- 'Normal' - normales Plotten am Ende des NCC-Jobs\n" +"- 'Progressiv' - Nachdem jede Form generiert wurde, wird sie geplottet." + +#: flatcamGUI/FlatCAMGUI.py:6685 msgid "Cutout Tool Options" msgstr "Ausschnittwerkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6665 flatcamGUI/ObjectUI.py:454 +#: flatcamGUI/FlatCAMGUI.py:6690 flatcamGUI/ObjectUI.py:463 msgid "" "Create toolpaths to cut around\n" "the PCB and separate it from\n" @@ -9374,7 +9421,7 @@ msgstr "" "die PCB und trennen Sie es von\n" "das ursprüngliche Brett." -#: flatcamGUI/FlatCAMGUI.py:6676 flatcamTools/ToolCutOut.py:93 +#: flatcamGUI/FlatCAMGUI.py:6701 flatcamTools/ToolCutOut.py:93 msgid "" "Diameter of the tool used to cutout\n" "the PCB shape out of the surrounding material." @@ -9382,11 +9429,11 @@ msgstr "" "Durchmesser des zum Ausschneiden verwendeten Werkzeugs\n" "die PCB-Form aus dem umgebenden Material." -#: flatcamGUI/FlatCAMGUI.py:6684 flatcamTools/ToolCutOut.py:76 +#: flatcamGUI/FlatCAMGUI.py:6709 flatcamTools/ToolCutOut.py:76 msgid "Obj kind" msgstr "Obj Art" -#: flatcamGUI/FlatCAMGUI.py:6686 flatcamTools/ToolCutOut.py:78 +#: flatcamGUI/FlatCAMGUI.py:6711 flatcamTools/ToolCutOut.py:78 msgid "" "Choice of what kind the object we want to cutout is.
- Single: " "contain a single PCB Gerber outline object.
- Panel: a panel PCB " @@ -9398,16 +9445,16 @@ msgstr "" "Ein Panel-PCB-Gerber Objekt, das gemacht wird\n" "aus vielen einzelnen PCB-Konturen." -#: flatcamGUI/FlatCAMGUI.py:6693 flatcamGUI/FlatCAMGUI.py:6940 +#: flatcamGUI/FlatCAMGUI.py:6718 flatcamGUI/FlatCAMGUI.py:6964 #: flatcamTools/ToolCutOut.py:84 msgid "Single" msgstr "Einzehln" -#: flatcamGUI/FlatCAMGUI.py:6694 flatcamTools/ToolCutOut.py:85 +#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCutOut.py:85 msgid "Panel" msgstr "Platte" -#: flatcamGUI/FlatCAMGUI.py:6700 flatcamTools/ToolCutOut.py:102 +#: flatcamGUI/FlatCAMGUI.py:6725 flatcamTools/ToolCutOut.py:102 msgid "" "Margin over bounds. A positive value here\n" "will make the cutout of the PCB further from\n" @@ -9417,11 +9464,11 @@ msgstr "" "macht den Ausschnitt der Leiterplatte weiter aus\n" "die tatsächliche PCB-Grenze" -#: flatcamGUI/FlatCAMGUI.py:6708 +#: flatcamGUI/FlatCAMGUI.py:6733 msgid "Gap size" msgstr "Spaltgröße" -#: flatcamGUI/FlatCAMGUI.py:6710 flatcamTools/ToolCutOut.py:112 +#: flatcamGUI/FlatCAMGUI.py:6735 flatcamTools/ToolCutOut.py:112 msgid "" "The size of the bridge gaps in the cutout\n" "used to keep the board connected to\n" @@ -9433,11 +9480,11 @@ msgstr "" "das umgebende Material (das eine\n" "von denen die Leiterplatte ausgeschnitten ist)." -#: flatcamGUI/FlatCAMGUI.py:6719 flatcamTools/ToolCutOut.py:148 +#: flatcamGUI/FlatCAMGUI.py:6744 flatcamTools/ToolCutOut.py:148 msgid "Gaps" msgstr "Spalt" -#: flatcamGUI/FlatCAMGUI.py:6721 +#: flatcamGUI/FlatCAMGUI.py:6746 msgid "" "Number of gaps used for the cutout.\n" "There can be maximum 8 bridges/gaps.\n" @@ -9461,11 +9508,11 @@ msgstr "" "- 2 tb \t- 2 * oben + 2 * unten\n" "- 8 \t- 2 * links + 2 * rechts + 2 * oben + 2 * unten" -#: flatcamGUI/FlatCAMGUI.py:6743 flatcamTools/ToolCutOut.py:129 +#: flatcamGUI/FlatCAMGUI.py:6768 flatcamTools/ToolCutOut.py:129 msgid "Convex Sh." msgstr "Konvexe Form" -#: flatcamGUI/FlatCAMGUI.py:6745 flatcamTools/ToolCutOut.py:131 +#: flatcamGUI/FlatCAMGUI.py:6770 flatcamTools/ToolCutOut.py:131 msgid "" "Create a convex shape surrounding the entire PCB.\n" "Used only if the source object type is Gerber." @@ -9473,11 +9520,11 @@ msgstr "" "Erstellen Sie eine konvexe Form, die die gesamte Leiterplatte umgibt.\n" "Wird nur verwendet, wenn der Quellobjekttyp Gerber ist." -#: flatcamGUI/FlatCAMGUI.py:6759 +#: flatcamGUI/FlatCAMGUI.py:6784 msgid "2Sided Tool Options" msgstr "2Seitige Werkzeugoptionen" -#: flatcamGUI/FlatCAMGUI.py:6764 +#: flatcamGUI/FlatCAMGUI.py:6789 msgid "" "A tool to help in creating a double sided\n" "PCB using alignment holes." @@ -9485,36 +9532,36 @@ msgstr "" "Ein Werkzeug, das beim Erstellen eines doppelseitigen Dokuments hilft\n" "PCB mit Ausrichtungslöchern." -#: flatcamGUI/FlatCAMGUI.py:6774 flatcamTools/ToolDblSided.py:234 +#: flatcamGUI/FlatCAMGUI.py:6799 flatcamTools/ToolDblSided.py:234 msgid "Drill dia" msgstr "Bohrdurchmesser" -#: flatcamGUI/FlatCAMGUI.py:6776 flatcamTools/ToolDblSided.py:225 +#: flatcamGUI/FlatCAMGUI.py:6801 flatcamTools/ToolDblSided.py:225 #: flatcamTools/ToolDblSided.py:236 msgid "Diameter of the drill for the alignment holes." msgstr "Durchmesser des Bohrers für die Ausrichtungslöcher." -#: flatcamGUI/FlatCAMGUI.py:6785 flatcamTools/ToolDblSided.py:120 +#: flatcamGUI/FlatCAMGUI.py:6810 flatcamTools/ToolDblSided.py:120 msgid "Mirror Axis:" msgstr "Spiegelachse:" -#: flatcamGUI/FlatCAMGUI.py:6787 flatcamTools/ToolDblSided.py:122 +#: flatcamGUI/FlatCAMGUI.py:6812 flatcamTools/ToolDblSided.py:122 msgid "Mirror vertically (X) or horizontally (Y)." msgstr "Vertikal spiegeln (X) oder horizontal (Y)." -#: flatcamGUI/FlatCAMGUI.py:6796 flatcamTools/ToolDblSided.py:131 +#: flatcamGUI/FlatCAMGUI.py:6821 flatcamTools/ToolDblSided.py:131 msgid "Point" msgstr "Punkt" -#: flatcamGUI/FlatCAMGUI.py:6797 flatcamTools/ToolDblSided.py:132 +#: flatcamGUI/FlatCAMGUI.py:6822 flatcamTools/ToolDblSided.py:132 msgid "Box" msgstr "Box" -#: flatcamGUI/FlatCAMGUI.py:6798 +#: flatcamGUI/FlatCAMGUI.py:6823 msgid "Axis Ref" msgstr "Achsenreferenz" -#: flatcamGUI/FlatCAMGUI.py:6800 flatcamTools/ToolDblSided.py:135 +#: flatcamGUI/FlatCAMGUI.py:6825 flatcamTools/ToolDblSided.py:135 msgid "" "The axis should pass through a point or cut\n" " a specified box (in a FlatCAM object) through \n" @@ -9524,15 +9571,15 @@ msgstr "" "eine angegebene Box (in einem FlatCAM-Objekt) durch\n" "das Zentrum." -#: flatcamGUI/FlatCAMGUI.py:6816 +#: flatcamGUI/FlatCAMGUI.py:6841 msgid "Paint Tool Options" msgstr "Paint werkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:6821 +#: flatcamGUI/FlatCAMGUI.py:6846 msgid "Parameters:" msgstr "Parameter:" -#: flatcamGUI/FlatCAMGUI.py:6823 flatcamGUI/ObjectUI.py:1342 +#: flatcamGUI/FlatCAMGUI.py:6848 flatcamGUI/ObjectUI.py:1351 msgid "" "Creates tool paths to cover the\n" "whole area of a polygon (remove\n" @@ -9544,11 +9591,11 @@ msgstr "" "alles Kupfer). Du wirst gefragt\n" "Klicken Sie auf das gewünschte Polygon." -#: flatcamGUI/FlatCAMGUI.py:6929 flatcamTools/ToolPaint.py:282 +#: flatcamGUI/FlatCAMGUI.py:6954 flatcamTools/ToolPaint.py:282 msgid "Selection" msgstr "Auswahl" -#: flatcamGUI/FlatCAMGUI.py:6931 flatcamTools/ToolPaint.py:284 +#: flatcamGUI/FlatCAMGUI.py:6956 flatcamTools/ToolPaint.py:284 #: flatcamTools/ToolPaint.py:300 msgid "" "How to select Polygons to be painted.\n" @@ -9571,15 +9618,27 @@ msgstr "" "- 'Referenzobjekt' - löscht nicht kupferne Objekte innerhalb des Bereichs\n" "von einem anderen Objekt angegeben." -#: flatcamGUI/FlatCAMGUI.py:6943 +#: flatcamGUI/FlatCAMGUI.py:6967 msgid "Ref." msgstr "Ref." -#: flatcamGUI/FlatCAMGUI.py:6955 +#: flatcamGUI/FlatCAMGUI.py:6975 +msgid "Paint Plotting" +msgstr "Malen Sie Plotten" + +#: flatcamGUI/FlatCAMGUI.py:6977 +msgid "" +"- 'Normal' - normal plotting, done at the end of the Paint job\n" +"- 'Progressive' - after each shape is generated it will be plotted." +msgstr "" +"- 'Normal' - normales Plotten am Ende des Malvorgangs\n" +"- 'Progressiv' - Nachdem jede Form generiert wurde, wird sie geplottet." + +#: flatcamGUI/FlatCAMGUI.py:6991 msgid "Film Tool Options" msgstr "Filmwerkzeugoptionen" -#: flatcamGUI/FlatCAMGUI.py:6960 +#: flatcamGUI/FlatCAMGUI.py:6996 msgid "" "Create a PCB film from a Gerber or Geometry\n" "FlatCAM object.\n" @@ -9589,11 +9648,11 @@ msgstr "" "FlatCAM-Objekt\n" "Die Datei wird im SVG-Format gespeichert." -#: flatcamGUI/FlatCAMGUI.py:6971 +#: flatcamGUI/FlatCAMGUI.py:7007 msgid "Film Type" msgstr "Filmtyp" -#: flatcamGUI/FlatCAMGUI.py:6973 flatcamTools/ToolFilm.py:118 +#: flatcamGUI/FlatCAMGUI.py:7009 flatcamTools/ToolFilm.py:118 msgid "" "Generate a Positive black film or a Negative film.\n" "Positive means that it will print the features\n" @@ -9609,11 +9668,11 @@ msgstr "" "mit weiß auf einer schwarzen leinwand.\n" "Das Filmformat ist SVG." -#: flatcamGUI/FlatCAMGUI.py:6984 flatcamTools/ToolFilm.py:130 +#: flatcamGUI/FlatCAMGUI.py:7020 flatcamTools/ToolFilm.py:130 msgid "Border" msgstr "Rand" -#: flatcamGUI/FlatCAMGUI.py:6986 flatcamTools/ToolFilm.py:132 +#: flatcamGUI/FlatCAMGUI.py:7022 flatcamTools/ToolFilm.py:132 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -9633,11 +9692,11 @@ msgstr "" "weiße Farbe wie der Rest und die mit der verwechseln kann\n" "Umgebung, wenn nicht für diese Grenze." -#: flatcamGUI/FlatCAMGUI.py:6999 flatcamTools/ToolFilm.py:144 +#: flatcamGUI/FlatCAMGUI.py:7035 flatcamTools/ToolFilm.py:144 msgid "Scale Stroke" msgstr "Skalierungshub" -#: flatcamGUI/FlatCAMGUI.py:7001 flatcamTools/ToolFilm.py:146 +#: flatcamGUI/FlatCAMGUI.py:7037 flatcamTools/ToolFilm.py:146 msgid "" "Scale the line stroke thickness of each feature in the SVG file.\n" "It means that the line that envelope each SVG feature will be thicker or " @@ -9649,11 +9708,11 @@ msgstr "" "dünner ist.\n" "Daher können die Feinheiten von diesem Parameter stärker beeinflusst werden." -#: flatcamGUI/FlatCAMGUI.py:7016 +#: flatcamGUI/FlatCAMGUI.py:7052 msgid "Panelize Tool Options" msgstr "Panelize Werkzeugoptionen" -#: flatcamGUI/FlatCAMGUI.py:7021 +#: flatcamGUI/FlatCAMGUI.py:7057 msgid "" "Create an object that contains an array of (x, y) elements,\n" "each element is a copy of the source object spaced\n" @@ -9663,11 +9722,11 @@ msgstr "" "Jedes Element ist eine Kopie des Quellobjekts\n" "in einem X-Abstand, Y-Abstand voneinander." -#: flatcamGUI/FlatCAMGUI.py:7032 flatcamTools/ToolPanelize.py:147 +#: flatcamGUI/FlatCAMGUI.py:7068 flatcamTools/ToolPanelize.py:147 msgid "Spacing cols" msgstr "Abstandspalten" -#: flatcamGUI/FlatCAMGUI.py:7034 flatcamTools/ToolPanelize.py:149 +#: flatcamGUI/FlatCAMGUI.py:7070 flatcamTools/ToolPanelize.py:149 msgid "" "Spacing between columns of the desired panel.\n" "In current units." @@ -9675,11 +9734,11 @@ msgstr "" "Abstand zwischen den Spalten des gewünschten Bereichs.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:7042 flatcamTools/ToolPanelize.py:156 +#: flatcamGUI/FlatCAMGUI.py:7078 flatcamTools/ToolPanelize.py:156 msgid "Spacing rows" msgstr "Abstand Reihen" -#: flatcamGUI/FlatCAMGUI.py:7044 flatcamTools/ToolPanelize.py:158 +#: flatcamGUI/FlatCAMGUI.py:7080 flatcamTools/ToolPanelize.py:158 msgid "" "Spacing between rows of the desired panel.\n" "In current units." @@ -9687,35 +9746,35 @@ msgstr "" "Abstand zwischen den Reihen des gewünschten Feldes.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:7052 flatcamTools/ToolPanelize.py:165 +#: flatcamGUI/FlatCAMGUI.py:7088 flatcamTools/ToolPanelize.py:165 msgid "Columns" msgstr "Säulen" -#: flatcamGUI/FlatCAMGUI.py:7054 flatcamTools/ToolPanelize.py:167 +#: flatcamGUI/FlatCAMGUI.py:7090 flatcamTools/ToolPanelize.py:167 msgid "Number of columns of the desired panel" msgstr "Anzahl der Spalten des gewünschten Bereichs" -#: flatcamGUI/FlatCAMGUI.py:7061 flatcamTools/ToolPanelize.py:173 +#: flatcamGUI/FlatCAMGUI.py:7097 flatcamTools/ToolPanelize.py:173 msgid "Rows" msgstr "Reihen" -#: flatcamGUI/FlatCAMGUI.py:7063 flatcamTools/ToolPanelize.py:175 +#: flatcamGUI/FlatCAMGUI.py:7099 flatcamTools/ToolPanelize.py:175 msgid "Number of rows of the desired panel" msgstr "Anzahl der Zeilen des gewünschten Panels" -#: flatcamGUI/FlatCAMGUI.py:7069 flatcamTools/ToolPanelize.py:181 +#: flatcamGUI/FlatCAMGUI.py:7105 flatcamTools/ToolPanelize.py:181 msgid "Gerber" msgstr "Gerber" -#: flatcamGUI/FlatCAMGUI.py:7070 flatcamTools/ToolPanelize.py:182 +#: flatcamGUI/FlatCAMGUI.py:7106 flatcamTools/ToolPanelize.py:182 msgid "Geo" msgstr "Geo" -#: flatcamGUI/FlatCAMGUI.py:7071 flatcamTools/ToolPanelize.py:183 +#: flatcamGUI/FlatCAMGUI.py:7107 flatcamTools/ToolPanelize.py:183 msgid "Panel Type" msgstr "Panel-Typ" -#: flatcamGUI/FlatCAMGUI.py:7073 +#: flatcamGUI/FlatCAMGUI.py:7109 msgid "" "Choose the type of object for the panel object:\n" "- Gerber\n" @@ -9725,11 +9784,11 @@ msgstr "" "- Gerber\n" "- Geometrie" -#: flatcamGUI/FlatCAMGUI.py:7082 +#: flatcamGUI/FlatCAMGUI.py:7118 msgid "Constrain within" msgstr "Beschränkung innerhalb" -#: flatcamGUI/FlatCAMGUI.py:7084 flatcamTools/ToolPanelize.py:195 +#: flatcamGUI/FlatCAMGUI.py:7120 flatcamTools/ToolPanelize.py:195 msgid "" "Area define by DX and DY within to constrain the panel.\n" "DX and DY values are in current units.\n" @@ -9743,11 +9802,11 @@ msgstr "" "Das letzte Panel enthält so viele Spalten und Zeilen wie\n" "Sie passen vollständig in den ausgewählten Bereich." -#: flatcamGUI/FlatCAMGUI.py:7093 flatcamTools/ToolPanelize.py:204 +#: flatcamGUI/FlatCAMGUI.py:7129 flatcamTools/ToolPanelize.py:204 msgid "Width (DX)" msgstr "Breite (DX)" -#: flatcamGUI/FlatCAMGUI.py:7095 flatcamTools/ToolPanelize.py:206 +#: flatcamGUI/FlatCAMGUI.py:7131 flatcamTools/ToolPanelize.py:206 msgid "" "The width (DX) within which the panel must fit.\n" "In current units." @@ -9755,11 +9814,11 @@ msgstr "" "Die Breite (DX), in die das Panel passen muss.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:7102 flatcamTools/ToolPanelize.py:212 +#: flatcamGUI/FlatCAMGUI.py:7138 flatcamTools/ToolPanelize.py:212 msgid "Height (DY)" msgstr "Höhe (DY)" -#: flatcamGUI/FlatCAMGUI.py:7104 flatcamTools/ToolPanelize.py:214 +#: flatcamGUI/FlatCAMGUI.py:7140 flatcamTools/ToolPanelize.py:214 msgid "" "The height (DY)within which the panel must fit.\n" "In current units." @@ -9767,15 +9826,15 @@ msgstr "" "Die Höhe (DY), in die die Platte passen muss.\n" "In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:7118 +#: flatcamGUI/FlatCAMGUI.py:7154 msgid "Calculators Tool Options" msgstr "Rechner-Tool-Optionen" -#: flatcamGUI/FlatCAMGUI.py:7121 flatcamTools/ToolCalculators.py:25 +#: flatcamGUI/FlatCAMGUI.py:7157 flatcamTools/ToolCalculators.py:25 msgid "V-Shape Tool Calculator" msgstr "V-Shape-Werkzeugrechner" -#: flatcamGUI/FlatCAMGUI.py:7123 +#: flatcamGUI/FlatCAMGUI.py:7159 msgid "" "Calculate the tool diameter for a given V-shape tool,\n" "having the tip diameter, tip angle and\n" @@ -9786,11 +9845,11 @@ msgstr "" "mit dem Spitzendurchmesser, Spitzenwinkel und\n" "Schnitttiefe als Parameter." -#: flatcamGUI/FlatCAMGUI.py:7134 flatcamTools/ToolCalculators.py:92 +#: flatcamGUI/FlatCAMGUI.py:7170 flatcamTools/ToolCalculators.py:92 msgid "Tip Diameter" msgstr "Spitzendurchmesser" -#: flatcamGUI/FlatCAMGUI.py:7136 flatcamTools/ToolCalculators.py:97 +#: flatcamGUI/FlatCAMGUI.py:7172 flatcamTools/ToolCalculators.py:97 msgid "" "This is the tool tip diameter.\n" "It is specified by manufacturer." @@ -9798,11 +9857,11 @@ msgstr "" "Dies ist der Werkzeugspitzendurchmesser.\n" "Es wird vom Hersteller angegeben." -#: flatcamGUI/FlatCAMGUI.py:7144 flatcamTools/ToolCalculators.py:100 +#: flatcamGUI/FlatCAMGUI.py:7180 flatcamTools/ToolCalculators.py:100 msgid "Tip Angle" msgstr "Spitzenwinkel" -#: flatcamGUI/FlatCAMGUI.py:7146 +#: flatcamGUI/FlatCAMGUI.py:7182 msgid "" "This is the angle on the tip of the tool.\n" "It is specified by manufacturer." @@ -9810,7 +9869,7 @@ msgstr "" "Dies ist der Winkel an der Spitze des Werkzeugs.\n" "Es wird vom Hersteller angegeben." -#: flatcamGUI/FlatCAMGUI.py:7156 +#: flatcamGUI/FlatCAMGUI.py:7192 msgid "" "This is depth to cut into material.\n" "In the CNCJob object it is the CutZ parameter." @@ -9818,11 +9877,11 @@ msgstr "" "Dies ist die Tiefe zum Schneiden in Material.\n" "Im CNCJob-Objekt ist dies der Parameter CutZ." -#: flatcamGUI/FlatCAMGUI.py:7163 flatcamTools/ToolCalculators.py:27 +#: flatcamGUI/FlatCAMGUI.py:7199 flatcamTools/ToolCalculators.py:27 msgid "ElectroPlating Calculator" msgstr "Galvanikrechner" -#: flatcamGUI/FlatCAMGUI.py:7165 flatcamTools/ToolCalculators.py:149 +#: flatcamGUI/FlatCAMGUI.py:7201 flatcamTools/ToolCalculators.py:149 msgid "" "This calculator is useful for those who plate the via/pad/drill holes,\n" "using a method like grahite ink or calcium hypophosphite ink or palladium " @@ -9833,27 +9892,27 @@ msgstr "" "unter Verwendung einer Methode wie Grahit-Tinte oder Calcium-Hypophosphit-" "Tinte oder Palladiumchlorid." -#: flatcamGUI/FlatCAMGUI.py:7175 flatcamTools/ToolCalculators.py:158 +#: flatcamGUI/FlatCAMGUI.py:7211 flatcamTools/ToolCalculators.py:158 msgid "Board Length" msgstr "PCB Länge" -#: flatcamGUI/FlatCAMGUI.py:7177 flatcamTools/ToolCalculators.py:162 +#: flatcamGUI/FlatCAMGUI.py:7213 flatcamTools/ToolCalculators.py:162 msgid "This is the board length. In centimeters." msgstr "Dies ist die Boardlänge. In Zentimeter" -#: flatcamGUI/FlatCAMGUI.py:7183 flatcamTools/ToolCalculators.py:164 +#: flatcamGUI/FlatCAMGUI.py:7219 flatcamTools/ToolCalculators.py:164 msgid "Board Width" msgstr "PCB Breite" -#: flatcamGUI/FlatCAMGUI.py:7185 flatcamTools/ToolCalculators.py:168 +#: flatcamGUI/FlatCAMGUI.py:7221 flatcamTools/ToolCalculators.py:168 msgid "This is the board width.In centimeters." msgstr "Dies ist die Breite der Platte in Zentimetern." -#: flatcamGUI/FlatCAMGUI.py:7190 flatcamTools/ToolCalculators.py:170 +#: flatcamGUI/FlatCAMGUI.py:7226 flatcamTools/ToolCalculators.py:170 msgid "Current Density" msgstr "Stromdichte" -#: flatcamGUI/FlatCAMGUI.py:7193 flatcamTools/ToolCalculators.py:174 +#: flatcamGUI/FlatCAMGUI.py:7229 flatcamTools/ToolCalculators.py:174 msgid "" "Current density to pass through the board. \n" "In Amps per Square Feet ASF." @@ -9861,11 +9920,11 @@ msgstr "" "Stromdichte durch die Platine.\n" "In Ampere pro Quadratfuß ASF." -#: flatcamGUI/FlatCAMGUI.py:7199 flatcamTools/ToolCalculators.py:177 +#: flatcamGUI/FlatCAMGUI.py:7235 flatcamTools/ToolCalculators.py:177 msgid "Copper Growth" msgstr "Kupferwachstum" -#: flatcamGUI/FlatCAMGUI.py:7202 flatcamTools/ToolCalculators.py:181 +#: flatcamGUI/FlatCAMGUI.py:7238 flatcamTools/ToolCalculators.py:181 msgid "" "How thick the copper growth is intended to be.\n" "In microns." @@ -9873,11 +9932,11 @@ msgstr "" "Wie dick soll das Kupferwachstum sein.\n" "In Mikrometern" -#: flatcamGUI/FlatCAMGUI.py:7215 +#: flatcamGUI/FlatCAMGUI.py:7251 msgid "Transform Tool Options" msgstr "Umwandlungswerkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:7220 +#: flatcamGUI/FlatCAMGUI.py:7256 msgid "" "Various transformations that can be applied\n" "on a FlatCAM object." @@ -9885,35 +9944,35 @@ msgstr "" "Verschiedene Transformationen, die angewendet werden können\n" "auf einem FlatCAM-Objekt." -#: flatcamGUI/FlatCAMGUI.py:7230 +#: flatcamGUI/FlatCAMGUI.py:7266 msgid "Rotate Angle" msgstr "Winkel drehen" -#: flatcamGUI/FlatCAMGUI.py:7242 flatcamTools/ToolTransform.py:107 +#: flatcamGUI/FlatCAMGUI.py:7278 flatcamTools/ToolTransform.py:107 msgid "Skew_X angle" msgstr "Neigungswinkel X" -#: flatcamGUI/FlatCAMGUI.py:7252 flatcamTools/ToolTransform.py:125 +#: flatcamGUI/FlatCAMGUI.py:7288 flatcamTools/ToolTransform.py:125 msgid "Skew_Y angle" msgstr "Neigungswinkel Y" -#: flatcamGUI/FlatCAMGUI.py:7262 flatcamTools/ToolTransform.py:164 +#: flatcamGUI/FlatCAMGUI.py:7298 flatcamTools/ToolTransform.py:164 msgid "Scale_X factor" msgstr "Skalierung des X-Faktors" -#: flatcamGUI/FlatCAMGUI.py:7264 flatcamTools/ToolTransform.py:166 +#: flatcamGUI/FlatCAMGUI.py:7300 flatcamTools/ToolTransform.py:166 msgid "Factor for scaling on X axis." msgstr "Faktor für die Skalierung auf der X-Achse." -#: flatcamGUI/FlatCAMGUI.py:7271 flatcamTools/ToolTransform.py:181 +#: flatcamGUI/FlatCAMGUI.py:7307 flatcamTools/ToolTransform.py:181 msgid "Scale_Y factor" msgstr "Skalierung des Y-Faktors" -#: flatcamGUI/FlatCAMGUI.py:7273 flatcamTools/ToolTransform.py:183 +#: flatcamGUI/FlatCAMGUI.py:7309 flatcamTools/ToolTransform.py:183 msgid "Factor for scaling on Y axis." msgstr "Faktor für die Skalierung auf der Y-Achse." -#: flatcamGUI/FlatCAMGUI.py:7281 flatcamTools/ToolTransform.py:202 +#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolTransform.py:202 msgid "" "Scale the selected object(s)\n" "using the Scale_X factor for both axis." @@ -9921,7 +9980,7 @@ msgstr "" "Skalieren Sie die ausgewählten Objekte\n" "Verwenden des Skalierungsfaktors X für beide Achsen." -#: flatcamGUI/FlatCAMGUI.py:7289 flatcamTools/ToolTransform.py:211 +#: flatcamGUI/FlatCAMGUI.py:7325 flatcamTools/ToolTransform.py:211 msgid "" "Scale the selected object(s)\n" "using the origin reference when checked,\n" @@ -9933,27 +9992,27 @@ msgstr "" "und die Mitte der größten Begrenzungsbox\n" "der ausgewählten Objekte, wenn sie nicht markiert sind." -#: flatcamGUI/FlatCAMGUI.py:7298 flatcamTools/ToolTransform.py:239 +#: flatcamGUI/FlatCAMGUI.py:7334 flatcamTools/ToolTransform.py:239 msgid "Offset_X val" msgstr "Offset X Wert" -#: flatcamGUI/FlatCAMGUI.py:7300 flatcamTools/ToolTransform.py:241 +#: flatcamGUI/FlatCAMGUI.py:7336 flatcamTools/ToolTransform.py:241 msgid "Distance to offset on X axis. In current units." msgstr "Abstand zum Offset auf der X-Achse. In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:7307 flatcamTools/ToolTransform.py:256 +#: flatcamGUI/FlatCAMGUI.py:7343 flatcamTools/ToolTransform.py:256 msgid "Offset_Y val" msgstr "Offset Y-Wert" -#: flatcamGUI/FlatCAMGUI.py:7309 flatcamTools/ToolTransform.py:258 +#: flatcamGUI/FlatCAMGUI.py:7345 flatcamTools/ToolTransform.py:258 msgid "Distance to offset on Y axis. In current units." msgstr "Abstand zum Offset auf der Y-Achse. In aktuellen Einheiten." -#: flatcamGUI/FlatCAMGUI.py:7315 flatcamTools/ToolTransform.py:313 +#: flatcamGUI/FlatCAMGUI.py:7351 flatcamTools/ToolTransform.py:313 msgid "Mirror Reference" msgstr "Spiegelreferenz" -#: flatcamGUI/FlatCAMGUI.py:7317 flatcamTools/ToolTransform.py:315 +#: flatcamGUI/FlatCAMGUI.py:7353 flatcamTools/ToolTransform.py:315 msgid "" "Flip the selected object(s)\n" "around the point in Point Entry Field.\n" @@ -9976,11 +10035,11 @@ msgstr "" "Oder geben Sie die Koordinaten im Format (x, y) in ein\n" "Punkt-Eingabefeld und klicken Sie auf X (Y) drehen" -#: flatcamGUI/FlatCAMGUI.py:7328 flatcamTools/ToolTransform.py:326 +#: flatcamGUI/FlatCAMGUI.py:7364 flatcamTools/ToolTransform.py:326 msgid " Mirror Ref. Point" msgstr "Spiegelref. Punkt" -#: flatcamGUI/FlatCAMGUI.py:7330 flatcamTools/ToolTransform.py:328 +#: flatcamGUI/FlatCAMGUI.py:7366 flatcamTools/ToolTransform.py:328 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -9991,11 +10050,11 @@ msgstr "" "Das 'x' in (x, y) wird verwendet, wenn Sie bei X und\n" "Das 'y' in (x, y) wird verwendet, wenn Flip auf Y und verwendet wird" -#: flatcamGUI/FlatCAMGUI.py:7347 +#: flatcamGUI/FlatCAMGUI.py:7383 msgid "SolderPaste Tool Options" msgstr "Lötpaste-Werkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:7352 +#: flatcamGUI/FlatCAMGUI.py:7388 msgid "" "A tool to create GCode for dispensing\n" "solder paste onto a PCB." @@ -10003,49 +10062,49 @@ msgstr "" "Ein Werkzeug zum Erstellen von GCode für die Ausgabe\n" "Lotpaste auf eine Leiterplatte." -#: flatcamGUI/FlatCAMGUI.py:7363 +#: flatcamGUI/FlatCAMGUI.py:7399 msgid "Diameters of nozzle tools, separated by ','" msgstr "Durchmesser der Düsenwerkzeuge, getrennt durch ','" -#: flatcamGUI/FlatCAMGUI.py:7370 +#: flatcamGUI/FlatCAMGUI.py:7406 msgid "New Nozzle Dia" msgstr "Neuer Düsendurchmesser:" -#: flatcamGUI/FlatCAMGUI.py:7372 flatcamTools/ToolSolderPaste.py:103 +#: flatcamGUI/FlatCAMGUI.py:7408 flatcamTools/ToolSolderPaste.py:103 msgid "Diameter for the new Nozzle tool to add in the Tool Table" msgstr "" "Durchmesser für das neue Düsenwerkzeug, das in die Werkzeugtabelle eingefügt " "werden soll" -#: flatcamGUI/FlatCAMGUI.py:7380 flatcamTools/ToolSolderPaste.py:166 +#: flatcamGUI/FlatCAMGUI.py:7416 flatcamTools/ToolSolderPaste.py:166 msgid "Z Dispense Start" msgstr "Z Dosierbeginn" -#: flatcamGUI/FlatCAMGUI.py:7382 flatcamTools/ToolSolderPaste.py:168 +#: flatcamGUI/FlatCAMGUI.py:7418 flatcamTools/ToolSolderPaste.py:168 msgid "The height (Z) when solder paste dispensing starts." msgstr "Die Höhe (Z) bei der Lotpastendosierung." -#: flatcamGUI/FlatCAMGUI.py:7389 flatcamTools/ToolSolderPaste.py:174 +#: flatcamGUI/FlatCAMGUI.py:7425 flatcamTools/ToolSolderPaste.py:174 msgid "Z Dispense" msgstr "Z-Abgabe" -#: flatcamGUI/FlatCAMGUI.py:7391 flatcamTools/ToolSolderPaste.py:176 +#: flatcamGUI/FlatCAMGUI.py:7427 flatcamTools/ToolSolderPaste.py:176 msgid "The height (Z) when doing solder paste dispensing." msgstr "Die Höhe (Z) bei der Lotpastendosierung." -#: flatcamGUI/FlatCAMGUI.py:7398 flatcamTools/ToolSolderPaste.py:182 +#: flatcamGUI/FlatCAMGUI.py:7434 flatcamTools/ToolSolderPaste.py:182 msgid "Z Dispense Stop" msgstr "Z Abgabestopp" -#: flatcamGUI/FlatCAMGUI.py:7400 flatcamTools/ToolSolderPaste.py:184 +#: flatcamGUI/FlatCAMGUI.py:7436 flatcamTools/ToolSolderPaste.py:184 msgid "The height (Z) when solder paste dispensing stops." msgstr "Die Höhe (Z) bei der Lotpastendosierung stoppt." -#: flatcamGUI/FlatCAMGUI.py:7407 flatcamTools/ToolSolderPaste.py:190 +#: flatcamGUI/FlatCAMGUI.py:7443 flatcamTools/ToolSolderPaste.py:190 msgid "Z Travel" msgstr "Z Reise" -#: flatcamGUI/FlatCAMGUI.py:7409 flatcamTools/ToolSolderPaste.py:192 +#: flatcamGUI/FlatCAMGUI.py:7445 flatcamTools/ToolSolderPaste.py:192 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -10053,19 +10112,19 @@ msgstr "" "Die Höhe (Z) für den Weg zwischen Pads\n" "(ohne Lotpaste zu dosieren)." -#: flatcamGUI/FlatCAMGUI.py:7417 flatcamTools/ToolSolderPaste.py:199 +#: flatcamGUI/FlatCAMGUI.py:7453 flatcamTools/ToolSolderPaste.py:199 msgid "Z Toolchange" msgstr "Z Werkzeugwechsel" -#: flatcamGUI/FlatCAMGUI.py:7419 flatcamTools/ToolSolderPaste.py:201 +#: flatcamGUI/FlatCAMGUI.py:7455 flatcamTools/ToolSolderPaste.py:201 msgid "The height (Z) for tool (nozzle) change." msgstr "Die Höhe (Z) für Werkzeug (Düse) ändert sich." -#: flatcamGUI/FlatCAMGUI.py:7426 flatcamTools/ToolSolderPaste.py:207 +#: flatcamGUI/FlatCAMGUI.py:7462 flatcamTools/ToolSolderPaste.py:207 msgid "Toolchange X-Y" msgstr "Werkzeugwechsel X, Y" -#: flatcamGUI/FlatCAMGUI.py:7428 flatcamTools/ToolSolderPaste.py:209 +#: flatcamGUI/FlatCAMGUI.py:7464 flatcamTools/ToolSolderPaste.py:209 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -10073,19 +10132,19 @@ msgstr "" "Die X, Y-Position für Werkzeug (Düse) ändert sich.\n" "Das Format ist (x, y), wobei x und y reelle Zahlen sind." -#: flatcamGUI/FlatCAMGUI.py:7436 flatcamTools/ToolSolderPaste.py:216 +#: flatcamGUI/FlatCAMGUI.py:7472 flatcamTools/ToolSolderPaste.py:216 msgid "Feedrate X-Y" msgstr "Vorschub X-Y" -#: flatcamGUI/FlatCAMGUI.py:7438 flatcamTools/ToolSolderPaste.py:218 +#: flatcamGUI/FlatCAMGUI.py:7474 flatcamTools/ToolSolderPaste.py:218 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Vorschub (Geschwindigkeit) während der Bewegung auf der X-Y-Ebene." -#: flatcamGUI/FlatCAMGUI.py:7445 flatcamTools/ToolSolderPaste.py:224 +#: flatcamGUI/FlatCAMGUI.py:7481 flatcamTools/ToolSolderPaste.py:224 msgid "Feedrate Z" msgstr "Vorschub Z" -#: flatcamGUI/FlatCAMGUI.py:7447 flatcamTools/ToolSolderPaste.py:226 +#: flatcamGUI/FlatCAMGUI.py:7483 flatcamTools/ToolSolderPaste.py:226 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -10093,11 +10152,11 @@ msgstr "" "Vorschub (Geschwindigkeit) bei vertikaler Bewegung\n" "(auf der Z-Ebene)." -#: flatcamGUI/FlatCAMGUI.py:7455 flatcamTools/ToolSolderPaste.py:233 +#: flatcamGUI/FlatCAMGUI.py:7491 flatcamTools/ToolSolderPaste.py:233 msgid "Feedrate Z Dispense" msgstr "Vorschub Z Dosierung" -#: flatcamGUI/FlatCAMGUI.py:7457 +#: flatcamGUI/FlatCAMGUI.py:7493 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -10105,11 +10164,11 @@ msgstr "" "Vorschub (Geschwindigkeit) bei vertikaler Aufwärtsbewegung\n" "in Ausgabeposition (in der Z-Ebene)." -#: flatcamGUI/FlatCAMGUI.py:7465 flatcamTools/ToolSolderPaste.py:242 +#: flatcamGUI/FlatCAMGUI.py:7501 flatcamTools/ToolSolderPaste.py:242 msgid "Spindle Speed FWD" msgstr "Spindeldrehzahl FWD" -#: flatcamGUI/FlatCAMGUI.py:7467 flatcamTools/ToolSolderPaste.py:244 +#: flatcamGUI/FlatCAMGUI.py:7503 flatcamTools/ToolSolderPaste.py:244 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -10117,19 +10176,19 @@ msgstr "" "Die Spendergeschwindigkeit beim Schieben der Lötpaste\n" "durch die Spenderdüse." -#: flatcamGUI/FlatCAMGUI.py:7475 flatcamTools/ToolSolderPaste.py:251 +#: flatcamGUI/FlatCAMGUI.py:7511 flatcamTools/ToolSolderPaste.py:251 msgid "Dwell FWD" msgstr "Verweilzeit FWD" -#: flatcamGUI/FlatCAMGUI.py:7477 flatcamTools/ToolSolderPaste.py:253 +#: flatcamGUI/FlatCAMGUI.py:7513 flatcamTools/ToolSolderPaste.py:253 msgid "Pause after solder dispensing." msgstr "Pause nach dem Löten." -#: flatcamGUI/FlatCAMGUI.py:7484 flatcamTools/ToolSolderPaste.py:259 +#: flatcamGUI/FlatCAMGUI.py:7520 flatcamTools/ToolSolderPaste.py:259 msgid "Spindle Speed REV" msgstr "Spindeldrehzahl REV" -#: flatcamGUI/FlatCAMGUI.py:7486 flatcamTools/ToolSolderPaste.py:261 +#: flatcamGUI/FlatCAMGUI.py:7522 flatcamTools/ToolSolderPaste.py:261 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -10137,11 +10196,11 @@ msgstr "" "Die Spendergeschwindigkeit beim Einfahren der Lötpaste\n" "durch die Spenderdüse." -#: flatcamGUI/FlatCAMGUI.py:7494 flatcamTools/ToolSolderPaste.py:268 +#: flatcamGUI/FlatCAMGUI.py:7530 flatcamTools/ToolSolderPaste.py:268 msgid "Dwell REV" msgstr "Verweilen REV" -#: flatcamGUI/FlatCAMGUI.py:7496 flatcamTools/ToolSolderPaste.py:270 +#: flatcamGUI/FlatCAMGUI.py:7532 flatcamTools/ToolSolderPaste.py:270 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -10149,20 +10208,20 @@ msgstr "" "Pause nachdem Lotpastendispenser eingefahren wurde,\n" "das Druckgleichgewicht zu ermöglichen." -#: flatcamGUI/FlatCAMGUI.py:7503 flatcamGUI/ObjectUI.py:1288 +#: flatcamGUI/FlatCAMGUI.py:7539 flatcamGUI/ObjectUI.py:1297 #: flatcamTools/ToolSolderPaste.py:276 msgid "PostProcessor" msgstr "Postprozessor" -#: flatcamGUI/FlatCAMGUI.py:7505 flatcamTools/ToolSolderPaste.py:278 +#: flatcamGUI/FlatCAMGUI.py:7541 flatcamTools/ToolSolderPaste.py:278 msgid "Files that control the GCode generation." msgstr "Dateien, die die GCode-Generierung steuern." -#: flatcamGUI/FlatCAMGUI.py:7520 +#: flatcamGUI/FlatCAMGUI.py:7556 msgid "Substractor Tool Options" msgstr "Substractor-Werkzeug-Optionen" -#: flatcamGUI/FlatCAMGUI.py:7525 +#: flatcamGUI/FlatCAMGUI.py:7561 msgid "" "A tool to substract one Gerber or Geometry object\n" "from another of the same type." @@ -10170,28 +10229,28 @@ msgstr "" "Ein Werkzeug zum Subtrahieren eines Gerber- oder Geometrieobjekts\n" "von einem anderen des gleichen Typs." -#: flatcamGUI/FlatCAMGUI.py:7530 flatcamTools/ToolSub.py:135 +#: flatcamGUI/FlatCAMGUI.py:7566 flatcamTools/ToolSub.py:135 msgid "Close paths" msgstr "Wege schließen" -#: flatcamGUI/FlatCAMGUI.py:7531 flatcamTools/ToolSub.py:136 +#: flatcamGUI/FlatCAMGUI.py:7567 flatcamTools/ToolSub.py:136 msgid "" "Checking this will close the paths cut by the Geometry substractor object." msgstr "" "Wenn Sie dies aktivieren, werden die vom Geometry-Substractor-Objekt " "geschnittenen Pfade geschlossen." -#: flatcamGUI/FlatCAMGUI.py:7542 +#: flatcamGUI/FlatCAMGUI.py:7578 msgid "Excellon File associations" msgstr "Excellon-Dateizuordnungen" -#: flatcamGUI/FlatCAMGUI.py:7545 flatcamGUI/FlatCAMGUI.py:7578 -#: flatcamGUI/FlatCAMGUI.py:7611 +#: flatcamGUI/FlatCAMGUI.py:7581 flatcamGUI/FlatCAMGUI.py:7614 +#: flatcamGUI/FlatCAMGUI.py:7647 msgid "Extensions list" msgstr "Erweiterungsliste" -#: flatcamGUI/FlatCAMGUI.py:7547 flatcamGUI/FlatCAMGUI.py:7580 -#: flatcamGUI/FlatCAMGUI.py:7613 +#: flatcamGUI/FlatCAMGUI.py:7583 flatcamGUI/FlatCAMGUI.py:7616 +#: flatcamGUI/FlatCAMGUI.py:7649 msgid "" "List of file extensions to be\n" "associated with FlatCAM." @@ -10199,8 +10258,8 @@ msgstr "" "Liste der zu verwendenden Dateierweiterungen\n" "im Zusammenhang mit FlatCAM." -#: flatcamGUI/FlatCAMGUI.py:7561 flatcamGUI/FlatCAMGUI.py:7594 -#: flatcamGUI/FlatCAMGUI.py:7626 +#: flatcamGUI/FlatCAMGUI.py:7597 flatcamGUI/FlatCAMGUI.py:7630 +#: flatcamGUI/FlatCAMGUI.py:7662 msgid "" "Apply the file associations between\n" "FlatCAM and the files with above extensions.\n" @@ -10212,23 +10271,23 @@ msgstr "" "Sie sind nach der nächsten Anmeldung aktiv.\n" "Dies funktioniert nur unter Windows." -#: flatcamGUI/FlatCAMGUI.py:7575 +#: flatcamGUI/FlatCAMGUI.py:7611 msgid "GCode File associations" msgstr "GCode-Dateizuordnungen" -#: flatcamGUI/FlatCAMGUI.py:7608 +#: flatcamGUI/FlatCAMGUI.py:7644 msgid "Gerber File associations" msgstr "Gerber Dateizuordnungen" -#: flatcamGUI/FlatCAMGUI.py:7655 flatcamGUI/FlatCAMGUI.py:7661 +#: flatcamGUI/FlatCAMGUI.py:7691 flatcamGUI/FlatCAMGUI.py:7697 msgid "Idle." msgstr "Untätig." -#: flatcamGUI/FlatCAMGUI.py:7686 +#: flatcamGUI/FlatCAMGUI.py:7722 msgid "Application started ..." msgstr "Bewerbung gestartet ..." -#: flatcamGUI/FlatCAMGUI.py:7687 +#: flatcamGUI/FlatCAMGUI.py:7723 msgid "Hello!" msgstr "Hello!" @@ -10298,8 +10357,8 @@ msgstr "Führen Sie den Versatzvorgang aus." msgid "Gerber Object" msgstr "Gerber-Objekt" -#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:565 -#: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1414 +#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:574 +#: flatcamGUI/ObjectUI.py:900 flatcamGUI/ObjectUI.py:1423 msgid "Name" msgstr "Name" @@ -10415,10 +10474,26 @@ msgstr "" "Durchmesser oben." #: flatcamGUI/ObjectUI.py:384 +msgid "Buffer Solid Geometry" +msgstr "Festkörpergeometrie puffern" + +#: flatcamGUI/ObjectUI.py:386 +msgid "" +"This button is shown only when the Gerber file\n" +"is loaded without buffering.\n" +"Clicking this will create the buffered geometry\n" +"required for isolation." +msgstr "" +"Diese Schaltfläche wird nur bei der Gerber-Datei angezeigt\n" +"wird ohne Pufferung geladen.\n" +"Durch Klicken auf diese Schaltfläche wird die gepufferte Geometrie erstellt\n" +"für die Isolierung erforderlich." + +#: flatcamGUI/ObjectUI.py:393 msgid "FULL Geo" msgstr "Volle Geo" -#: flatcamGUI/ObjectUI.py:386 +#: flatcamGUI/ObjectUI.py:395 msgid "" "Create the Geometry Object\n" "for isolation routing. It contains both\n" @@ -10428,11 +10503,11 @@ msgstr "" "für Isolationsrouting. Es enthält beides\n" "die Innen- und Außengeometrie." -#: flatcamGUI/ObjectUI.py:395 +#: flatcamGUI/ObjectUI.py:404 msgid "Ext Geo" msgstr "Äußere Geo" -#: flatcamGUI/ObjectUI.py:397 +#: flatcamGUI/ObjectUI.py:406 msgid "" "Create the Geometry Object\n" "for isolation routing containing\n" @@ -10442,11 +10517,11 @@ msgstr "" "für Isolationsrouting enthalten\n" "nur die äußere Geometrie." -#: flatcamGUI/ObjectUI.py:404 +#: flatcamGUI/ObjectUI.py:413 msgid "Int Geo" msgstr "Innengeo" -#: flatcamGUI/ObjectUI.py:406 +#: flatcamGUI/ObjectUI.py:415 msgid "" "Create the Geometry Object\n" "for isolation routing containing\n" @@ -10456,11 +10531,11 @@ msgstr "" "für Isolationsrouting enthalten\n" "nur die Innengeometrie." -#: flatcamGUI/ObjectUI.py:436 +#: flatcamGUI/ObjectUI.py:445 msgid "Clear N-copper" msgstr "N-Kupfer löschen" -#: flatcamGUI/ObjectUI.py:445 flatcamTools/ToolNonCopperClear.py:442 +#: flatcamGUI/ObjectUI.py:454 flatcamTools/ToolNonCopperClear.py:442 msgid "" "Create the Geometry Object\n" "for non-copper routing." @@ -10468,15 +10543,15 @@ msgstr "" "Erstellen Sie das Geometrieobjekt\n" "für kupferfreies Routing." -#: flatcamGUI/ObjectUI.py:452 +#: flatcamGUI/ObjectUI.py:461 msgid "Board cutout" msgstr "Kartenausschnitt" -#: flatcamGUI/ObjectUI.py:459 flatcamTools/ToolCutOut.py:343 +#: flatcamGUI/ObjectUI.py:468 flatcamTools/ToolCutOut.py:343 msgid "Cutout Tool" msgstr "Ausschnittwerkzeug" -#: flatcamGUI/ObjectUI.py:461 +#: flatcamGUI/ObjectUI.py:470 msgid "" "Generate the geometry for\n" "the board cutout." @@ -10484,13 +10559,13 @@ msgstr "" "Generieren Sie die Geometrie für\n" "der Brettausschnitt." -#: flatcamGUI/ObjectUI.py:499 flatcamGUI/ObjectUI.py:531 +#: flatcamGUI/ObjectUI.py:508 flatcamGUI/ObjectUI.py:540 #: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203 #: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127 msgid "Generate Geo" msgstr "Geo erzeugen" -#: flatcamGUI/ObjectUI.py:506 +#: flatcamGUI/ObjectUI.py:515 msgid "" "Create a geometry surrounding the Gerber object.\n" "Square shape." @@ -10498,23 +10573,23 @@ msgstr "" "Erstellen Sie eine Geometrie, die das Gerber-Objekt umgibt.\n" "Quadratische Form." -#: flatcamGUI/ObjectUI.py:533 +#: flatcamGUI/ObjectUI.py:542 msgid "Generate the Geometry object." msgstr "Generieren Sie das Geometrieobjekt." -#: flatcamGUI/ObjectUI.py:545 +#: flatcamGUI/ObjectUI.py:554 msgid "Excellon Object" msgstr "Excellon-Objekt" -#: flatcamGUI/ObjectUI.py:556 +#: flatcamGUI/ObjectUI.py:565 msgid "Solid circles." msgstr "Feste Kreise." -#: flatcamGUI/ObjectUI.py:604 +#: flatcamGUI/ObjectUI.py:613 msgid "Drills" msgstr "Bohrer" -#: flatcamGUI/ObjectUI.py:609 +#: flatcamGUI/ObjectUI.py:618 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -10529,7 +10604,7 @@ msgstr "" "\n" "Hier werden die Werkzeuge zur G-Code-Generierung ausgewählt." -#: flatcamGUI/ObjectUI.py:614 flatcamGUI/ObjectUI.py:956 +#: flatcamGUI/ObjectUI.py:623 flatcamGUI/ObjectUI.py:965 #: flatcamTools/ToolPaint.py:120 msgid "" "Tool Diameter. It's value (in current FlatCAM units) \n" @@ -10538,7 +10613,7 @@ msgstr "" "Werkzeugdurchmesser Der Wert (in aktuellen FlatCAM-Einheiten)\n" "ist die Schnittbreite in das Material." -#: flatcamGUI/ObjectUI.py:617 +#: flatcamGUI/ObjectUI.py:626 msgid "" "The number of Drill holes. Holes that are drilled with\n" "a drill bit." @@ -10546,7 +10621,7 @@ msgstr "" "Die Anzahl der Bohrlöcher. Löcher, mit denen gebohrt wird\n" "ein Bohrer." -#: flatcamGUI/ObjectUI.py:620 +#: flatcamGUI/ObjectUI.py:629 msgid "" "The number of Slot holes. Holes that are created by\n" "milling them with an endmill bit." @@ -10554,7 +10629,7 @@ msgstr "" "Die Anzahl der Langlöcher. Löcher, die von erstellt werden\n" "Fräsen mit einem Schaftfräser." -#: flatcamGUI/ObjectUI.py:627 +#: flatcamGUI/ObjectUI.py:636 msgid "" "Toggle display of the drills for the current tool.\n" "This does not select the tools for G-code generation." @@ -10562,7 +10637,7 @@ msgstr "" "Anzeige der Bohrer für das aktuelle Werkzeug umschalten.\n" "Hiermit werden die Tools für die G-Code-Generierung nicht ausgewählt." -#: flatcamGUI/ObjectUI.py:636 +#: flatcamGUI/ObjectUI.py:645 msgid "" "Create a CNC Job object\n" "for this drill object." @@ -10570,11 +10645,11 @@ msgstr "" "Erstellen Sie ein CNC-Auftragsobjekt\n" "für dieses Bohrobjekt." -#: flatcamGUI/ObjectUI.py:673 flatcamGUI/ObjectUI.py:1168 +#: flatcamGUI/ObjectUI.py:682 flatcamGUI/ObjectUI.py:1177 msgid "Tool change Z" msgstr "Werkzeugwechsel Z" -#: flatcamGUI/ObjectUI.py:790 +#: flatcamGUI/ObjectUI.py:799 msgid "" "Select from the Tools Table above\n" "the hole dias that are to be drilled.\n" @@ -10584,7 +10659,7 @@ msgstr "" "das loch dias das gebohrt werden soll.\n" "Verwenden Sie die Spalte #, um die Auswahl zu treffen." -#: flatcamGUI/ObjectUI.py:800 +#: flatcamGUI/ObjectUI.py:809 msgid "" "Choose what to use for GCode generation:\n" "'Drills', 'Slots' or 'Both'.\n" @@ -10596,15 +10671,15 @@ msgstr "" "Wenn Sie \"Slots\" oder \"Both\" wählen, werden die Slots angezeigt\n" "in eine Reihe von Bohrern umgewandelt." -#: flatcamGUI/ObjectUI.py:815 +#: flatcamGUI/ObjectUI.py:824 msgid "Create Drills GCode" msgstr "Erstellen Sie einen Drill-GCode" -#: flatcamGUI/ObjectUI.py:817 +#: flatcamGUI/ObjectUI.py:826 msgid "Generate the CNC Job." msgstr "Generieren Sie den CNC-Job." -#: flatcamGUI/ObjectUI.py:829 +#: flatcamGUI/ObjectUI.py:838 msgid "" "Select from the Tools Table above\n" "the hole dias that are to be milled.\n" @@ -10614,11 +10689,11 @@ msgstr "" "das loch dias das gefräst werden soll.\n" "Verwenden Sie die Spalte #, um die Auswahl zu treffen." -#: flatcamGUI/ObjectUI.py:844 +#: flatcamGUI/ObjectUI.py:853 msgid "Mill Drills Geo" msgstr "Mühle bohrt Geo" -#: flatcamGUI/ObjectUI.py:846 +#: flatcamGUI/ObjectUI.py:855 msgid "" "Create the Geometry Object\n" "for milling DRILLS toolpaths." @@ -10626,11 +10701,11 @@ msgstr "" "Erstellen Sie das Geometrieobjekt\n" "zum Fräsen von BOHRER-Werkzeugwegen." -#: flatcamGUI/ObjectUI.py:861 +#: flatcamGUI/ObjectUI.py:870 msgid "Mill Slots Geo" msgstr "Fräsen der Schlitze" -#: flatcamGUI/ObjectUI.py:863 +#: flatcamGUI/ObjectUI.py:872 msgid "" "Create the Geometry Object\n" "for milling SLOTS toolpaths." @@ -10638,11 +10713,11 @@ msgstr "" "Erstellen Sie das Geometrieobjekt\n" "zum Fräsen von Werkzeugwegen." -#: flatcamGUI/ObjectUI.py:881 +#: flatcamGUI/ObjectUI.py:890 msgid "Geometry Object" msgstr "Geometrieobjekt" -#: flatcamGUI/ObjectUI.py:912 +#: flatcamGUI/ObjectUI.py:921 msgid "" "Tools in this Geometry object used for cutting.\n" "The 'Offset' entry will set an offset for the cut.\n" @@ -10671,16 +10746,16 @@ msgstr "" "ausgegraut und Cut Z wird automatisch aus dem neuen berechnet\n" "Zeigt UI-Formulareinträge mit den Namen V-Tip Dia und V-Tip Angle an." -#: flatcamGUI/ObjectUI.py:943 flatcamGUI/ObjectUI.py:1508 +#: flatcamGUI/ObjectUI.py:952 flatcamGUI/ObjectUI.py:1517 msgid "Dia" msgstr "Durchm" -#: flatcamGUI/ObjectUI.py:943 flatcamGUI/ObjectUI.py:1508 +#: flatcamGUI/ObjectUI.py:952 flatcamGUI/ObjectUI.py:1517 #: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106 msgid "TT" msgstr "TT" -#: flatcamGUI/ObjectUI.py:950 +#: flatcamGUI/ObjectUI.py:959 msgid "" "This is the Tool Number.\n" "When ToolChange is checked, on toolchange event this value\n" @@ -10691,7 +10766,7 @@ msgstr "" "Werkzeugwechselereignis angezeigt\n" "wird als T1, T2 ... Tn angezeigt" -#: flatcamGUI/ObjectUI.py:961 +#: flatcamGUI/ObjectUI.py:970 msgid "" "The value for the Offset can be:\n" "- Path -> There is no offset, the tool cut will be done through the geometry " @@ -10708,7 +10783,7 @@ msgstr "" "- Out (Seite) -> Der Werkzeugschnitt folgt der Geometrielinie an der " "Außenseite." -#: flatcamGUI/ObjectUI.py:968 +#: flatcamGUI/ObjectUI.py:977 msgid "" "The (Operation) Type has only informative value. Usually the UI form " "values \n" @@ -10731,7 +10806,7 @@ msgstr "" "Für die Isolierung benötigen wir einen niedrigeren Vorschub, da ein Fräser " "mit einer feinen Spitze verwendet wird." -#: flatcamGUI/ObjectUI.py:977 +#: flatcamGUI/ObjectUI.py:986 msgid "" "The Tool Type (TT) can be:\n" "- Circular with 1 ... 4 teeth -> it is informative only. Being circular the " @@ -10762,7 +10837,7 @@ msgstr "" "Durch die Auswahl des V-Shape-Werkzeugtyps wird der Operationstyp " "automatisch als Isolation ausgewählt." -#: flatcamGUI/ObjectUI.py:989 +#: flatcamGUI/ObjectUI.py:998 msgid "" "Plot column. It is visible only for MultiGeo geometries, meaning geometries " "that holds the geometry\n" @@ -10780,11 +10855,11 @@ msgstr "" "der Leinwand aktiviert / deaktiviert werden\n" "für das entsprechende Werkzeug." -#: flatcamGUI/ObjectUI.py:1002 +#: flatcamGUI/ObjectUI.py:1011 msgid "Tool Offset" msgstr "Werkzeugversatz" -#: flatcamGUI/ObjectUI.py:1005 +#: flatcamGUI/ObjectUI.py:1014 msgid "" "The value to offset the cut when \n" "the Offset type selected is 'Offset'.\n" @@ -10796,7 +10871,7 @@ msgstr "" "Der Wert kann für \"außerhalb\" positiv sein\n" "Cut und Negativ für \"Inside\" Cut." -#: flatcamGUI/ObjectUI.py:1047 flatcamTools/ToolNonCopperClear.py:239 +#: flatcamGUI/ObjectUI.py:1056 flatcamTools/ToolNonCopperClear.py:239 #: flatcamTools/ToolPaint.py:178 msgid "" "Add a new tool to the Tool Table\n" @@ -10805,7 +10880,7 @@ msgstr "" "Fügen Sie der Werkzeugtabelle ein neues Werkzeug hinzu\n" "mit dem oben angegebenen Durchmesser." -#: flatcamGUI/ObjectUI.py:1055 +#: flatcamGUI/ObjectUI.py:1064 msgid "" "Copy a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -10813,7 +10888,7 @@ msgstr "" "Kopieren Sie eine Auswahl von Werkzeugen in die Werkzeugtabelle\n" "indem Sie zuerst eine Zeile in der Werkzeugtabelle auswählen." -#: flatcamGUI/ObjectUI.py:1063 +#: flatcamGUI/ObjectUI.py:1072 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -10821,11 +10896,11 @@ msgstr "" "Löschen Sie eine Auswahl von Werkzeugen in der Werkzeugtabelle\n" "indem Sie zuerst eine Zeile in der Werkzeugtabelle auswählen." -#: flatcamGUI/ObjectUI.py:1079 +#: flatcamGUI/ObjectUI.py:1088 msgid "Tool Data" msgstr "Werkzeugdaten" -#: flatcamGUI/ObjectUI.py:1082 +#: flatcamGUI/ObjectUI.py:1091 msgid "" "The data used for creating GCode.\n" "Each tool store it's own set of such data." @@ -10833,11 +10908,11 @@ msgstr "" "Die Daten, die zum Erstellen von GCode verwendet werden.\n" "Jedes Werkzeug speichert seinen eigenen Satz solcher Daten." -#: flatcamGUI/ObjectUI.py:1149 +#: flatcamGUI/ObjectUI.py:1158 msgid "Depth of each pass (positive)." msgstr "Tiefe jedes Durchgangs (positiv)." -#: flatcamGUI/ObjectUI.py:1323 +#: flatcamGUI/ObjectUI.py:1332 msgid "" "Add at least one tool in the tool-table.\n" "Click the header to select all, or Ctrl + LMB\n" @@ -10849,31 +10924,31 @@ msgstr "" "oder drücken Sie Strg + LMB\n" "zur benutzerdefinierten Auswahl von Werkzeugen." -#: flatcamGUI/ObjectUI.py:1330 +#: flatcamGUI/ObjectUI.py:1339 msgid "Generate" msgstr "Generieren" -#: flatcamGUI/ObjectUI.py:1332 +#: flatcamGUI/ObjectUI.py:1341 msgid "Generate the CNC Job object." msgstr "Generieren Sie das CNC-Job-Objekt." -#: flatcamGUI/ObjectUI.py:1339 +#: flatcamGUI/ObjectUI.py:1348 msgid "Paint Area" msgstr "Paint Bereich" -#: flatcamGUI/ObjectUI.py:1353 +#: flatcamGUI/ObjectUI.py:1362 msgid "Launch Paint Tool in Tools Tab." msgstr "Starten Sie das Paint Werkzeug in der Registerkarte \"Tools\"." -#: flatcamGUI/ObjectUI.py:1369 +#: flatcamGUI/ObjectUI.py:1378 msgid "CNC Job Object" msgstr "CNC-Auftragsobjekt" -#: flatcamGUI/ObjectUI.py:1420 +#: flatcamGUI/ObjectUI.py:1429 msgid "Travelled dist." msgstr "Zurückgelegte Strecke" -#: flatcamGUI/ObjectUI.py:1422 flatcamGUI/ObjectUI.py:1427 +#: flatcamGUI/ObjectUI.py:1431 flatcamGUI/ObjectUI.py:1436 msgid "" "This is the total travelled distance on X-Y plane.\n" "In current units." @@ -10881,11 +10956,11 @@ msgstr "" "Dies ist die Gesamtstrecke auf der X-Y-Ebene.\n" "In aktuellen Einheiten." -#: flatcamGUI/ObjectUI.py:1432 +#: flatcamGUI/ObjectUI.py:1441 msgid "Estimated time" msgstr "Geschätzte Zeit" -#: flatcamGUI/ObjectUI.py:1434 flatcamGUI/ObjectUI.py:1439 +#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/ObjectUI.py:1448 msgid "" "This is the estimated time to do the routing/drilling,\n" "without the time spent in ToolChange events." @@ -10893,11 +10968,11 @@ msgstr "" "Dies ist die geschätzte Zeit für das Fräsen / Bohren.\n" "ohne die Zeit, die in Werkzeugwechselereignissen verbracht wird." -#: flatcamGUI/ObjectUI.py:1474 +#: flatcamGUI/ObjectUI.py:1483 msgid "CNC Tools Table" msgstr "CNC Werkzeugtabelle" -#: flatcamGUI/ObjectUI.py:1477 +#: flatcamGUI/ObjectUI.py:1486 msgid "" "Tools in this CNCJob object used for cutting.\n" "The tool diameter is used for plotting on canvas.\n" @@ -10919,39 +10994,39 @@ msgstr "" "Der 'Werkzeugtyp' (TT) kann kreisförmig mit 1 bis 4 Zähnen (C1..C4) sein.\n" "Kugel (B) oder V-Form (V)." -#: flatcamGUI/ObjectUI.py:1509 +#: flatcamGUI/ObjectUI.py:1518 msgid "P" msgstr "P" -#: flatcamGUI/ObjectUI.py:1515 +#: flatcamGUI/ObjectUI.py:1524 msgid "Update Plot" msgstr "Plot aktualisieren" -#: flatcamGUI/ObjectUI.py:1517 +#: flatcamGUI/ObjectUI.py:1526 msgid "Update the plot." msgstr "Aktualisieren Sie die Darstellung." -#: flatcamGUI/ObjectUI.py:1532 +#: flatcamGUI/ObjectUI.py:1541 msgid "Prepend to CNC Code" msgstr "CNC-Code voranstellen" -#: flatcamGUI/ObjectUI.py:1543 +#: flatcamGUI/ObjectUI.py:1552 msgid "Append to CNC Code" msgstr "An CNC Code anhängen" -#: flatcamGUI/ObjectUI.py:1611 +#: flatcamGUI/ObjectUI.py:1620 msgid "z_cut = depth where to cut" msgstr "z_cut = Tiefe, wo geschnitten werden soll" -#: flatcamGUI/ObjectUI.py:1612 +#: flatcamGUI/ObjectUI.py:1621 msgid "z_move = height where to travel" msgstr "z_move = Höhe wo zu reisen" -#: flatcamGUI/ObjectUI.py:1631 +#: flatcamGUI/ObjectUI.py:1640 msgid "View CNC Code" msgstr "CNC-Code anzeigen" -#: flatcamGUI/ObjectUI.py:1633 +#: flatcamGUI/ObjectUI.py:1642 msgid "" "Opens TAB to view/modify/print G-Code\n" "file." @@ -10959,11 +11034,11 @@ msgstr "" "Öffnet die Registerkarte zum Anzeigen / Ändern / Drucken von G-Code\n" "Datei." -#: flatcamGUI/ObjectUI.py:1638 +#: flatcamGUI/ObjectUI.py:1647 msgid "Save CNC Code" msgstr "CNC-Code speichern" -#: flatcamGUI/ObjectUI.py:1640 +#: flatcamGUI/ObjectUI.py:1649 msgid "" "Opens dialog to save G-Code\n" "file." @@ -11068,33 +11143,6 @@ msgstr "" msgid "Calc. Tool" msgstr "Rechner-Tool" -#: flatcamTools/ToolCalculators.py:311 flatcamTools/ToolCalculators.py:322 -#: flatcamTools/ToolCalculators.py:334 flatcamTools/ToolCalculators.py:349 -#: flatcamTools/ToolCalculators.py:362 flatcamTools/ToolCalculators.py:376 -#: flatcamTools/ToolCalculators.py:387 flatcamTools/ToolCalculators.py:398 -#: flatcamTools/ToolCalculators.py:409 flatcamTools/ToolFilm.py:248 -#: flatcamTools/ToolFilm.py:254 flatcamTools/ToolNonCopperClear.py:862 -#: flatcamTools/ToolNonCopperClear.py:873 -#: flatcamTools/ToolNonCopperClear.py:883 -#: flatcamTools/ToolNonCopperClear.py:901 -#: flatcamTools/ToolNonCopperClear.py:980 -#: flatcamTools/ToolNonCopperClear.py:1062 -#: flatcamTools/ToolNonCopperClear.py:1341 -#: flatcamTools/ToolNonCopperClear.py:1367 flatcamTools/ToolPaint.py:695 -#: flatcamTools/ToolPaint.py:770 flatcamTools/ToolPaint.py:919 -#: flatcamTools/ToolPaint.py:973 flatcamTools/ToolPaint.py:1205 -#: flatcamTools/ToolPaint.py:1462 flatcamTools/ToolPaint.py:1882 -#: flatcamTools/ToolPanelize.py:397 flatcamTools/ToolPanelize.py:409 -#: flatcamTools/ToolPanelize.py:422 flatcamTools/ToolPanelize.py:435 -#: flatcamTools/ToolPanelize.py:447 flatcamTools/ToolPanelize.py:458 -#: flatcamTools/ToolSolderPaste.py:764 flatcamTools/ToolSolderPaste.py:839 -#: flatcamTools/ToolTransform.py:474 flatcamTools/ToolTransform.py:508 -#: flatcamTools/ToolTransform.py:526 flatcamTools/ToolTransform.py:544 -#: flatcamTools/ToolTransform.py:578 flatcamTools/ToolTransform.py:607 -#: flatcamTools/ToolTransform.py:625 -msgid "Wrong value format entered, use a number." -msgstr "Falsches Wertformat eingegeben, eine Zahl verwenden." - #: flatcamTools/ToolCutOut.py:18 msgid "Cutout PCB" msgstr "Ausschnitt PCB" @@ -11275,7 +11323,7 @@ msgstr "" #: flatcamTools/ToolCutOut.py:371 flatcamTools/ToolCutOut.py:571 #: flatcamTools/ToolNonCopperClear.py:1124 -#: flatcamTools/ToolNonCopperClear.py:1265 flatcamTools/ToolPaint.py:1146 +#: flatcamTools/ToolNonCopperClear.py:1265 flatcamTools/ToolPaint.py:1148 #: flatcamTools/ToolPanelize.py:359 flatcamTools/ToolPanelize.py:376 #: flatcamTools/ToolSub.py:254 flatcamTools/ToolSub.py:269 #: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:471 @@ -11969,13 +12017,10 @@ msgid "No object(s) selected." msgstr "Keine Objekte ausgewählt." #: flatcamTools/ToolMove.py:162 -#| msgid "[ERROR_NOTCL] ToolMove.on_left_click() --> %s" msgid "ToolMove.on_left_click()" msgstr "ToolMove.on_left_click()" #: flatcamTools/ToolMove.py:179 -#| msgid "" -#| "[ERROR_NOTCL] ToolMove.on_left_click() --> Error when mouse left click." msgid "ToolMove.on_left_click() --> Error when mouse left click." msgstr "" "ToolMove.on_left_click() --> Fehler beim Klicken mit der linken Maustaste." @@ -12153,48 +12198,43 @@ msgstr "" msgid "Generate Geometry" msgstr "Geometrie erzeugen" -#: flatcamTools/ToolNonCopperClear.py:906 flatcamTools/ToolPaint.py:701 +#: flatcamTools/ToolNonCopperClear.py:906 flatcamTools/ToolPaint.py:703 #: flatcamTools/ToolSolderPaste.py:769 msgid "Please enter a tool diameter to add, in Float format." msgstr "" "Bitte geben Sie einen hinzuzufügenden Werkzeugdurchmesser im Float-Format " "ein." -#: flatcamTools/ToolNonCopperClear.py:915 flatcamTools/ToolSolderPaste.py:774 -msgid "Please enter a tool diameter with non-zero value, in Float format." -msgstr "" -"Bitte geben Sie einen Werkzeugdurchmesser ungleich Null im Float-Format ein." - -#: flatcamTools/ToolNonCopperClear.py:940 flatcamTools/ToolPaint.py:726 +#: flatcamTools/ToolNonCopperClear.py:940 flatcamTools/ToolPaint.py:728 msgid "Adding tool cancelled. Tool already in Tool Table." msgstr "" "Hinzufügen des Werkzeugs abgebrochen. Werkzeug bereits in der " "Werkzeugtabelle." -#: flatcamTools/ToolNonCopperClear.py:945 flatcamTools/ToolPaint.py:732 +#: flatcamTools/ToolNonCopperClear.py:945 flatcamTools/ToolPaint.py:734 msgid "New tool added to Tool Table." msgstr "Neues Werkzeug zur Werkzeugtabelle hinzugefügt." -#: flatcamTools/ToolNonCopperClear.py:989 flatcamTools/ToolPaint.py:778 +#: flatcamTools/ToolNonCopperClear.py:989 flatcamTools/ToolPaint.py:780 msgid "Tool from Tool Table was edited." msgstr "Werkzeug aus Werkzeugtabelle wurde bearbeitet." -#: flatcamTools/ToolNonCopperClear.py:1000 flatcamTools/ToolPaint.py:790 +#: flatcamTools/ToolNonCopperClear.py:1000 flatcamTools/ToolPaint.py:792 #: flatcamTools/ToolSolderPaste.py:860 msgid "Edit cancelled. New diameter value is already in the Tool Table." msgstr "" "Bearbeitung abgebrochen. Neuer Durchmesserwert befindet sich bereits in der " "Werkzeugtabelle." -#: flatcamTools/ToolNonCopperClear.py:1040 flatcamTools/ToolPaint.py:889 +#: flatcamTools/ToolNonCopperClear.py:1040 flatcamTools/ToolPaint.py:891 msgid "Delete failed. Select a tool to delete." msgstr "Löschen fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen aus." -#: flatcamTools/ToolNonCopperClear.py:1045 flatcamTools/ToolPaint.py:895 +#: flatcamTools/ToolNonCopperClear.py:1045 flatcamTools/ToolPaint.py:897 msgid "Tool(s) deleted from Tool Table." msgstr "Werkzeug(e) aus der Werkzeugtabelle gelöscht." -#: flatcamTools/ToolNonCopperClear.py:1053 flatcamTools/ToolPaint.py:903 +#: flatcamTools/ToolNonCopperClear.py:1053 flatcamTools/ToolPaint.py:905 msgid "on_paint_button_click" msgstr "auf den Farbknopf klicken" @@ -12204,7 +12244,7 @@ msgstr "" "Der Überlappungswert muss zwischen 0 (einschließlich) und 1 (ausschließlich) " "liegen." -#: flatcamTools/ToolNonCopperClear.py:1083 flatcamTools/ToolPaint.py:942 +#: flatcamTools/ToolNonCopperClear.py:1083 flatcamTools/ToolPaint.py:944 #, python-format msgid "Could not retrieve object: %s" msgstr "Objekt konnte nicht abgerufen werden: %s" @@ -12213,7 +12253,7 @@ msgstr "Objekt konnte nicht abgerufen werden: %s" msgid "Wrong Tool Dia value format entered, use a number." msgstr "Falsches Werkzeug Dia-Wertformat eingegeben, verwenden Sie eine Zahl." -#: flatcamTools/ToolNonCopperClear.py:1112 flatcamTools/ToolPaint.py:978 +#: flatcamTools/ToolNonCopperClear.py:1112 flatcamTools/ToolPaint.py:980 msgid "No selected tools in Tool Table." msgstr "Keine ausgewählten Werkzeuge in der Werkzeugtabelle." @@ -12221,11 +12261,11 @@ msgstr "Keine ausgewählten Werkzeuge in der Werkzeugtabelle." msgid "Click the start point of the area." msgstr "Klicken Sie auf den Startpunkt des Bereichs." -#: flatcamTools/ToolNonCopperClear.py:1148 flatcamTools/ToolPaint.py:1034 +#: flatcamTools/ToolNonCopperClear.py:1148 flatcamTools/ToolPaint.py:1036 msgid "Click the end point of the paint area." msgstr "Klicken Sie auf den Endpunkt des Malbereichs." -#: flatcamTools/ToolNonCopperClear.py:1154 flatcamTools/ToolPaint.py:1040 +#: flatcamTools/ToolNonCopperClear.py:1154 flatcamTools/ToolPaint.py:1042 msgid "Zone added. Click to start adding next zone or right click to finish." msgstr "" "Zone hinzugefügt. Klicken Sie, um die nächste Zone hinzuzufügen, oder " @@ -12239,81 +12279,67 @@ msgstr "Nicht-Kupfer-Clearing ..." msgid "NCC Tool started. Reading parameters." msgstr "NCC Tool gestartet. Parameter lesen." -#: flatcamTools/ToolNonCopperClear.py:1391 +#: flatcamTools/ToolNonCopperClear.py:1395 msgid "NCC Tool. Preparing non-copper polygons." msgstr "NCC-Tool. Vorbereitung von kupferfreien Polygonen." -#: flatcamTools/ToolNonCopperClear.py:1419 flatcamTools/ToolPaint.py:2299 +#: flatcamTools/ToolNonCopperClear.py:1423 flatcamTools/ToolPaint.py:2431 msgid "No object available." msgstr "Kein Objekt vorhanden." -#: flatcamTools/ToolNonCopperClear.py:1461 +#: flatcamTools/ToolNonCopperClear.py:1465 msgid "The reference object type is not supported." msgstr "Der Referenzobjekttyp wird nicht unterstützt." -#: flatcamTools/ToolNonCopperClear.py:1483 +#: flatcamTools/ToolNonCopperClear.py:1487 msgid "" "NCC Tool. Finished non-copper polygons. Normal copper clearing task started." msgstr "" "NCC-Tool. Fertige kupferfreie Polygone. Normale Kupferentfernungsaufgabe " "gestartet." -#: flatcamTools/ToolNonCopperClear.py:1515 +#: flatcamTools/ToolNonCopperClear.py:1519 msgid "NCC Tool. Calculate 'empty' area." msgstr "NCC-Tool. Berechnen Sie die \"leere\" Fläche." -#: flatcamTools/ToolNonCopperClear.py:1521 -#: flatcamTools/ToolNonCopperClear.py:1607 -#: flatcamTools/ToolNonCopperClear.py:1616 -#: flatcamTools/ToolNonCopperClear.py:1830 -#: flatcamTools/ToolNonCopperClear.py:1920 -#: flatcamTools/ToolNonCopperClear.py:1930 -msgid "Buffering" -msgstr "Pufferung" - -#: flatcamTools/ToolNonCopperClear.py:1524 -#: flatcamTools/ToolNonCopperClear.py:1610 -#: flatcamTools/ToolNonCopperClear.py:1619 -#: flatcamTools/ToolNonCopperClear.py:1833 -#: flatcamTools/ToolNonCopperClear.py:1923 -#: flatcamTools/ToolNonCopperClear.py:1933 +#: flatcamTools/ToolNonCopperClear.py:1534 +#: flatcamTools/ToolNonCopperClear.py:1628 +#: flatcamTools/ToolNonCopperClear.py:1640 +#: flatcamTools/ToolNonCopperClear.py:1867 +#: flatcamTools/ToolNonCopperClear.py:1959 +#: flatcamTools/ToolNonCopperClear.py:1971 msgid "Buffering finished" msgstr "Pufferung beendet" -#: flatcamTools/ToolNonCopperClear.py:1542 -#: flatcamTools/ToolNonCopperClear.py:1852 -msgid "Isolation geometry could not be generated." -msgstr "Isolationsgeometrie konnte nicht generiert werden." - -#: flatcamTools/ToolNonCopperClear.py:1623 -#: flatcamTools/ToolNonCopperClear.py:1938 +#: flatcamTools/ToolNonCopperClear.py:1647 +#: flatcamTools/ToolNonCopperClear.py:1977 msgid "The selected object is not suitable for copper clearing." msgstr "Das ausgewählte Objekt ist nicht zum Löschen von Kupfer geeignet." -#: flatcamTools/ToolNonCopperClear.py:1628 -#: flatcamTools/ToolNonCopperClear.py:1943 +#: flatcamTools/ToolNonCopperClear.py:1652 +#: flatcamTools/ToolNonCopperClear.py:1982 msgid "Could not get the extent of the area to be non copper cleared." msgstr "" "Die Ausdehnung des nicht kupferhaltigen Bereichs konnte nicht gelöscht " "werden." -#: flatcamTools/ToolNonCopperClear.py:1635 +#: flatcamTools/ToolNonCopperClear.py:1659 msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "NCC-Tool. Berechnung der 'leeren' Fläche beendet." -#: flatcamTools/ToolNonCopperClear.py:1645 -#: flatcamTools/ToolNonCopperClear.py:1968 +#: flatcamTools/ToolNonCopperClear.py:1669 +#: flatcamTools/ToolNonCopperClear.py:2007 msgid "NCC Tool clearing with tool diameter = " msgstr "NCC Werkzeugreinigung mit Werkzeugdurchmesser = " -#: flatcamTools/ToolNonCopperClear.py:1648 -#: flatcamTools/ToolNonCopperClear.py:1971 +#: flatcamTools/ToolNonCopperClear.py:1672 +#: flatcamTools/ToolNonCopperClear.py:2010 msgid "started." msgstr "gestartet." -#: flatcamTools/ToolNonCopperClear.py:1776 flatcamTools/ToolPaint.py:1378 -#: flatcamTools/ToolPaint.py:1680 flatcamTools/ToolPaint.py:1806 -#: flatcamTools/ToolPaint.py:2098 flatcamTools/ToolPaint.py:2223 +#: flatcamTools/ToolNonCopperClear.py:1810 flatcamTools/ToolPaint.py:1409 +#: flatcamTools/ToolPaint.py:1739 flatcamTools/ToolPaint.py:1887 +#: flatcamTools/ToolPaint.py:2202 flatcamTools/ToolPaint.py:2355 msgid "" "There is no Painting Geometry in the file.\n" "Usually it means that the tool diameter is too big for the painted " @@ -12325,26 +12351,26 @@ msgstr "" "Geometrie zu groß ist.\n" "Ändern Sie die Malparameter und versuchen Sie es erneut." -#: flatcamTools/ToolNonCopperClear.py:1786 +#: flatcamTools/ToolNonCopperClear.py:1820 msgid "NCC Tool clear all done." msgstr "NCC Tool löschen alles erledigt." -#: flatcamTools/ToolNonCopperClear.py:1788 +#: flatcamTools/ToolNonCopperClear.py:1822 msgid "NCC Tool clear all done but the copper features isolation is broken for" msgstr "" "Das NCC-Tool löscht alles, aber die Isolierung der Kupfermerkmale ist " "unterbrochen" -#: flatcamTools/ToolNonCopperClear.py:1791 -#: flatcamTools/ToolNonCopperClear.py:2124 +#: flatcamTools/ToolNonCopperClear.py:1825 +#: flatcamTools/ToolNonCopperClear.py:2173 msgid "tools" msgstr "Werkzeuge" -#: flatcamTools/ToolNonCopperClear.py:2120 +#: flatcamTools/ToolNonCopperClear.py:2169 msgid "NCC Tool Rest Machining clear all done." msgstr "Die Bearbeitung der NCC-Werkzeugablagen ist abgeschlossen." -#: flatcamTools/ToolNonCopperClear.py:2123 +#: flatcamTools/ToolNonCopperClear.py:2172 msgid "" "NCC Tool Rest Machining clear all done but the copper features isolation is " "broken for" @@ -12352,6 +12378,14 @@ msgstr "" "Die Bearbeitung der NCC-Werkzeugablagen ist abgeschlossen, die Isolierung " "der Kupferelemente ist jedoch unterbrochen" +#: flatcamTools/ToolNonCopperClear.py:2593 +msgid "" +"Try to use the Buffering Type = Full in Preferences -> Gerber General. " +"Reload the Gerber file after this change." +msgstr "" +"Versuchen Sie, den Puffertyp = Voll in Einstellungen -> Allgemein zu " +"verwenden. Laden Sie die Gerber-Datei nach dieser Änderung neu." + #: flatcamTools/ToolPDF.py:38 msgid "PDF Import Tool" msgstr "PDF-Importwerkzeug" @@ -12368,9 +12402,10 @@ msgstr "PDF öffnen abgebrochen" msgid "Parsing PDF file ..." msgstr "PDF-Datei wird analysiert ..." -#: flatcamTools/ToolPDF.py:270 flatcamTools/ToolPcbWizard.py:451 -msgid "No geometry found in file" -msgstr "Keine Geometrie in der Datei gefunden" +#: flatcamTools/ToolPDF.py:220 +#, python-format +msgid "[success] Opened: %s" +msgstr "[success] Geöffnet: %s" #: flatcamTools/ToolPDF.py:273 flatcamTools/ToolPDF.py:348 #, python-format @@ -12525,51 +12560,62 @@ msgstr "" "- 'Referenzobjekt' - löscht nicht kupferne Objekte innerhalb des Bereichs\n" "von einem anderen Objekt angegeben." -#: flatcamTools/ToolPaint.py:909 +#: flatcamTools/ToolPaint.py:911 msgid "Paint Tool. Reading parameters." msgstr "Malwerkzeug. Parameter lesen." -#: flatcamTools/ToolPaint.py:924 +#: flatcamTools/ToolPaint.py:926 msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)" msgstr "" "Der Überlappungswert muss zwischen 0 (einschließlich) und 1 (exklusiv) " "liegen." -#: flatcamTools/ToolPaint.py:928 flatcamTools/ToolPaint.py:991 +#: flatcamTools/ToolPaint.py:930 flatcamTools/ToolPaint.py:993 msgid "Click inside the desired polygon." msgstr "Klicken Sie in das gewünschte Polygon." -#: flatcamTools/ToolPaint.py:948 flatcamTools/ToolPanelize.py:366 +#: flatcamTools/ToolPaint.py:950 flatcamTools/ToolPanelize.py:366 #: tclCommands/TclCommandBbox.py:66 tclCommands/TclCommandNregions.py:65 msgid "Object not found" msgstr "Objekt nicht gefunden" -#: flatcamTools/ToolPaint.py:956 +#: flatcamTools/ToolPaint.py:958 msgid "Can't do Paint on MultiGeo geometries" msgstr "Auf MultiGeo-Geometrien kann nicht gemalt werden" -#: flatcamTools/ToolPaint.py:1000 flatcamTools/ToolPaint.py:1214 +#: flatcamTools/ToolPaint.py:1002 flatcamTools/ToolPaint.py:1238 msgid "Painting polygon..." msgstr "Polygon malen ..." -#: flatcamTools/ToolPaint.py:1022 +#: flatcamTools/ToolPaint.py:1024 msgid "Click the start point of the paint area." msgstr "Klicken Sie auf den Startpunkt des Malbereichs." -#: flatcamTools/ToolPaint.py:1211 +#: flatcamTools/ToolPaint.py:1196 flatcamTools/ToolPaint.py:1199 +#: flatcamTools/ToolPaint.py:1201 +msgid "Paint Tool. Normal painting polygon task started." +msgstr "Malwerkzeug. Normale Zeichenpolygonaufgabe gestartet." + +#: flatcamTools/ToolPaint.py:1197 flatcamTools/ToolPaint.py:1585 +#: flatcamTools/ToolPaint.py:1760 flatcamTools/ToolPaint.py:2042 +#: flatcamTools/ToolPaint.py:2223 +msgid "Buffering geometry..." +msgstr "Geometrie puffern..." + +#: flatcamTools/ToolPaint.py:1235 msgid "[WARNING] No polygon found." msgstr "[WARNING] Kein Polygon gefunden." -#: flatcamTools/ToolPaint.py:1215 +#: flatcamTools/ToolPaint.py:1239 #, python-format msgid "Paint Tool. Painting polygon at location: %s" msgstr "Malwerkzeug. Zeichenpolygon am Standort: %s" -#: flatcamTools/ToolPaint.py:1295 +#: flatcamTools/ToolPaint.py:1322 msgid "Geometry could not be painted completely" msgstr "Geometrie konnte nicht vollständig gemalt werden" -#: flatcamTools/ToolPaint.py:1340 +#: flatcamTools/ToolPaint.py:1367 msgid "" "Could not do Paint. Try a different combination of parameters. Or a " "different strategy of paint" @@ -12577,40 +12623,39 @@ msgstr "" "Konnte nicht malen. Probieren Sie eine andere Kombination von Parametern " "aus. Oder eine andere Strategie der Farbe" -#: flatcamTools/ToolPaint.py:1383 +#: flatcamTools/ToolPaint.py:1414 msgid "Paint Single Done." msgstr "Malen Sie Single Done." -#: flatcamTools/ToolPaint.py:1408 -#| msgid "[ERROR_NOTCL] PaintTool.paint_poly() --> %s" +#: flatcamTools/ToolPaint.py:1439 msgid "PaintTool.paint_poly()" msgstr "PaintTool.paint_poly()" -#: flatcamTools/ToolPaint.py:1415 flatcamTools/ToolPaint.py:1834 -#: flatcamTools/ToolPaint.py:2251 +#: flatcamTools/ToolPaint.py:1446 flatcamTools/ToolPaint.py:1915 +#: flatcamTools/ToolPaint.py:2383 msgid "Polygon Paint started ..." msgstr "Polygonfarbe gestartet ..." -#: flatcamTools/ToolPaint.py:1465 flatcamTools/ToolPaint.py:1885 -#| msgid "Painting polygon..." +#: flatcamTools/ToolPaint.py:1502 flatcamTools/ToolPaint.py:1972 msgid "Painting polygons..." msgstr "Polygone malen ..." -#: flatcamTools/ToolPaint.py:1544 +#: flatcamTools/ToolPaint.py:1584 flatcamTools/ToolPaint.py:1587 +#: flatcamTools/ToolPaint.py:1589 msgid "Paint Tool. Normal painting all task started." msgstr "Malwerkzeug. Normales Malen alle Aufgabe gestartet." -#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:1719 -#: flatcamTools/ToolPaint.py:1989 flatcamTools/ToolPaint.py:2137 +#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:1793 +#: flatcamTools/ToolPaint.py:2087 flatcamTools/ToolPaint.py:2263 msgid "Painting with tool diameter = " msgstr "Lackieren mit Werkzeugdurchmesser =" -#: flatcamTools/ToolPaint.py:1574 flatcamTools/ToolPaint.py:1722 -#: flatcamTools/ToolPaint.py:1992 flatcamTools/ToolPaint.py:2140 +#: flatcamTools/ToolPaint.py:1626 flatcamTools/ToolPaint.py:1796 +#: flatcamTools/ToolPaint.py:2090 flatcamTools/ToolPaint.py:2266 msgid "started" msgstr "gestartet" -#: flatcamTools/ToolPaint.py:1633 flatcamTools/ToolPaint.py:1765 +#: flatcamTools/ToolPaint.py:1688 flatcamTools/ToolPaint.py:1842 msgid "" "Could not do Paint All. Try a different combination of parameters. Or a " "different Method of paint" @@ -12618,23 +12663,25 @@ msgstr "" "Paint All konnte nicht ausgeführt werden. Probieren Sie eine andere " "Kombination von Parametern aus. Oder eine andere Farbmethode" -#: flatcamTools/ToolPaint.py:1689 +#: flatcamTools/ToolPaint.py:1748 msgid "[success] Paint All Done." msgstr "[success] Malen Sie alles fertig." -#: flatcamTools/ToolPaint.py:1697 +#: flatcamTools/ToolPaint.py:1759 flatcamTools/ToolPaint.py:1762 +#: flatcamTools/ToolPaint.py:1764 msgid "Paint Tool. Rest machining painting all task started." msgstr "Malwerkzeug. Restbearbeitung Lackieren alle Aufgabe gestartet." -#: flatcamTools/ToolPaint.py:1815 flatcamTools/ToolPaint.py:2232 +#: flatcamTools/ToolPaint.py:1896 flatcamTools/ToolPaint.py:2364 msgid "Paint All with Rest-Machining done." msgstr "Malen Sie alles mit Restbearbeitung." -#: flatcamTools/ToolPaint.py:1951 +#: flatcamTools/ToolPaint.py:2041 flatcamTools/ToolPaint.py:2044 +#: flatcamTools/ToolPaint.py:2046 msgid "Paint Tool. Normal painting area task started." msgstr "Malwerkzeug. Normale Malbereichsaufgabe gestartet." -#: flatcamTools/ToolPaint.py:2052 flatcamTools/ToolPaint.py:2183 +#: flatcamTools/ToolPaint.py:2152 flatcamTools/ToolPaint.py:2311 #, python-format msgid "" "Could not do Paint All. Try a different combination of parameters. Or a " @@ -12645,11 +12692,12 @@ msgstr "" "Kombination von Parametern aus. Oder eine andere Farbmethode\n" " %s" -#: flatcamTools/ToolPaint.py:2107 +#: flatcamTools/ToolPaint.py:2211 msgid "[success] Paint Area Done." msgstr "[success] Lackierbereich fertig." -#: flatcamTools/ToolPaint.py:2115 +#: flatcamTools/ToolPaint.py:2222 flatcamTools/ToolPaint.py:2225 +#: flatcamTools/ToolPaint.py:2227 msgid "Paint Tool. Rest machining painting area task started." msgstr "Malwerkzeug. Restbearbeitung Lackierbereich Aufgabe gestartet." @@ -12777,10 +12825,6 @@ msgstr "" msgid "Panel. Tool" msgstr "Platte Werkzeug" -#: flatcamTools/ToolPanelize.py:381 -msgid "No object Box. Using instead" -msgstr "Keine Objektbox. Verwenden Sie stattdessen" - #: flatcamTools/ToolPanelize.py:465 msgid "Columns or Rows are zero value. Change them to a positive integer." msgstr "" @@ -12955,18 +12999,10 @@ msgstr "PcbWizard-INF-Datei wurde geladen." msgid "Main PcbWizard Excellon file loaded." msgstr "Haupt-PcbWizard Excellon-Datei geladen." -#: flatcamTools/ToolPcbWizard.py:427 -msgid "This is not Excellon file." -msgstr "Dies ist keine Excellon-Datei." - #: flatcamTools/ToolPcbWizard.py:431 msgid "Cannot parse file" msgstr "Datei kann nicht analysiert werden" -#: flatcamTools/ToolPcbWizard.py:437 -msgid "An internal error has occurred. See shell.\n" -msgstr "Ein interner Fehler ist aufgetreten. Siehe Shell.\n" - #: flatcamTools/ToolPcbWizard.py:456 msgid "Importing Excellon." msgstr "Excellon importieren." @@ -13044,11 +13080,6 @@ msgstr "Metrisch" msgid "Present" msgstr "Vorhanden" -#: flatcamTools/ToolProperties.py:298 flatcamTools/ToolProperties.py:312 -#: flatcamTools/ToolProperties.py:315 flatcamTools/ToolProperties.py:318 -msgid "None" -msgstr "Keiner" - #: flatcamTools/ToolProperties.py:352 msgid "Width" msgstr "Breite" @@ -13329,14 +13360,6 @@ msgstr "" "Diese Geometrie kann nicht verarbeitet werden. KEINE Geometrie " "\"Lötpaste_Tool\"." -#: flatcamTools/ToolSolderPaste.py:1187 -msgid "Cancelled. Empty file, it has no geometry" -msgstr "Abgebrochen. Leere Datei hat keine Geometrie ..." - -#: flatcamTools/ToolSolderPaste.py:1214 -msgid "An internal error has ocurred. See shell.\n" -msgstr "Ein interner Fehler ist aufgetreten. Siehe Shell.\n" - #: flatcamTools/ToolSolderPaste.py:1285 msgid "ToolSolderPaste CNCjob created" msgstr "Werkzeuglötpaste CNC-Auftrag erstellt" @@ -13354,7 +13377,6 @@ msgid "No Gcode in the object" msgstr "Kein Gcode im Objekt ..." #: flatcamTools/ToolSolderPaste.py:1358 -#| msgid "[ERROR] ToolSolderPaste.on_view_gcode() -->%s" msgid "ToolSolderPaste.on_view_gcode()" msgstr "ToolSolderPaste.on_view_gcode()" @@ -13362,22 +13384,6 @@ msgstr "ToolSolderPaste.on_view_gcode()" msgid "Export GCode ..." msgstr "GCode exportieren ..." -#: flatcamTools/ToolSolderPaste.py:1397 -msgid "Export Machine Code cancelled ..." -msgstr "Maschinencode exportieren abgebrochen ..." - -#: flatcamTools/ToolSolderPaste.py:1424 -msgid "No such file or directory" -msgstr "Keine solche Datei oder Ordner" - -#: flatcamTools/ToolSolderPaste.py:1428 -msgid "" -"Permission denied, saving not possible.\n" -"Most likely another app is holding the file open and not accessible." -msgstr "" -"Berechtigung verweigert, Speichern nicht möglich.\n" -"Wahrscheinlich hält eine andere App die Datei offen und ist nicht zugänglich." - #: flatcamTools/ToolSolderPaste.py:1436 msgid "Solder paste dispenser GCode file saved to" msgstr "Lotpastenspender GCode-Datei gespeichert in" @@ -13680,6 +13686,191 @@ msgstr "" "Kein Geometriename in args. Geben Sie einen Namen ein und versuchen Sie es " "erneut." +#~ msgid "[ERROR_NOTCL] Could not load defaults file." +#~ msgstr "[ERROR_NOTCL] Standarddatei konnte nicht geladen werden." + +#~ msgid "[ERROR_NOTCL] Failed to parse defaults file." +#~ msgstr "[ERROR_NOTCL] Fehler beim Parsen der Standarddatei." + +#~ msgid "" +#~ "[WARNING] Permission denied, saving not possible.\n" +#~ "Most likely another app is holding the file open and not accessible." +#~ msgstr "" +#~ "[WARNING] Berechtigung verweigert, Speichern nicht möglich.\n" +#~ "Wahrscheinlich hält eine andere App die Datei offen und ist nicht " +#~ "zugänglich." + +#~ msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" +#~ msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" + +#~ msgid "[success] Defaults saved." +#~ msgstr "[success] Standardeinstellungen gespeichert." + +#~ msgid "[success] Converted units to %s" +#~ msgstr "[success] Einheiten in umgerechnet %s" + +#~ msgid "[WARNING_NOTCL] Export Code cancelled." +#~ msgstr "[WARNING_NOTCL] Exportcode wurde abgebrochen." + +#~ msgid "[WARNING] No such file or directory" +#~ msgstr "[WARNING] Keine solche Datei oder Ordner" + +#~ msgid "" +#~ "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in " +#~ "Float format." +#~ msgstr "" +#~ "[WARNING_NOTCL] Bitte geben Sie einen Werkzeugdurchmesser mit einem Wert " +#~ "ungleich Null im Float-Format ein." + +#~ msgid "[success] Origin set ..." +#~ msgstr "[success] Ursprung gesetzt ..." + +#~ msgid "[success] Flip on Y axis done." +#~ msgstr "[success] Y-Achse umdrehen fertig." + +#~ msgid "[success] Flip on X axis done." +#~ msgstr "[success] Dreh auf der X-Achse fertig." + +#~ msgid "[success] Rotation done." +#~ msgstr "[success] Rotation erfolgt." + +#~ msgid "[success] Skew on X axis done." +#~ msgstr "[success] Neigung auf der X-Achse fertig." + +#~ msgid "[success] Skew on Y axis done." +#~ msgstr "[success] Neigung auf der Y-Achse fertig." + +#~ msgid "[success] New Grid added ..." +#~ msgstr "[success] Neues Netz hinzugefügt ..." + +#~ msgid "[WARNING_NOTCL] Open Gerber cancelled." +#~ msgstr "[WARNING_NOTCL] Offener Gerber abgebrochen." + +#~ msgid "[WARNING_NOTCL] Open G-Code cancelled." +#~ msgstr "[WARNING_NOTCL] Geöffneter G-Code wurde abgebrochen." + +#~ msgid "[WARNING_NOTCL] Open Project cancelled." +#~ msgstr "[WARNING_NOTCL] Projekt abbrechen abgebrochen." + +#~ msgid "[WARNING_NOTCL] Open Config cancelled." +#~ msgstr "[WARNING_NOTCL] Offene Konfiguration abgebrochen." + +#~ msgid "[WARNING_NOTCL] No object selected." +#~ msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt." + +#~ msgid "[WARNING_NOTCL] Export SVG cancelled." +#~ msgstr "[WARNING_NOTCL] Export SVG abgebrochen." + +#~ msgid "[WARNING_NOTCL] Export Excellon cancelled." +#~ msgstr "[WARNING_NOTCL] Export Excellon wurde abgebrochen." + +#~ msgid "[WARNING_NOTCL] Export Gerber cancelled." +#~ msgstr "[WARNING_NOTCL] Export Gerber abgebrochen." + +#~ msgid "[WARNING_NOTCL] Export DXF cancelled." +#~ msgstr "[WARNING_NOTCL] Export DXF wurde abgebrochen." + +#~ msgid "[WARNING_NOTCL] Open SVG cancelled." +#~ msgstr "[WARNING_NOTCL] Open SVG abgebrochen." + +#~ msgid "[WARNING_NOTCL] Open DXF cancelled." +#~ msgstr "[WARNING_NOTCL] Open DXF cancelled." + +#~ msgid "[WARNING_NOTCL] No object Box. Using instead %s" +#~ msgstr "[WARNING_NOTCL] Kein Objektfeld. Stattdessen verwenden %s" + +#~ msgid "[ERROR_NOTCL] This is not Excellon file." +#~ msgstr "[ERROR_NOTCL] Dies ist keine Excellon-Datei." + +#~ msgid "[ERROR_NOTCL] Cannot open file: %s" +#~ msgstr "[ERROR_NOTCL] Kann Datei nicht öffnen: %s" + +#~ msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" +#~ msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" + +#~ msgid "[ERROR_NOTCL] No geometry found in file: %s" +#~ msgstr "[ERROR_NOTCL] Keine Geometrie in der Datei gefunden: %s" + +#~ msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." +#~ msgstr "" +#~ "[ERROR_NOTCL] Fehler beim Überprüfen der Projektdatei:%s. Versuchen Sie " +#~ "es erneut zu speichern." + +#~ msgid "" +#~ "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." +#~ msgstr "" +#~ "[ERROR_NOTCL] Die gespeicherte Projektdatei konnte nicht analysiert " +#~ "werden:%s. Versuchen Sie es erneut zu speichern." + +#~ msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." +#~ msgstr "" +#~ "[ERROR_NOTCL] Projektdatei konnte nicht gespeichert werden:%s. Versuchen " +#~ "Sie es erneut zu speichern." + +#~ msgid "[ERROR_NOTCL] Isolation geometry could not be generated." +#~ msgstr "[ERROR_NOTCL] Isolationsgeometrie konnte nicht generiert werden." + +#~ msgid "" +#~ "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " +#~ "format (x, y) \n" +#~ "but now there is only one value, not two. " +#~ msgstr "" +#~ "[ERROR] Das Feld X, Y des Werkzeugwechsels in Bearbeiten -> " +#~ "Voreinstellungen muss das Format (x, y) haben.\n" +#~ "Aber jetzt gibt es nur einen Wert, nicht zwei. " + +#~ msgid "[WARNING_NOTCL] Failed. Select a tool to delete." +#~ msgstr "" +#~ "[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen aus." + +#~ msgid "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." +#~ msgstr "" +#~ "[ERROR_NOTCL] Falsches Werkzeug Dia-Wertformat eingegeben, verwenden Sie " +#~ "eine Zahl." + +#~ msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." +#~ msgstr "[ERROR_NOTCL] Abgebrochen. Leere Datei, es hat keine Geometrie ..." + +#~| msgid "[success] Panel done..." +#~ msgid "[success] Finished G-Code processing..." +#~ msgstr "[success] Fertige G-Code Verarbeitung ..." + +#~ msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." +#~ msgstr "" +#~ "[ERROR_NOTCL] Der Skalierungsfaktor muss eine Zahl sein: Ganzzahl oder " +#~ "Fließkommazahl." + +#~ msgid "" +#~ "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered " +#~ "only one value in the Offset field." +#~ msgstr "" +#~ "[ERROR_NOTCL] Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben " +#~ "Sie im Feld Offset nur einen Wert eingegeben." + +#~ msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." +#~ msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." + +#~ msgid "[WARNING_NOTCL] No such file or directory" +#~ msgstr "[WARNING_NOTCL] Keine solche Datei oder Ordner" + +#~ msgid "[success] Object was mirrored ..." +#~ msgstr "[success] Objekt wurde gespiegelt ..." + +#~ msgid "Finished G-Code generation... %s paths traced." +#~ msgstr "G-Code-Generierung abgeschlossen … %s Pfade verfolgt." + +#~ msgid "" +#~ "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " +#~ "current_geometry.\n" +#~ "Raise the value (in module) and try again." +#~ msgstr "" +#~ "[ERROR_NOTCL] Der Werkzeugkorrekturwert ist zu negativ, um ihn für " +#~ "current_geometry zu verwenden.\n" +#~ "Erhöhen Sie den Wert (im Modul) und versuchen Sie es erneut." + +#~ msgid "Finished SolderPste G-Code generation... %s paths traced." +#~ msgstr "Fertige SolderPste-G-Code-Generierung … %s Pfade verfolgt." + #, fuzzy #~| msgid "Plot Options" #~ msgid "Plotting..." @@ -13912,9 +14103,6 @@ msgstr "" #~ "durch ein ausgewähltes Objekt beschrieben.
Ein neues Geometrieobjekt " #~ "mit den Werkzeugpfaden wird erstellt." -#~ msgid "Done." -#~ msgstr "Gemacht." - #~ msgid "Apertures:" #~ msgstr " Blenden: " @@ -14824,9 +15012,6 @@ msgstr "" #~ msgid "[ERROR_NOTCL]Could not load defaults file." #~ msgstr "[ERROR_NOTCL] Standarddatei konnte nicht geladen werden." -#~ msgid "[ERROR_NOTCL] Failed to parse project file: %s" -#~ msgstr "[ERROR_NOTCL] Fehler beim Parsen der Projektdatei: %s" - #~ msgid "[WARNING_NOTCL]Export Machine Code cancelled ..." #~ msgstr "[WARNING_NOTCL] Maschinencode wurde abgebrochen ..." diff --git a/locale_template/strings.pot b/locale_template/strings.pot index 92b97488..184600c0 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-09-09 17:24+0300\n" +"POT-Creation-Date: 2019-09-09 18:59+0300\n" "PO-Revision-Date: 2019-03-25 15:08+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -23,79 +23,79 @@ msgstr "" "X-Poedit-SearchPathExcluded-1: doc\n" "X-Poedit-SearchPathExcluded-2: tests\n" -#: FlatCAMApp.py:1112 -msgid "[ERROR] Could not find the Language files. The App strings are missing." +#: FlatCAMApp.py:1113 +msgid "Could not find the Language files. The App strings are missing." msgstr "" -#: FlatCAMApp.py:1654 +#: FlatCAMApp.py:1655 msgid "Detachable Tabs" msgstr "" -#: FlatCAMApp.py:2066 +#: FlatCAMApp.py:2067 msgid "" "Open Source Software - Type help to get started\n" "\n" msgstr "" -#: FlatCAMApp.py:2269 FlatCAMApp.py:7147 +#: FlatCAMApp.py:2270 FlatCAMApp.py:7220 msgid "New Project - Not saved" msgstr "" -#: FlatCAMApp.py:2319 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 +#: FlatCAMApp.py:2320 ObjectCollection.py:80 flatcamTools/ToolImage.py:218 #: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324 msgid "Open cancelled." msgstr "" -#: FlatCAMApp.py:2334 +#: FlatCAMApp.py:2335 msgid "Open Config file failed." msgstr "" -#: FlatCAMApp.py:2348 +#: FlatCAMApp.py:2349 msgid "Open Script file failed." msgstr "" -#: FlatCAMApp.py:2365 +#: FlatCAMApp.py:2366 msgid "Open Excellon file failed." msgstr "" -#: FlatCAMApp.py:2376 +#: FlatCAMApp.py:2377 msgid "Open GCode file failed." msgstr "" -#: FlatCAMApp.py:2387 +#: FlatCAMApp.py:2388 msgid "Open Gerber file failed." msgstr "" -#: FlatCAMApp.py:2650 -msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." +#: FlatCAMApp.py:2652 +msgid "Select a Geometry, Gerber or Excellon Object to edit." msgstr "" -#: FlatCAMApp.py:2663 +#: FlatCAMApp.py:2666 msgid "" -"[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " -"Geometry is not possible.\n" +"Simultanoeus editing of tools geometry in a MultiGeo Geometry is not " +"possible.\n" "Edit only one geometry at a time." msgstr "" -#: FlatCAMApp.py:2717 -msgid "[WARNING_NOTCL] Editor is activated ..." +#: FlatCAMApp.py:2721 +msgid "Editor is activated ..." msgstr "" -#: FlatCAMApp.py:2735 +#: FlatCAMApp.py:2739 msgid "Do you want to save the edited object?" msgstr "" -#: FlatCAMApp.py:2736 flatcamGUI/FlatCAMGUI.py:1721 +#: FlatCAMApp.py:2740 flatcamGUI/FlatCAMGUI.py:1721 msgid "Close Editor" msgstr "" -#: FlatCAMApp.py:2739 FlatCAMApp.py:3995 FlatCAMApp.py:6168 FlatCAMApp.py:7056 +#: FlatCAMApp.py:2743 FlatCAMApp.py:4028 FlatCAMApp.py:6224 FlatCAMApp.py:7128 #: FlatCAMTranslation.py:96 FlatCAMTranslation.py:169 #: flatcamGUI/FlatCAMGUI.py:3996 msgid "Yes" msgstr "" -#: FlatCAMApp.py:2740 FlatCAMApp.py:3996 FlatCAMApp.py:6169 FlatCAMApp.py:7057 +#: FlatCAMApp.py:2744 FlatCAMApp.py:4029 FlatCAMApp.py:6225 FlatCAMApp.py:7129 #: FlatCAMTranslation.py:97 FlatCAMTranslation.py:170 #: flatcamGUI/FlatCAMGUI.py:3997 flatcamGUI/FlatCAMGUI.py:6517 #: flatcamGUI/FlatCAMGUI.py:6877 flatcamTools/ToolNonCopperClear.py:171 @@ -103,108 +103,111 @@ msgstr "" msgid "No" msgstr "" -#: FlatCAMApp.py:2741 FlatCAMApp.py:3997 FlatCAMApp.py:4675 FlatCAMApp.py:5671 -#: FlatCAMApp.py:7058 +#: FlatCAMApp.py:2745 FlatCAMApp.py:4030 FlatCAMApp.py:4719 FlatCAMApp.py:5720 +#: FlatCAMApp.py:7130 msgid "Cancel" msgstr "" -#: FlatCAMApp.py:2768 -msgid "[WARNING] Object empty after edit." +#: FlatCAMApp.py:2773 +msgid "Object empty after edit." msgstr "" -#: FlatCAMApp.py:2790 FlatCAMApp.py:2809 FlatCAMApp.py:2821 -msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." +#: FlatCAMApp.py:2796 FlatCAMApp.py:2817 FlatCAMApp.py:2830 +msgid "Select a Gerber, Geometry or Excellon Object to update." msgstr "" -#: FlatCAMApp.py:2793 -#, python-format -msgid "[selected] %s is updated, returning to App..." +#: FlatCAMApp.py:2800 +msgid "is updated, returning to App..." msgstr "" -#: FlatCAMApp.py:3176 -msgid "[ERROR] Could not load defaults file." +#: FlatCAMApp.py:3186 FlatCAMApp.py:3240 FlatCAMApp.py:3889 +msgid "Could not load defaults file." msgstr "" -#: FlatCAMApp.py:3188 -msgid "[ERROR] Failed to parse defaults file." +#: FlatCAMApp.py:3199 FlatCAMApp.py:3249 FlatCAMApp.py:3899 +msgid "Failed to parse defaults file." msgstr "" -#: FlatCAMApp.py:3209 FlatCAMApp.py:3213 +#: FlatCAMApp.py:3220 FlatCAMApp.py:3224 msgid "Import FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:3219 -msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." +#: FlatCAMApp.py:3231 +msgid "FlatCAM preferences import cancelled." msgstr "" -#: FlatCAMApp.py:3227 FlatCAMApp.py:3291 FlatCAMApp.py:3863 -msgid "[ERROR_NOTCL] Could not load defaults file." +#: FlatCAMApp.py:3254 +msgid "Imported Defaults from" msgstr "" -#: FlatCAMApp.py:3235 FlatCAMApp.py:3872 -msgid "[ERROR_NOTCL] Failed to parse defaults file." -msgstr "" - -#: FlatCAMApp.py:3239 -#, python-format -msgid "[success] Imported Defaults from %s" -msgstr "" - -#: FlatCAMApp.py:3259 FlatCAMApp.py:3264 +#: FlatCAMApp.py:3274 FlatCAMApp.py:3279 msgid "Export FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:3271 -msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." +#: FlatCAMApp.py:3287 +msgid "FlatCAM preferences export cancelled." msgstr "" -#: FlatCAMApp.py:3279 FlatCAMApp.py:5482 FlatCAMApp.py:8006 FlatCAMApp.py:8119 -#: FlatCAMApp.py:8242 FlatCAMApp.py:8299 FlatCAMApp.py:8412 FlatCAMApp.py:8537 +#: FlatCAMApp.py:3296 FlatCAMApp.py:5531 FlatCAMApp.py:8113 FlatCAMApp.py:8229 +#: FlatCAMApp.py:8355 FlatCAMApp.py:8414 FlatCAMApp.py:8528 FlatCAMApp.py:8657 +#: FlatCAMObj.py:6165 flatcamTools/ToolSolderPaste.py:1428 msgid "" -"[WARNING] Permission denied, saving not possible.\n" +"Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." msgstr "" -#: FlatCAMApp.py:3310 FlatCAMApp.py:3917 -msgid "[ERROR_NOTCL] Failed to write defaults to file." +#: FlatCAMApp.py:3309 +msgid "Could not load preferences file." msgstr "" -#: FlatCAMApp.py:3403 -msgid "[ERROR_NOTCL] Failed to open recent files file for writing." +#: FlatCAMApp.py:3329 FlatCAMApp.py:3945 +msgid "Failed to write defaults to file." msgstr "" -#: FlatCAMApp.py:3413 -msgid "[ERROR_NOTCL] Failed to open recent projects file for writing." +#: FlatCAMApp.py:3335 +msgid "Exported preferences to" msgstr "" -#: FlatCAMApp.py:3495 camlib.py:4772 -msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" +#: FlatCAMApp.py:3352 +msgid "FlatCAM Preferences Folder opened." msgstr "" -#: FlatCAMApp.py:3496 +#: FlatCAMApp.py:3425 +msgid "Failed to open recent files file for writing." +msgstr "" + +#: FlatCAMApp.py:3436 +msgid "Failed to open recent projects file for writing." +msgstr "" + +#: FlatCAMApp.py:3519 camlib.py:4797 flatcamTools/ToolSolderPaste.py:1214 +msgid "An internal error has ocurred. See shell.\n" +msgstr "" + +#: FlatCAMApp.py:3520 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" "\n" msgstr "" -#: FlatCAMApp.py:3516 +#: FlatCAMApp.py:3541 msgid "Converting units to " msgstr "" -#: FlatCAMApp.py:3612 FlatCAMApp.py:3615 FlatCAMApp.py:3618 FlatCAMApp.py:3621 +#: FlatCAMApp.py:3637 FlatCAMApp.py:3640 FlatCAMApp.py:3643 FlatCAMApp.py:3646 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}" msgstr "" -#: FlatCAMApp.py:3638 FlatCAMApp.py:5736 FlatCAMObj.py:225 FlatCAMObj.py:240 +#: FlatCAMApp.py:3663 FlatCAMApp.py:5787 FlatCAMObj.py:225 FlatCAMObj.py:240 #: FlatCAMObj.py:256 FlatCAMObj.py:336 flatcamTools/ToolMove.py:187 msgid "Plotting" msgstr "" -#: FlatCAMApp.py:3757 +#: FlatCAMApp.py:3782 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -218,59 +221,59 @@ msgid "" "\"https://bitbucket.org/jpcgt/flatcam/downloads/\">here.
" msgstr "" -#: FlatCAMApp.py:3793 +#: FlatCAMApp.py:3818 msgid "Close" msgstr "" -#: FlatCAMApp.py:3921 -msgid "[success] Defaults saved." +#: FlatCAMApp.py:3950 FlatCAMApp.py:6234 +msgid "Preferences saved." msgstr "" -#: FlatCAMApp.py:3948 -msgid "[ERROR_NOTCL] Could not load factory defaults file." +#: FlatCAMApp.py:3978 +msgid "Could not load factory defaults file." msgstr "" -#: FlatCAMApp.py:3957 -msgid "[ERROR_NOTCL] Failed to parse factory defaults file." +#: FlatCAMApp.py:3988 +msgid "Failed to parse factory defaults file." msgstr "" -#: FlatCAMApp.py:3971 -msgid "[ERROR_NOTCL] Failed to write factory defaults to file." +#: FlatCAMApp.py:4003 +msgid "Failed to write factory defaults to file." msgstr "" -#: FlatCAMApp.py:3975 +#: FlatCAMApp.py:4007 msgid "Factory defaults saved." msgstr "" -#: FlatCAMApp.py:3985 flatcamGUI/FlatCAMGUI.py:3312 -msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." +#: FlatCAMApp.py:4018 +msgid "Application is saving the project. Please wait ..." msgstr "" -#: FlatCAMApp.py:3990 FlatCAMTranslation.py:164 +#: FlatCAMApp.py:4023 FlatCAMTranslation.py:164 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" msgstr "" -#: FlatCAMApp.py:3993 FlatCAMApp.py:7054 FlatCAMTranslation.py:167 +#: FlatCAMApp.py:4026 FlatCAMApp.py:7126 FlatCAMTranslation.py:167 msgid "Save changes" msgstr "" -#: FlatCAMApp.py:4204 +#: FlatCAMApp.py:4237 msgid "[success] Selected Excellon file extensions registered with FlatCAM." msgstr "" -#: FlatCAMApp.py:4225 -msgid "[success] Selected GCode file extensions registered with FlatCAM." +#: FlatCAMApp.py:4259 +msgid "Selected GCode file extensions registered with FlatCAM." msgstr "" -#: FlatCAMApp.py:4246 -msgid "[success] Selected Gerber file extensions registered with FlatCAM." +#: FlatCAMApp.py:4281 +msgid "Selected Gerber file extensions registered with FlatCAM." msgstr "" -#: FlatCAMApp.py:4269 +#: FlatCAMApp.py:4305 msgid "" -"[ERROR] Failed join. The Geometry objects are of different types.\n" +"Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " "is to convert from one to another and retry joining \n" "but in the case of converting from MultiGeo to SingleGeo, informations may " @@ -278,259 +281,250 @@ msgid "" "Check the generated GCODE." msgstr "" -#: FlatCAMApp.py:4310 -msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." +#: FlatCAMApp.py:4347 +msgid "Failed. Excellon joining works only on Excellon objects." msgstr "" -#: FlatCAMApp.py:4332 -msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." +#: FlatCAMApp.py:4370 +msgid "Failed. Gerber joining works only on Gerber objects." msgstr "" -#: FlatCAMApp.py:4356 FlatCAMApp.py:4390 -msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." +#: FlatCAMApp.py:4395 FlatCAMApp.py:4432 +msgid "Failed. Select a Geometry Object and try again." msgstr "" -#: FlatCAMApp.py:4360 FlatCAMApp.py:4394 +#: FlatCAMApp.py:4400 +msgid "Expected a FlatCAMGeometry, got" +msgstr "" + +#: FlatCAMApp.py:4414 +msgid "A Geometry object was converted to MultiGeo type." +msgstr "" + +#: FlatCAMApp.py:4437 #, python-format -msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" +msgid "Expected a FlatCAMGeometry, got %s" msgstr "" -#: FlatCAMApp.py:4373 -msgid "[success] A Geometry object was converted to MultiGeo type." +#: FlatCAMApp.py:4452 +msgid "A Geometry object was converted to SingleGeo type." msgstr "" -#: FlatCAMApp.py:4408 -msgid "[success] A Geometry object was converted to SingleGeo type." -msgstr "" - -#: FlatCAMApp.py:4669 +#: FlatCAMApp.py:4713 msgid "Toggle Units" msgstr "" -#: FlatCAMApp.py:4671 +#: FlatCAMApp.py:4715 msgid "Change project units ..." msgstr "" -#: FlatCAMApp.py:4672 +#: FlatCAMApp.py:4716 msgid "" "Changing the units of the project causes all geometrical properties of all " "objects to be scaled accordingly.\n" "Continue?" msgstr "" -#: FlatCAMApp.py:4674 FlatCAMApp.py:5565 FlatCAMApp.py:5670 FlatCAMApp.py:7340 -#: FlatCAMApp.py:7353 FlatCAMApp.py:7593 FlatCAMApp.py:7603 +#: FlatCAMApp.py:4718 FlatCAMApp.py:5614 FlatCAMApp.py:5719 FlatCAMApp.py:7419 +#: FlatCAMApp.py:7433 FlatCAMApp.py:7688 FlatCAMApp.py:7699 msgid "Ok" msgstr "" -#: FlatCAMApp.py:4722 +#: FlatCAMApp.py:4767 #, python-format -msgid "[success] Converted units to %s" +msgid "Converted units to %s" msgstr "" -#: FlatCAMApp.py:4733 -msgid "[WARNING_NOTCL] Units conversion cancelled." +#: FlatCAMApp.py:4779 +msgid " Units conversion cancelled." msgstr "" -#: FlatCAMApp.py:5431 +#: FlatCAMApp.py:5477 msgid "Open file" msgstr "" -#: FlatCAMApp.py:5462 FlatCAMApp.py:5467 +#: FlatCAMApp.py:5508 FlatCAMApp.py:5513 msgid "Export G-Code ..." msgstr "" -#: FlatCAMApp.py:5470 -msgid "[WARNING_NOTCL] Export Code cancelled." +#: FlatCAMApp.py:5517 +msgid "Export Code cancelled." msgstr "" -#: FlatCAMApp.py:5479 -msgid "[WARNING] No such file or directory" +#: FlatCAMApp.py:5527 FlatCAMObj.py:6161 flatcamTools/ToolSolderPaste.py:1424 +msgid "No such file or directory" msgstr "" -#: FlatCAMApp.py:5490 +#: FlatCAMApp.py:5539 #, python-format msgid "Saved to: %s" msgstr "" -#: FlatCAMApp.py:5553 FlatCAMApp.py:5586 FlatCAMApp.py:5597 FlatCAMApp.py:5608 -msgid "" -"[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " -"format." +#: FlatCAMApp.py:5602 FlatCAMApp.py:5635 FlatCAMApp.py:5646 FlatCAMApp.py:5657 +#: flatcamTools/ToolNonCopperClear.py:915 flatcamTools/ToolSolderPaste.py:774 +msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "" -#: FlatCAMApp.py:5558 FlatCAMApp.py:5591 FlatCAMApp.py:5602 FlatCAMApp.py:5613 -#: flatcamGUI/FlatCAMGUI.py:3168 -msgid "[WARNING_NOTCL] Adding Tool cancelled ..." +#: FlatCAMApp.py:5607 FlatCAMApp.py:5640 FlatCAMApp.py:5662 +msgid "Adding Tool cancelled" msgstr "" -#: FlatCAMApp.py:5561 +#: FlatCAMApp.py:5610 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." msgstr "" -#: FlatCAMApp.py:5665 +#: FlatCAMApp.py:5651 flatcamGUI/FlatCAMGUI.py:3168 +msgid "[WARNING_NOTCL] Adding Tool cancelled ..." +msgstr "" + +#: FlatCAMApp.py:5714 msgid "Delete objects" msgstr "" -#: FlatCAMApp.py:5668 +#: FlatCAMApp.py:5717 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" msgstr "" -#: FlatCAMApp.py:5697 -msgid "Object(s) deleted ..." +#: FlatCAMApp.py:5747 +msgid "Object(s) deleted" msgstr "" -#: FlatCAMApp.py:5701 +#: FlatCAMApp.py:5751 msgid "Failed. No object(s) selected..." msgstr "" -#: FlatCAMApp.py:5703 +#: FlatCAMApp.py:5753 msgid "Save the work in Editor and try again ..." msgstr "" -#: FlatCAMApp.py:5744 -msgid "Click to set the origin ..." -msgstr "" - -#: FlatCAMApp.py:5768 -msgid "Setting Origin..." -msgstr "" - -#: FlatCAMApp.py:5779 -msgid "[success] Origin set ..." -msgstr "" - -#: FlatCAMApp.py:5794 -msgid "Jump to ..." +#: FlatCAMApp.py:5771 +msgid "Object deleted" msgstr "" #: FlatCAMApp.py:5795 +msgid "Click to set the origin ..." +msgstr "" + +#: FlatCAMApp.py:5819 +msgid "Setting Origin..." +msgstr "" + +#: FlatCAMApp.py:5831 +msgid "Origin set" +msgstr "" + +#: FlatCAMApp.py:5846 +msgid "Jump to ..." +msgstr "" + +#: FlatCAMApp.py:5847 msgid "Enter the coordinates in format X,Y:" msgstr "" -#: FlatCAMApp.py:5802 +#: FlatCAMApp.py:5854 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "" -#: FlatCAMApp.py:5820 flatcamEditors/FlatCAMExcEditor.py:3424 -#: flatcamEditors/FlatCAMExcEditor.py:3431 -#: flatcamEditors/FlatCAMGeoEditor.py:3741 -#: flatcamEditors/FlatCAMGeoEditor.py:3755 -#: flatcamEditors/FlatCAMGrbEditor.py:1057 -#: flatcamEditors/FlatCAMGrbEditor.py:1160 -#: flatcamEditors/FlatCAMGrbEditor.py:1433 -#: flatcamEditors/FlatCAMGrbEditor.py:1690 -#: flatcamEditors/FlatCAMGrbEditor.py:4156 -#: flatcamEditors/FlatCAMGrbEditor.py:4170 flatcamGUI/FlatCAMGUI.py:2560 -#: flatcamGUI/FlatCAMGUI.py:2572 -msgid "[success] Done." +#: FlatCAMApp.py:5873 +msgid "Done." msgstr "" -#: FlatCAMApp.py:5953 FlatCAMApp.py:6020 -msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." +#: FlatCAMApp.py:6007 FlatCAMApp.py:6075 +msgid "No object is selected. Select an object and try again." msgstr "" -#: FlatCAMApp.py:6040 +#: FlatCAMApp.py:6095 msgid "" "Aborting. The current task will be gracefully closed as soon as possible..." msgstr "" -#: FlatCAMApp.py:6046 +#: FlatCAMApp.py:6101 msgid "The current task was gracefully closed on user request..." msgstr "" -#: FlatCAMApp.py:6063 flatcamGUI/GUIElements.py:1443 +#: FlatCAMApp.py:6118 flatcamGUI/GUIElements.py:1443 msgid "Preferences" msgstr "" -#: FlatCAMApp.py:6129 -msgid "[WARNING_NOTCL] Preferences edited but not saved." +#: FlatCAMApp.py:6185 +msgid "Preferences edited but not saved." msgstr "" -#: FlatCAMApp.py:6163 +#: FlatCAMApp.py:6219 msgid "" "One or more values are changed.\n" "Do you want to save the Preferences?" msgstr "" -#: FlatCAMApp.py:6165 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:989 +#: FlatCAMApp.py:6221 flatcamGUI/FlatCAMGUI.py:198 flatcamGUI/FlatCAMGUI.py:989 msgid "Save Preferences" msgstr "" -#: FlatCAMApp.py:6177 -msgid "[success] Preferences saved." +#: FlatCAMApp.py:6250 +msgid "No object selected to Flip on Y axis." msgstr "" -#: FlatCAMApp.py:6192 -msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." +#: FlatCAMApp.py:6276 +msgid "Flip on Y axis done." msgstr "" -#: FlatCAMApp.py:6217 -msgid "[success] Flip on Y axis done." +#: FlatCAMApp.py:6279 FlatCAMApp.py:6322 +msgid "Flip action was not executed." msgstr "" -#: FlatCAMApp.py:6219 FlatCAMApp.py:6259 -#: flatcamEditors/FlatCAMGeoEditor.py:1357 -#: flatcamEditors/FlatCAMGrbEditor.py:5584 -#, python-format -msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." +#: FlatCAMApp.py:6293 +msgid "No object selected to Flip on X axis." msgstr "" -#: FlatCAMApp.py:6232 -msgid "[WARNING_NOTCL] No object selected to Flip on X axis." +#: FlatCAMApp.py:6319 +msgid "Flip on X axis done." msgstr "" -#: FlatCAMApp.py:6257 -msgid "[success] Flip on X axis done." +#: FlatCAMApp.py:6336 +msgid "No object selected to Rotate." msgstr "" -#: FlatCAMApp.py:6272 -msgid "[WARNING_NOTCL] No object selected to Rotate." -msgstr "" - -#: FlatCAMApp.py:6275 FlatCAMApp.py:6320 FlatCAMApp.py:6351 +#: FlatCAMApp.py:6339 FlatCAMApp.py:6387 FlatCAMApp.py:6420 msgid "Transform" msgstr "" -#: FlatCAMApp.py:6275 FlatCAMApp.py:6320 FlatCAMApp.py:6351 +#: FlatCAMApp.py:6339 FlatCAMApp.py:6387 FlatCAMApp.py:6420 msgid "Enter the Angle value:" msgstr "" -#: FlatCAMApp.py:6305 -msgid "[success] Rotation done." -msgstr "" - -#: FlatCAMApp.py:6307 flatcamEditors/FlatCAMGeoEditor.py:1300 -#: flatcamEditors/FlatCAMGrbEditor.py:5513 -#, python-format -msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." -msgstr "" - -#: FlatCAMApp.py:6318 -msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." -msgstr "" - -#: FlatCAMApp.py:6339 -msgid "[success] Skew on X axis done." -msgstr "" - -#: FlatCAMApp.py:6349 -msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." -msgstr "" - #: FlatCAMApp.py:6370 -msgid "[success] Skew on Y axis done." +msgid "Rotation done." msgstr "" -#: FlatCAMApp.py:6421 +#: FlatCAMApp.py:6373 +msgid "Rotation movement was not executed." +msgstr "" + +#: FlatCAMApp.py:6385 +msgid "No object selected to Skew/Shear on X axis." +msgstr "" + +#: FlatCAMApp.py:6407 +msgid "Skew on X axis done." +msgstr "" + +#: FlatCAMApp.py:6418 +msgid "No object selected to Skew/Shear on Y axis." +msgstr "" + +#: FlatCAMApp.py:6440 +msgid "Skew on Y axis done." +msgstr "" + +#: FlatCAMApp.py:6491 msgid "Grid On/Off" msgstr "" -#: FlatCAMApp.py:6434 flatcamEditors/FlatCAMGeoEditor.py:939 +#: FlatCAMApp.py:6504 flatcamEditors/FlatCAMGeoEditor.py:939 #: flatcamEditors/FlatCAMGrbEditor.py:2460 #: flatcamEditors/FlatCAMGrbEditor.py:5102 flatcamGUI/ObjectUI.py:1053 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207 @@ -540,7 +534,7 @@ msgstr "" msgid "Add" msgstr "" -#: FlatCAMApp.py:6435 FlatCAMObj.py:3564 +#: FlatCAMApp.py:6505 FlatCAMObj.py:3564 #: flatcamEditors/FlatCAMGrbEditor.py:2465 flatcamGUI/FlatCAMGUI.py:545 #: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1719 #: flatcamGUI/FlatCAMGUI.py:2094 flatcamGUI/ObjectUI.py:1069 @@ -549,282 +543,268 @@ msgstr "" msgid "Delete" msgstr "" -#: FlatCAMApp.py:6448 +#: FlatCAMApp.py:6518 msgid "New Grid ..." msgstr "" -#: FlatCAMApp.py:6449 +#: FlatCAMApp.py:6519 msgid "Enter a Grid Value:" msgstr "" -#: FlatCAMApp.py:6457 FlatCAMApp.py:6484 -msgid "" -"[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " -"format." +#: FlatCAMApp.py:6527 FlatCAMApp.py:6554 +msgid "Please enter a grid value with non-zero value, in Float format." msgstr "" -#: FlatCAMApp.py:6463 -msgid "[success] New Grid added ..." -msgstr "" - -#: FlatCAMApp.py:6466 -msgid "[WARNING_NOTCL] Grid already exists ..." -msgstr "" - -#: FlatCAMApp.py:6469 -msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." -msgstr "" - -#: FlatCAMApp.py:6491 -msgid "[ERROR_NOTCL] Grid Value does not exist ..." -msgstr "" - -#: FlatCAMApp.py:6494 -msgid "[success] Grid Value deleted ..." -msgstr "" - -#: FlatCAMApp.py:6497 -msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." -msgstr "" - -#: FlatCAMApp.py:6503 -msgid "Key Shortcut List" +#: FlatCAMApp.py:6533 +msgid "New Grid added" msgstr "" #: FlatCAMApp.py:6536 -msgid "[WARNING_NOTCL] No object selected to copy it's name" +msgid "Grid already exists" msgstr "" -#: FlatCAMApp.py:6540 +#: FlatCAMApp.py:6539 +msgid "Adding New Grid cancelled" +msgstr "" + +#: FlatCAMApp.py:6561 +msgid " Grid Value does not exist" +msgstr "" + +#: FlatCAMApp.py:6564 +msgid "Grid Value deleted" +msgstr "" + +#: FlatCAMApp.py:6567 +msgid "Delete Grid value cancelled" +msgstr "" + +#: FlatCAMApp.py:6573 +msgid "Key Shortcut List" +msgstr "" + +#: FlatCAMApp.py:6607 +msgid " No object selected to copy it's name" +msgstr "" + +#: FlatCAMApp.py:6611 msgid "Name copied on clipboard ..." msgstr "" -#: FlatCAMApp.py:6582 flatcamEditors/FlatCAMGrbEditor.py:4097 -msgid "[success] Coordinates copied to clipboard." +#: FlatCAMApp.py:6654 +msgid "Coordinates copied to clipboard." msgstr "" -#: FlatCAMApp.py:6835 FlatCAMApp.py:6839 FlatCAMApp.py:6843 FlatCAMApp.py:6847 -#: FlatCAMApp.py:6863 FlatCAMApp.py:6867 FlatCAMApp.py:6871 FlatCAMApp.py:6875 -#: FlatCAMApp.py:6915 FlatCAMApp.py:6918 FlatCAMApp.py:6921 FlatCAMApp.py:6924 +#: FlatCAMApp.py:6907 FlatCAMApp.py:6911 FlatCAMApp.py:6915 FlatCAMApp.py:6919 +#: FlatCAMApp.py:6935 FlatCAMApp.py:6939 FlatCAMApp.py:6943 FlatCAMApp.py:6947 +#: FlatCAMApp.py:6987 FlatCAMApp.py:6990 FlatCAMApp.py:6993 FlatCAMApp.py:6996 #: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731 #: ObjectCollection.py:734 #, python-brace-format msgid "[selected]{name} selected" msgstr "" -#: FlatCAMApp.py:7051 +#: FlatCAMApp.py:7123 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:7072 -msgid "[success] New Project created..." +#: FlatCAMApp.py:7145 +msgid "New Project created" msgstr "" -#: FlatCAMApp.py:7192 FlatCAMApp.py:7196 flatcamGUI/FlatCAMGUI.py:626 +#: FlatCAMApp.py:7265 FlatCAMApp.py:7269 flatcamGUI/FlatCAMGUI.py:626 #: flatcamGUI/FlatCAMGUI.py:1970 msgid "Open Gerber" msgstr "" -#: FlatCAMApp.py:7203 -msgid "[WARNING_NOTCL] Open Gerber cancelled." +#: FlatCAMApp.py:7277 +msgid "Open Gerber cancelled." msgstr "" -#: FlatCAMApp.py:7223 FlatCAMApp.py:7227 flatcamGUI/FlatCAMGUI.py:627 +#: FlatCAMApp.py:7297 FlatCAMApp.py:7301 flatcamGUI/FlatCAMGUI.py:627 #: flatcamGUI/FlatCAMGUI.py:1971 msgid "Open Excellon" msgstr "" -#: FlatCAMApp.py:7233 -msgid "[WARNING_NOTCL] Open Excellon cancelled." +#: FlatCAMApp.py:7308 +msgid " Open Excellon cancelled." msgstr "" -#: FlatCAMApp.py:7256 FlatCAMApp.py:7260 +#: FlatCAMApp.py:7331 FlatCAMApp.py:7335 msgid "Open G-Code" msgstr "" -#: FlatCAMApp.py:7267 -msgid "[WARNING_NOTCL] Open G-Code cancelled." +#: FlatCAMApp.py:7343 +msgid "Open G-Code cancelled." msgstr "" -#: FlatCAMApp.py:7284 FlatCAMApp.py:7287 +#: FlatCAMApp.py:7360 FlatCAMApp.py:7363 msgid "Open Project" msgstr "" -#: FlatCAMApp.py:7295 -msgid "[WARNING_NOTCL] Open Project cancelled." +#: FlatCAMApp.py:7372 +msgid "Open Project cancelled." msgstr "" -#: FlatCAMApp.py:7314 FlatCAMApp.py:7317 +#: FlatCAMApp.py:7391 FlatCAMApp.py:7394 msgid "Open Configuration File" msgstr "" -#: FlatCAMApp.py:7321 -msgid "[WARNING_NOTCL] Open Config cancelled." +#: FlatCAMApp.py:7399 +msgid "Open Config cancelled." msgstr "" -#: FlatCAMApp.py:7336 FlatCAMApp.py:7589 FlatCAMApp.py:9941 FlatCAMApp.py:9961 -#: FlatCAMApp.py:9982 FlatCAMApp.py:10004 -msgid "[WARNING_NOTCL] No object selected." +#: FlatCAMApp.py:7415 FlatCAMApp.py:7684 FlatCAMApp.py:10117 +#: FlatCAMApp.py:10138 FlatCAMApp.py:10160 FlatCAMApp.py:10183 +msgid "No object selected." msgstr "" -#: FlatCAMApp.py:7337 FlatCAMApp.py:7590 +#: FlatCAMApp.py:7416 FlatCAMApp.py:7685 msgid "Please Select a Geometry object to export" msgstr "" -#: FlatCAMApp.py:7350 -msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." +#: FlatCAMApp.py:7430 +msgid "Only Geometry, Gerber and CNCJob objects can be used." msgstr "" -#: FlatCAMApp.py:7363 FlatCAMApp.py:7367 +#: FlatCAMApp.py:7443 FlatCAMApp.py:7447 msgid "Export SVG" msgstr "" -#: FlatCAMApp.py:7372 -msgid "[WARNING_NOTCL] Export SVG cancelled." +#: FlatCAMApp.py:7453 +msgid " Export SVG cancelled." msgstr "" -#: FlatCAMApp.py:7391 -msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" -msgstr "" - -#: FlatCAMApp.py:7397 FlatCAMApp.py:7401 -msgid "Export PNG Image" -msgstr "" - -#: FlatCAMApp.py:7406 -msgid "Export PNG cancelled." -msgstr "" - -#: FlatCAMApp.py:7425 -msgid "" -"[WARNING_NOTCL] No object selected. Please select an Gerber object to export." -msgstr "" - -#: FlatCAMApp.py:7430 FlatCAMApp.py:7553 -msgid "" -"[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." -msgstr "" - -#: FlatCAMApp.py:7442 -msgid "Save Gerber source file" -msgstr "" - -#: FlatCAMApp.py:7447 -msgid "[WARNING_NOTCL] Save Gerber source file cancelled." -msgstr "" - -#: FlatCAMApp.py:7466 -msgid "" -"[WARNING_NOTCL] No object selected. Please select an Excellon object to " -"export." -msgstr "" - -#: FlatCAMApp.py:7471 FlatCAMApp.py:7512 -msgid "" -"[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." +#: FlatCAMApp.py:7473 +msgid "Data must be a 3D array with last dimension 3 or 4" msgstr "" #: FlatCAMApp.py:7479 FlatCAMApp.py:7483 -msgid "Save Excellon source file" +msgid "Export PNG Image" msgstr "" #: FlatCAMApp.py:7488 -msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." +msgid "Export PNG cancelled." msgstr "" -#: FlatCAMApp.py:7507 -msgid "" -"[WARNING_NOTCL] No object selected. Please Select an Excellon object to " -"export." +#: FlatCAMApp.py:7508 +msgid "No object selected. Please select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:7520 FlatCAMApp.py:7524 +#: FlatCAMApp.py:7514 FlatCAMApp.py:7646 +msgid "Failed. Only Gerber objects can be saved as Gerber files..." +msgstr "" + +#: FlatCAMApp.py:7526 +msgid "Save Gerber source file" +msgstr "" + +#: FlatCAMApp.py:7532 +msgid "Save Gerber source file cancelled." +msgstr "" + +#: FlatCAMApp.py:7552 +msgid "No object selected. Please select an Excellon object to export." +msgstr "" + +#: FlatCAMApp.py:7558 FlatCAMApp.py:7602 +msgid "Failed. Only Excellon objects can be saved as Excellon files..." +msgstr "" + +#: FlatCAMApp.py:7566 FlatCAMApp.py:7570 +msgid "Save Excellon source file" +msgstr "" + +#: FlatCAMApp.py:7576 +msgid "Saving Excellon source file cancelled." +msgstr "" + +#: FlatCAMApp.py:7596 +msgid "No object selected. Please Select an Excellon object to export." +msgstr "" + +#: FlatCAMApp.py:7610 FlatCAMApp.py:7614 msgid "Export Excellon" msgstr "" -#: FlatCAMApp.py:7529 -msgid "[WARNING_NOTCL] Export Excellon cancelled." +#: FlatCAMApp.py:7620 +msgid "Export Excellon cancelled." msgstr "" -#: FlatCAMApp.py:7548 -msgid "" -"[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." +#: FlatCAMApp.py:7640 +msgid "No object selected. Please Select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:7561 FlatCAMApp.py:7565 +#: FlatCAMApp.py:7654 FlatCAMApp.py:7658 msgid "Export Gerber" msgstr "" -#: FlatCAMApp.py:7570 -msgid "[WARNING_NOTCL] Export Gerber cancelled." +#: FlatCAMApp.py:7664 +msgid "Export Gerber cancelled." msgstr "" -#: FlatCAMApp.py:7600 -msgid "[ERROR_NOTCL] Only Geometry objects can be used." +#: FlatCAMApp.py:7696 +msgid "Only Geometry objects can be used." msgstr "" -#: FlatCAMApp.py:7614 FlatCAMApp.py:7618 +#: FlatCAMApp.py:7710 FlatCAMApp.py:7714 msgid "Export DXF" msgstr "" -#: FlatCAMApp.py:7624 -msgid "[WARNING_NOTCL] Export DXF cancelled." +#: FlatCAMApp.py:7721 +msgid "Export DXF cancelled." msgstr "" -#: FlatCAMApp.py:7644 FlatCAMApp.py:7647 +#: FlatCAMApp.py:7741 FlatCAMApp.py:7744 msgid "Import SVG" msgstr "" -#: FlatCAMApp.py:7656 -msgid "[WARNING_NOTCL] Open SVG cancelled." +#: FlatCAMApp.py:7754 +msgid "Open SVG cancelled." msgstr "" -#: FlatCAMApp.py:7675 FlatCAMApp.py:7679 +#: FlatCAMApp.py:7773 FlatCAMApp.py:7777 msgid "Import DXF" msgstr "" -#: FlatCAMApp.py:7688 -msgid "[WARNING_NOTCL] Open DXF cancelled." +#: FlatCAMApp.py:7787 +msgid "Open DXF cancelled." msgstr "" -#: FlatCAMApp.py:7706 +#: FlatCAMApp.py:7805 #, python-format msgid "%s" msgstr "" -#: FlatCAMApp.py:7726 -msgid "" -"[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." +#: FlatCAMApp.py:7826 +msgid "Select an Gerber or Excellon file to view it's source file." msgstr "" -#: FlatCAMApp.py:7733 -msgid "" -"[WARNING_NOTCL] There is no selected object for which to see it's source " -"file code." +#: FlatCAMApp.py:7834 +msgid "There is no selected object for which to see it's source file code." msgstr "" -#: FlatCAMApp.py:7741 +#: FlatCAMApp.py:7842 msgid "Source Editor" msgstr "" -#: FlatCAMApp.py:7751 -#, python-format -msgid "[ERROR]App.on_view_source() -->%s" +#: FlatCAMApp.py:7853 +msgid "App.on_view_source() -->" msgstr "" -#: FlatCAMApp.py:7763 FlatCAMApp.py:8964 FlatCAMObj.py:5944 +#: FlatCAMApp.py:7865 FlatCAMApp.py:9112 FlatCAMObj.py:5944 #: flatcamTools/ToolSolderPaste.py:1304 msgid "Code Editor" msgstr "" -#: FlatCAMApp.py:7775 +#: FlatCAMApp.py:7877 msgid "Script Editor" msgstr "" -#: FlatCAMApp.py:7778 +#: FlatCAMApp.py:7880 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -848,222 +828,209 @@ msgid "" "\n" msgstr "" -#: FlatCAMApp.py:7801 FlatCAMApp.py:7804 +#: FlatCAMApp.py:7903 FlatCAMApp.py:7906 msgid "Open TCL script" msgstr "" -#: FlatCAMApp.py:7812 -msgid "[WARNING_NOTCL] Open TCL script cancelled." +#: FlatCAMApp.py:7915 +msgid "Open TCL script cancelled." msgstr "" -#: FlatCAMApp.py:7824 -#, python-format -msgid "[ERROR]App.on_fileopenscript() -->%s" +#: FlatCAMApp.py:7928 +msgid "App.on_fileopenscript() -->" msgstr "" -#: FlatCAMApp.py:7850 FlatCAMApp.py:7853 +#: FlatCAMApp.py:7954 FlatCAMApp.py:7957 msgid "Run TCL script" msgstr "" -#: FlatCAMApp.py:7861 -msgid "[WARNING_NOTCL] Run TCL script cancelled." +#: FlatCAMApp.py:7966 +msgid "Run TCL script cancelled." msgstr "" -#: FlatCAMApp.py:7916 FlatCAMApp.py:7920 +#: FlatCAMApp.py:8021 FlatCAMApp.py:8025 msgid "Save Project As ..." msgstr "" -#: FlatCAMApp.py:7917 +#: FlatCAMApp.py:8022 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "" -#: FlatCAMApp.py:7925 -msgid "[WARNING_NOTCL] Save Project cancelled." +#: FlatCAMApp.py:8031 +msgid "Save Project cancelled." msgstr "" -#: FlatCAMApp.py:7973 +#: FlatCAMApp.py:8079 msgid "Exporting SVG" msgstr "" -#: FlatCAMApp.py:8013 FlatCAMApp.py:8127 FlatCAMApp.py:8250 -#, python-format -msgid "[success] SVG file exported to %s" +#: FlatCAMApp.py:8121 FlatCAMApp.py:8238 FlatCAMApp.py:8364 +msgid "SVG file exported to" msgstr "" -#: FlatCAMApp.py:8047 FlatCAMApp.py:8175 -#, python-format -msgid "[WARNING_NOTCL] No object Box. Using instead %s" +#: FlatCAMApp.py:8156 FlatCAMApp.py:8287 flatcamTools/ToolPanelize.py:381 +msgid "No object Box. Using instead" msgstr "" -#: FlatCAMApp.py:8130 FlatCAMApp.py:8253 +#: FlatCAMApp.py:8241 FlatCAMApp.py:8367 msgid "Generating Film ... Please wait." msgstr "" -#: FlatCAMApp.py:8419 -#, python-format -msgid "[success] Excellon file exported to %s" +#: FlatCAMApp.py:8536 +msgid "Excellon file exported to" msgstr "" -#: FlatCAMApp.py:8426 +#: FlatCAMApp.py:8543 msgid "Exporting Excellon" msgstr "" -#: FlatCAMApp.py:8431 FlatCAMApp.py:8438 -msgid "[ERROR_NOTCL] Could not export Excellon file." +#: FlatCAMApp.py:8549 FlatCAMApp.py:8557 +msgid "Could not export Excellon file." msgstr "" -#: FlatCAMApp.py:8544 -#, python-format -msgid "[success] Gerber file exported to %s" +#: FlatCAMApp.py:8665 +msgid "Gerber file exported to" msgstr "" -#: FlatCAMApp.py:8551 +#: FlatCAMApp.py:8672 msgid "Exporting Gerber" msgstr "" -#: FlatCAMApp.py:8556 FlatCAMApp.py:8563 -msgid "[ERROR_NOTCL] Could not export Gerber file." +#: FlatCAMApp.py:8678 FlatCAMApp.py:8686 +msgid "Could not export Gerber file." msgstr "" -#: FlatCAMApp.py:8605 -#, python-format -msgid "[success] DXF file exported to %s" +#: FlatCAMApp.py:8729 +msgid "DXF file exported to" msgstr "" -#: FlatCAMApp.py:8611 +#: FlatCAMApp.py:8735 msgid "Exporting DXF" msgstr "" -#: FlatCAMApp.py:8616 FlatCAMApp.py:8623 -msgid "[[WARNING_NOTCL]] Could not export DXF file." +#: FlatCAMApp.py:8741 FlatCAMApp.py:8749 +msgid "Could not export DXF file." msgstr "" -#: FlatCAMApp.py:8643 FlatCAMApp.py:8685 FlatCAMApp.py:8729 +#: FlatCAMApp.py:8770 FlatCAMApp.py:8814 FlatCAMApp.py:8860 msgid "" -"[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " -"Gerber are supported" +"Not supported type is picked as parameter. Only Geometry and Gerber are " +"supported" msgstr "" -#: FlatCAMApp.py:8653 +#: FlatCAMApp.py:8780 msgid "Importing SVG" msgstr "" -#: FlatCAMApp.py:8664 FlatCAMApp.py:8706 FlatCAMApp.py:8749 FlatCAMApp.py:8826 -#: FlatCAMApp.py:8887 FlatCAMApp.py:8950 flatcamTools/ToolPDF.py:220 -#, python-format -msgid "[success] Opened: %s" +#: FlatCAMApp.py:8792 FlatCAMApp.py:8836 FlatCAMApp.py:8881 FlatCAMApp.py:8964 +#: FlatCAMApp.py:9031 FlatCAMApp.py:9098 +msgid "Opened" msgstr "" -#: FlatCAMApp.py:8695 +#: FlatCAMApp.py:8824 msgid "Importing DXF" msgstr "" -#: FlatCAMApp.py:8737 +#: FlatCAMApp.py:8868 msgid "Importing Image" msgstr "" -#: FlatCAMApp.py:8778 FlatCAMApp.py:8780 -#, python-format -msgid "[ERROR_NOTCL] Failed to open file: %s" +#: FlatCAMApp.py:8911 +msgid "Failed to open file" msgstr "" -#: FlatCAMApp.py:8783 +#: FlatCAMApp.py:8915 #, python-brace-format -msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" +msgid "{e_code} Failed to parse file: {name}. {error}" msgstr "" -#: FlatCAMApp.py:8790 flatcamEditors/FlatCAMGrbEditor.py:3917 -msgid "[ERROR] An internal error has occurred. See shell.\n" +#: FlatCAMApp.py:8916 +msgid "[ERROR_NOTCL]" msgstr "" -#: FlatCAMApp.py:8799 -msgid "" -"[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." +#: FlatCAMApp.py:8925 FlatCAMApp.py:8999 FlatCAMObj.py:4521 +#: flatcamTools/ToolPcbWizard.py:437 +msgid "An internal error has occurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:8807 +#: FlatCAMApp.py:8935 +msgid "Object is not Gerber file or empty. Aborting object creation." +msgstr "" + +#: FlatCAMApp.py:8943 msgid "Opening Gerber" msgstr "" -#: FlatCAMApp.py:8817 -msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." +#: FlatCAMApp.py:8954 +msgid " Open Gerber failed. Probable not a Gerber file." msgstr "" -#: FlatCAMApp.py:8850 -msgid "[ERROR_NOTCL] This is not Excellon file." +#: FlatCAMApp.py:8989 flatcamTools/ToolPcbWizard.py:427 +msgid "This is not Excellon file." msgstr "" -#: FlatCAMApp.py:8853 -#, python-format -msgid "[ERROR_NOTCL] Cannot open file: %s" +#: FlatCAMApp.py:8993 +msgid "Cannot open file" msgstr "" -#: FlatCAMApp.py:8858 -msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" +#: FlatCAMApp.py:9013 flatcamTools/ToolPDF.py:270 +#: flatcamTools/ToolPcbWizard.py:451 +msgid "No geometry found in file" msgstr "" -#: FlatCAMApp.py:8871 -#, python-format -msgid "[ERROR_NOTCL] No geometry found in file: %s" -msgstr "" - -#: FlatCAMApp.py:8874 +#: FlatCAMApp.py:9016 msgid "Opening Excellon." msgstr "" -#: FlatCAMApp.py:8880 -msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." +#: FlatCAMApp.py:9023 +msgid "Open Excellon file failed. Probable not an Excellon file." msgstr "" -#: FlatCAMApp.py:8917 -#, python-format -msgid "[ERROR_NOTCL] Failed to open %s" +#: FlatCAMApp.py:9062 +msgid "Failed to open" msgstr "" -#: FlatCAMApp.py:8927 -msgid "[ERROR_NOTCL] This is not GCODE" +#: FlatCAMApp.py:9073 +msgid "This is not GCODE" msgstr "" -#: FlatCAMApp.py:8933 +#: FlatCAMApp.py:9079 msgid "Opening G-Code." msgstr "" -#: FlatCAMApp.py:8941 +#: FlatCAMApp.py:9088 msgid "" -"[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" +"Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" msgstr "" -#: FlatCAMApp.py:8981 -#, python-format -msgid "[ERROR_NOTCL] Failed to open config file: %s" +#: FlatCAMApp.py:9130 +msgid "Failed to open config file" msgstr "" -#: FlatCAMApp.py:9002 +#: FlatCAMApp.py:9151 msgid "Loading Project ... Please Wait ..." msgstr "" -#: FlatCAMApp.py:9009 FlatCAMApp.py:9027 -#, python-format -msgid "[ERROR_NOTCL] Failed to open project file: %s" +#: FlatCAMApp.py:9159 FlatCAMApp.py:9178 +msgid "Failed to open project file" msgstr "" -#: FlatCAMApp.py:9051 +#: FlatCAMApp.py:9202 msgid "Loading Project ... restoring" msgstr "" -#: FlatCAMApp.py:9056 -#, python-format -msgid "[success] Project loaded from: %s" +#: FlatCAMApp.py:9212 +msgid "Project loaded from" msgstr "" -#: FlatCAMApp.py:9162 +#: FlatCAMApp.py:9318 msgid "Available commands:\n" msgstr "" -#: FlatCAMApp.py:9164 +#: FlatCAMApp.py:9320 msgid "" "\n" "\n" @@ -1071,35 +1038,35 @@ msgid "" " Example: help open_gerber" msgstr "" -#: FlatCAMApp.py:9314 +#: FlatCAMApp.py:9470 msgid "Shows list of commands." msgstr "" -#: FlatCAMApp.py:9371 -msgid "[ERROR_NOTCL] Failed to load recent item list." +#: FlatCAMApp.py:9528 +msgid "Failed to load recent item list." msgstr "" -#: FlatCAMApp.py:9378 -msgid "[ERROR_NOTCL] Failed to parse recent item list." +#: FlatCAMApp.py:9536 +msgid "Failed to parse recent item list." msgstr "" -#: FlatCAMApp.py:9388 -msgid "[ERROR_NOTCL] Failed to load recent projects item list." +#: FlatCAMApp.py:9547 +msgid "Failed to load recent projects item list." msgstr "" -#: FlatCAMApp.py:9395 -msgid "[ERROR_NOTCL] Failed to parse recent project item list." +#: FlatCAMApp.py:9555 +msgid "Failed to parse recent project item list." msgstr "" -#: FlatCAMApp.py:9454 FlatCAMApp.py:9477 +#: FlatCAMApp.py:9614 FlatCAMApp.py:9637 msgid "Clear Recent files" msgstr "" -#: FlatCAMApp.py:9494 flatcamGUI/FlatCAMGUI.py:1006 +#: FlatCAMApp.py:9654 flatcamGUI/FlatCAMGUI.py:1006 msgid "Shortcut Key List" msgstr "" -#: FlatCAMApp.py:9506 +#: FlatCAMApp.py:9666 #, python-brace-format msgid "" "\n" @@ -1150,89 +1117,85 @@ msgid "" " " msgstr "" -#: FlatCAMApp.py:9584 -msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." +#: FlatCAMApp.py:9745 +msgid "Failed checking for latest version. Could not connect." msgstr "" -#: FlatCAMApp.py:9591 -msgid "[ERROR_NOTCL] Could not parse information about latest version." +#: FlatCAMApp.py:9753 +msgid "Could not parse information about latest version." msgstr "" -#: FlatCAMApp.py:9601 -msgid "[success] FlatCAM is up to date!" +#: FlatCAMApp.py:9764 +msgid "FlatCAM is up to date!" msgstr "" -#: FlatCAMApp.py:9606 +#: FlatCAMApp.py:9769 msgid "Newer Version Available" msgstr "" -#: FlatCAMApp.py:9607 +#: FlatCAMApp.py:9770 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" msgstr "" -#: FlatCAMApp.py:9609 +#: FlatCAMApp.py:9772 msgid "info" msgstr "" -#: FlatCAMApp.py:9663 -msgid "[success] All plots disabled." +#: FlatCAMApp.py:9827 +msgid "All plots disabled." msgstr "" -#: FlatCAMApp.py:9669 -msgid "[success] All non selected plots disabled." +#: FlatCAMApp.py:9834 +msgid "All non selected plots disabled." msgstr "" -#: FlatCAMApp.py:9675 -msgid "[success] All plots enabled." +#: FlatCAMApp.py:9841 +msgid "All plots enabled." msgstr "" -#: FlatCAMApp.py:9681 -msgid "[success] Selected plots enabled..." +#: FlatCAMApp.py:9848 +msgid "Selected plots enabled..." msgstr "" -#: FlatCAMApp.py:9689 -msgid "[success] Selected plots disabled..." +#: FlatCAMApp.py:9857 +msgid "Selected plots disabled..." msgstr "" -#: FlatCAMApp.py:9707 +#: FlatCAMApp.py:9875 msgid "Enabling plots ..." msgstr "" -#: FlatCAMApp.py:9741 +#: FlatCAMApp.py:9909 msgid "Disabling plots ..." msgstr "" -#: FlatCAMApp.py:9763 +#: FlatCAMApp.py:9931 msgid "Working ..." msgstr "" -#: FlatCAMApp.py:9801 +#: FlatCAMApp.py:9969 msgid "Saving FlatCAM Project" msgstr "" -#: FlatCAMApp.py:9822 FlatCAMApp.py:9853 -#, python-format -msgid "[success] Project saved to: %s" +#: FlatCAMApp.py:9991 FlatCAMApp.py:10026 +msgid "Project saved to" msgstr "" -#: FlatCAMApp.py:9840 -#, python-format -msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." +#: FlatCAMApp.py:10010 +msgid "Failed to verify project file" msgstr "" -#: FlatCAMApp.py:9847 -#, python-format -msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." +#: FlatCAMApp.py:10010 FlatCAMApp.py:10018 FlatCAMApp.py:10029 +msgid "Retry to save it." msgstr "" -#: FlatCAMApp.py:9855 -#, python-format -msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." +#: FlatCAMApp.py:10018 FlatCAMApp.py:10029 +msgid "Failed to parse saved project file" msgstr "" -#: FlatCAMApp.py:10061 +#: FlatCAMApp.py:10240 msgid "The user requested a graceful exit of the current task." msgstr "" @@ -1383,7 +1346,7 @@ msgstr "" msgid "Generating CNC Code" msgstr "" -#: FlatCAMObj.py:2944 +#: FlatCAMObj.py:2944 camlib.py:5649 camlib.py:6623 msgid "" "The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, " "y) \n" @@ -1445,10 +1408,6 @@ msgstr "" msgid "Failed. No tool selected in the tool table ..." msgstr "" -#: FlatCAMObj.py:4521 flatcamTools/ToolPcbWizard.py:437 -msgid "An internal error has occurred. See shell.\n" -msgstr "" - #: FlatCAMObj.py:4522 msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->" msgstr "" @@ -1490,7 +1449,7 @@ msgstr "" msgid "CNCjob created" msgstr "" -#: FlatCAMObj.py:5178 FlatCAMObj.py:5188 camlib.py:3559 camlib.py:3569 +#: FlatCAMObj.py:5178 FlatCAMObj.py:5188 camlib.py:3572 camlib.py:3582 msgid "Scale factor has to be a number: integer or float." msgstr "" @@ -1498,7 +1457,7 @@ msgstr "" msgid "Geometry Scale done." msgstr "" -#: FlatCAMObj.py:5279 camlib.py:3662 +#: FlatCAMObj.py:5279 camlib.py:3676 msgid "" "An (x,y) pair of values are needed. Probable you entered only one value in " "the Offset field." @@ -1555,16 +1514,6 @@ msgstr "" msgid "Toolchange G-code was replaced by a custom code." msgstr "" -#: FlatCAMObj.py:6161 flatcamTools/ToolSolderPaste.py:1424 -msgid "No such file or directory" -msgstr "" - -#: FlatCAMObj.py:6165 flatcamTools/ToolSolderPaste.py:1428 -msgid "" -"Permission denied, saving not possible.\n" -"Most likely another app is holding the file open and not accessible." -msgstr "" - #: FlatCAMObj.py:6175 msgid "Saved to" msgstr "" @@ -1600,268 +1549,265 @@ msgstr "" msgid "Object renamed from {old} to {new}" msgstr "" -#: ObjectCollection.py:765 -#, python-format -msgid "[ERROR] Cause of error: %s" +#: ObjectCollection.py:766 +msgid "Cause of error" msgstr "" -#: camlib.py:214 -msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." -msgstr "" - -#: camlib.py:1520 -msgid "[success] Object was mirrored ..." +#: camlib.py:215 +msgid "self.solid_geometry is neither BaseGeometry or list." msgstr "" #: camlib.py:1522 -msgid "[ERROR_NOTCL] Failed to mirror. No object selected" +msgid "Object was mirrored" msgstr "" -#: camlib.py:1590 -msgid "[success] Object was rotated ..." +#: camlib.py:1525 +msgid "Failed to mirror. No object selected" msgstr "" -#: camlib.py:1592 -msgid "[ERROR_NOTCL] Failed to rotate. No object selected" +#: camlib.py:1594 +msgid "Object was rotated" msgstr "" -#: camlib.py:1659 -msgid "[success] Object was skewed ..." +#: camlib.py:1597 +msgid "Failed to rotate. No object selected" msgstr "" -#: camlib.py:1661 -msgid "[ERROR_NOTCL] Failed to skew. No object selected" +#: camlib.py:1665 +msgid "Object was skewed" msgstr "" -#: camlib.py:2436 +#: camlib.py:1668 +msgid "Failed to skew. No object selected" +msgstr "" + +#: camlib.py:2443 msgid "Gerber processing. Parsing" msgstr "" -#: camlib.py:2436 +#: camlib.py:2443 msgid "lines" msgstr "" -#: camlib.py:2934 camlib.py:3019 -#, python-format -msgid "[WARNING] Coordinates missing, line ignored: %s" +#: camlib.py:2942 camlib.py:3030 +msgid "Coordinates missing, line ignored" msgstr "" -#: camlib.py:2935 camlib.py:3020 -msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" +#: camlib.py:2944 camlib.py:3032 +msgid "GERBER file might be CORRUPT. Check the file !!!" msgstr "" -#: camlib.py:2984 -#, python-format +#: camlib.py:2994 msgid "" -"[ERROR] Region does not have enough points. File will be processed but there " -"are parser errors. Line number: %s" +"Region does not have enough points. File will be processed but there are " +"parser errors. Line number" msgstr "" -#: camlib.py:3352 +#: camlib.py:3364 msgid "Gerber processing. Joining" msgstr "" -#: camlib.py:3352 +#: camlib.py:3364 msgid "polygons" msgstr "" -#: camlib.py:3378 +#: camlib.py:3390 msgid "Gerber Line" msgstr "" -#: camlib.py:3378 +#: camlib.py:3390 msgid "Gerber Line Content" msgstr "" -#: camlib.py:3379 +#: camlib.py:3392 msgid "Gerber Parser ERROR" msgstr "" -#: camlib.py:3626 +#: camlib.py:3640 msgid "Gerber Scale done." msgstr "" -#: camlib.py:3715 +#: camlib.py:3730 msgid "Gerber Offset done." msgstr "" -#: camlib.py:3791 +#: camlib.py:3807 msgid "Gerber Mirror done." msgstr "" -#: camlib.py:3859 +#: camlib.py:3876 msgid "Gerber Skew done." msgstr "" -#: camlib.py:3919 +#: camlib.py:3937 msgid "Gerber Rotate done." msgstr "" -#: camlib.py:4205 -#, python-format -msgid "[ERROR_NOTCL] This is GCODE mark: %s" +#: camlib.py:4224 +msgid "This is GCODE mark" msgstr "" -#: camlib.py:4320 -#, python-format +#: camlib.py:4340 msgid "" -"[WARNING] No tool diameter info's. See shell.\n" -"A tool change event: T%s was found but the Excellon file have no " -"informations regarding the tool diameters therefore the application will try " -"to load it by using some 'fake' diameters.\n" +"No tool diameter info's. See shell.\n" +"A tool change event: T" +msgstr "" + +#: camlib.py:4343 +msgid "" +"was found but the Excellon file have no informations regarding the tool " +"diameters therefore the application will try to load it by using some 'fake' " +"diameters.\n" "The user needs to edit the resulting Excellon object and change the " "diameters to reflect the real diameters." msgstr "" -#: camlib.py:4773 +#: camlib.py:4798 #, python-brace-format msgid "" -"[ERROR] Excellon Parser error.\n" +"{e_code} Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" msgstr "" -#: camlib.py:4853 +#: camlib.py:4881 msgid "" -"[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " -"not having a tool associated.\n" +"Excellon.create_geometry() -> a drill location was skipped due of not having " +"a tool associated.\n" "Check the resulting GCode." msgstr "" -#: camlib.py:5526 -#, python-format -msgid "[ERROR] There is no such parameter: %s" +#: camlib.py:5555 +msgid "There is no such parameter" msgstr "" -#: camlib.py:5596 +#: camlib.py:5626 msgid "" -"[WARNING] The Cut Z parameter has positive value. It is the depth value to " -"drill into material.\n" +"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:5603 camlib.py:6264 camlib.py:6591 -#, python-format -msgid "" -"[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" +#: camlib.py:5634 camlib.py:6307 camlib.py:6649 +msgid "The Cut Z parameter is zero. There will be no cut, skipping file" msgstr "" -#: camlib.py:5617 camlib.py:6568 -msgid "" -"[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " -"format (x, y) \n" -"but now there is only one value, not two. " -msgstr "" - -#: camlib.py:5654 +#: camlib.py:5686 msgid "Creating a list of points to drill..." msgstr "" -#: camlib.py:5736 +#: camlib.py:5769 msgid "Starting G-Code" msgstr "" -#: camlib.py:5832 camlib.py:5976 camlib.py:6079 camlib.py:6370 camlib.py:6697 +#: camlib.py:5865 camlib.py:6011 camlib.py:6117 camlib.py:6416 camlib.py:6758 msgid "Starting G-Code for tool with diameter" msgstr "" -#: camlib.py:5888 camlib.py:6032 camlib.py:6136 camlib.py:7347 camlib.py:7624 -#: camlib.py:7726 camlib.py:7772 -msgid "[ERROR_NOTCL] G91 coordinates not implemented ..." +#: camlib.py:5922 camlib.py:6068 camlib.py:6175 +msgid "G91 coordinates not implemented" msgstr "" -#: camlib.py:5893 camlib.py:6037 camlib.py:6141 -msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." +#: camlib.py:5928 camlib.py:6074 camlib.py:6181 +msgid "The loaded Excellon file has no drills" msgstr "" -#: camlib.py:6042 -msgid "[ERROR_NOTCL] Wrong optimization type selected." +#: camlib.py:6080 +msgid "Wrong optimization type selected." msgstr "" -#: camlib.py:6163 +#: camlib.py:6203 msgid "Finished G-Code generation..." msgstr "" -#: camlib.py:6240 +#: camlib.py:6280 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:6252 camlib.py:6579 +#: camlib.py:6293 camlib.py:6635 msgid "" -"[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " -"combinations of other parameters." +"Cut_Z parameter is None or zero. Most likely a bad combinations of other " +"parameters." msgstr "" -#: camlib.py:6257 camlib.py:6584 +#: camlib.py:6299 camlib.py:6641 msgid "" -"[WARNING] The Cut Z parameter has positive value. It is the depth value to " -"cut into material.\n" +"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:6273 camlib.py:6596 -msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." +#: camlib.py:6317 camlib.py:6655 +msgid "Travel Z parameter is None or zero." msgstr "" -#: camlib.py:6277 camlib.py:6600 +#: camlib.py:6322 camlib.py:6660 msgid "" -"[WARNING] The Travel Z parameter has negative value. It is the height value " -"to travel between cuts.\n" +"The Travel Z parameter has negative value. It is the height value to travel " +"between cuts.\n" "The Z Travel parameter needs to have a positive value, assuming it is a typo " "therefore the app will convert the value to positive.Check the resulting CNC " "code (Gcode etc)." msgstr "" -#: camlib.py:6284 camlib.py:6607 -#, python-format -msgid "" -"[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" +#: camlib.py:6330 camlib.py:6668 +msgid "The Z Travel parameter is zero. This is dangerous, skipping file" msgstr "" -#: camlib.py:6299 camlib.py:6626 +#: camlib.py:6345 camlib.py:6687 msgid "Indexing geometry before generating G-Code..." msgstr "" -#: camlib.py:6353 camlib.py:6683 +#: camlib.py:6399 camlib.py:6744 msgid "Starting G-Code..." msgstr "" -#: camlib.py:6439 camlib.py:6766 -#, python-format -msgid "Finished G-Code generation... %s paths traced." +#: camlib.py:6486 camlib.py:6828 +msgid "Finished G-Code generation" msgstr "" -#: camlib.py:6471 -#, python-format -msgid "[ERROR]Expected a Geometry, got %s" +#: camlib.py:6488 +msgid "paths traced" msgstr "" -#: camlib.py:6477 +#: camlib.py:6523 +msgid "Expected a Geometry, got" +msgstr "" + +#: camlib.py:6530 msgid "" -"[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " -"solid_geometry." +"Trying to generate a CNC Job from a Geometry object without solid_geometry." msgstr "" -#: camlib.py:6516 -msgid "" -"[ERROR_NOTCL] The Tool Offset value is too negative to use for the " -"current_geometry.\n" -"Raise the value (in module) and try again." -msgstr "" - -#: camlib.py:6792 -msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." -msgstr "" - -#: camlib.py:6878 +#: camlib.py:6569 #, python-format -msgid "Finished SolderPste G-Code generation... %s paths traced." +msgid "[ERROR_NOTCL] %s" +msgstr "" + +#: camlib.py:6830 +msgid " paths traced." +msgstr "" + +#: camlib.py:6859 +msgid "There is no tool data in the SolderPaste geometry." +msgstr "" + +#: camlib.py:6946 +msgid "Finished SolderPste G-Code generation" +msgstr "" + +#: camlib.py:6948 +msgid "paths traced." +msgstr "" + +#: camlib.py:7421 camlib.py:7699 camlib.py:7802 camlib.py:7849 +msgid "G91 coordinates not implemented ..." msgstr "" #: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:69 @@ -2333,6 +2279,20 @@ msgstr "" msgid "[WARNING_NOTCL] Cancelled. There is no Tool/Drill selected" msgstr "" +#: flatcamEditors/FlatCAMExcEditor.py:3424 +#: flatcamEditors/FlatCAMExcEditor.py:3431 +#: flatcamEditors/FlatCAMGeoEditor.py:3741 +#: flatcamEditors/FlatCAMGeoEditor.py:3755 +#: flatcamEditors/FlatCAMGrbEditor.py:1057 +#: flatcamEditors/FlatCAMGrbEditor.py:1160 +#: flatcamEditors/FlatCAMGrbEditor.py:1433 +#: flatcamEditors/FlatCAMGrbEditor.py:1690 +#: flatcamEditors/FlatCAMGrbEditor.py:4156 +#: flatcamEditors/FlatCAMGrbEditor.py:4170 flatcamGUI/FlatCAMGUI.py:2560 +#: flatcamGUI/FlatCAMGUI.py:2572 +msgid "[success] Done." +msgstr "" + #: flatcamEditors/FlatCAMExcEditor.py:3787 msgid "[success] Done. Drill(s) deleted." msgstr "" @@ -2889,6 +2849,12 @@ msgstr "" msgid "[success] Done. Rotate completed." msgstr "" +#: flatcamEditors/FlatCAMGeoEditor.py:1300 +#: flatcamEditors/FlatCAMGrbEditor.py:5513 +#, python-format +msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." +msgstr "" + #: flatcamEditors/FlatCAMGeoEditor.py:1311 #: flatcamEditors/FlatCAMGrbEditor.py:5529 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" @@ -2909,6 +2875,12 @@ msgstr "" msgid "[success] Flip on the X axis done ..." msgstr "" +#: flatcamEditors/FlatCAMGeoEditor.py:1357 +#: flatcamEditors/FlatCAMGrbEditor.py:5584 +#, python-format +msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." +msgstr "" + #: flatcamEditors/FlatCAMGeoEditor.py:1366 #: flatcamEditors/FlatCAMGrbEditor.py:5599 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" @@ -3768,6 +3740,10 @@ msgid "" "creation." msgstr "" +#: flatcamEditors/FlatCAMGrbEditor.py:3917 +msgid "[ERROR] An internal error has occurred. See shell.\n" +msgstr "" + #: flatcamEditors/FlatCAMGrbEditor.py:3922 msgid "Creating Gerber." msgstr "" @@ -3780,6 +3756,10 @@ msgstr "" msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "" +#: flatcamEditors/FlatCAMGrbEditor.py:4097 +msgid "[success] Coordinates copied to clipboard." +msgstr "" + #: flatcamEditors/FlatCAMGrbEditor.py:4477 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" @@ -5670,6 +5650,10 @@ msgstr "" msgid "Measurement Tool exit..." msgstr "" +#: flatcamGUI/FlatCAMGUI.py:3312 +msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." +msgstr "" + #: flatcamGUI/FlatCAMGUI.py:3554 msgid "GUI Preferences" msgstr "" @@ -9995,10 +9979,6 @@ msgstr "" msgid "Please enter a tool diameter to add, in Float format." msgstr "" -#: flatcamTools/ToolNonCopperClear.py:915 flatcamTools/ToolSolderPaste.py:774 -msgid "Please enter a tool diameter with non-zero value, in Float format." -msgstr "" - #: flatcamTools/ToolNonCopperClear.py:940 flatcamTools/ToolPaint.py:728 msgid "Adding tool cancelled. Tool already in Tool Table." msgstr "" @@ -10174,8 +10154,9 @@ msgstr "" msgid "Parsing PDF file ..." msgstr "" -#: flatcamTools/ToolPDF.py:270 flatcamTools/ToolPcbWizard.py:451 -msgid "No geometry found in file" +#: flatcamTools/ToolPDF.py:220 +#, python-format +msgid "[success] Opened: %s" msgstr "" #: flatcamTools/ToolPDF.py:273 flatcamTools/ToolPDF.py:348 @@ -10510,10 +10491,6 @@ msgstr "" msgid "Panel. Tool" msgstr "" -#: flatcamTools/ToolPanelize.py:381 -msgid "No object Box. Using instead" -msgstr "" - #: flatcamTools/ToolPanelize.py:465 msgid "Columns or Rows are zero value. Change them to a positive integer." msgstr "" @@ -10666,10 +10643,6 @@ msgstr "" msgid "Main PcbWizard Excellon file loaded." msgstr "" -#: flatcamTools/ToolPcbWizard.py:427 -msgid "This is not Excellon file." -msgstr "" - #: flatcamTools/ToolPcbWizard.py:431 msgid "Cannot parse file" msgstr "" @@ -10984,10 +10957,6 @@ msgstr "" msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry." msgstr "" -#: flatcamTools/ToolSolderPaste.py:1214 -msgid "An internal error has ocurred. See shell.\n" -msgstr "" - #: flatcamTools/ToolSolderPaste.py:1285 msgid "ToolSolderPaste CNCjob created" msgstr ""