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}"
@@ -213,12 +212,12 @@ msgstr ""
"[selected]{kind} erstellt / ausgewählt: {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: b>"
@@ -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}"
"span>"
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 ""