From a10647290077c8d5c5b70bede5e3e0953cd5ab70 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Tue, 11 Jun 2019 23:04:31 +0300 Subject: [PATCH] - fixed the Edit -> Conversion -> Join ... functions (merge() functions) - updated translations - Russian translate by @camellan is not finished yet - some PEP8 cleanup in camlib.py - RELEASE 8.918 --- FlatCAMApp.py | 18 +- FlatCAMObj.py | 106 ++-- README.md | 8 + camlib.py | 97 ++-- locale/de/LC_MESSAGES/strings.mo | Bin 305031 -> 305211 bytes locale/de/LC_MESSAGES/strings.po | 634 ++++++++++----------- locale/en/LC_MESSAGES/strings.mo | Bin 284395 -> 284569 bytes locale/en/LC_MESSAGES/strings.po | 921 +++++++++++-------------------- locale/ro/LC_MESSAGES/strings.mo | Bin 303327 -> 303498 bytes locale/ro/LC_MESSAGES/strings.po | 632 ++++++++++----------- locale_template/strings.pot | 616 ++++++++++----------- 11 files changed, 1388 insertions(+), 1644 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 3d6a2713..6849e678 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -95,7 +95,7 @@ class App(QtCore.QObject): # Version version = 8.918 - version_date = "2019/06/09" + version_date = "2019/06/11" beta = True # current date now @@ -3457,14 +3457,14 @@ class App(QtCore.QObject): obj_name_multi = str(name) if name else "Combo_MultiGeo" tooldias = [] - geo_type_list = [] + geo_type_list = set() objs = self.collection.get_selected() for obj in objs: - geo_type_list.append(obj.multigeo) + geo_type_list.add(obj.multigeo) - # if len(set(geo_type_list)) == 1 means that all list elements are the same - if len(set(geo_type_list)) != 1: + # 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" "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" @@ -3476,7 +3476,7 @@ class App(QtCore.QObject): # if at least one True object is in the list then due of the previous check, all list elements are True objects if True in geo_type_list: def initialize(obj, app): - FlatCAMGeometry.merge(objs, obj, multigeo=True) + FlatCAMGeometry.merge(self, geo_list=objs, geo_final=obj, multigeo=True) # rename all the ['name] key in obj.tools[tooluid]['data'] to the obj_name_multi for v in obj.tools.values(): @@ -3484,7 +3484,7 @@ class App(QtCore.QObject): self.new_object("geometry", obj_name_multi, initialize) else: def initialize(obj, app): - FlatCAMGeometry.merge(objs, obj, multigeo=False) + FlatCAMGeometry.merge(self, geo_list=objs, geo_final=obj, multigeo=False) # rename all the ['name] key in obj.tools[tooluid]['data'] to the obj_name_multi for v in obj.tools.values(): @@ -3510,7 +3510,7 @@ class App(QtCore.QObject): return def initialize(obj, app): - FlatCAMExcellon.merge(objs, obj) + FlatCAMExcellon.merge(self, exc_list=objs, exc_final=obj) self.new_object("excellon", 'Combo_Excellon', initialize) self.should_we_save = True @@ -3532,7 +3532,7 @@ class App(QtCore.QObject): return def initialize(obj, app): - FlatCAMGerber.merge(objs, obj) + FlatCAMGerber.merge(self, grb_list=objs, grb_final=obj) self.new_object("gerber", 'Combo_Gerber', initialize) self.should_we_save = True diff --git a/FlatCAMObj.py b/FlatCAMObj.py index 40b419f3..4b3a278e 100644 --- a/FlatCAMObj.py +++ b/FlatCAMObj.py @@ -387,8 +387,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber): ui_type = GerberObjectUI - @staticmethod - def merge(grb_list, grb_final): + def merge(self, grb_list, grb_final): """ Merges the geometry of objects in geo_list into the geometry of geo_final. @@ -1590,15 +1589,14 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): # store the source file here self.source_file = "" - self.multigeo = True + self.multigeo = False # Attributes to be included in serialization # Always append to it because it carries contents # from predecessors. self.ser_attrs += ['options', 'kind'] - @staticmethod - def merge(exc_list, exc_final): + def merge(self, exc_list, exc_final): """ Merge Excellon objects found in exc_list parameter into exc_final object. Options are always copied from source . @@ -1659,10 +1657,13 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): exc_final.zeros = exc.zeros exc_final.units = exc.units + # ########################################## + # Here we add data to the exc_final object # + # ########################################## + # variable to make tool_name for the tools current_tool = 0 - # Here we add data to the exc_final object - # the tools diameter are now the keys in the drill_dia dict and the values are the Shapely Points in case of + # The tools diameter are now the keys in the drill_dia dict and the values are the Shapely Points in case of # drills for tool_dia in custom_dict_drills: # we create a tool name for each key in the drill_dia dict (the key is a unique drill diameter) @@ -1681,8 +1682,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): } ) - # Here we add data to the exc_final object - # the tools diameter are now the keys in the drill_dia dict and the values are a list ([start, stop]) + # The tools diameter are now the keys in the drill_dia dict and the values are a list ([start, stop]) # of two Shapely Points in case of slots for tool_dia in custom_dict_slots: # we create a tool name for each key in the slot_dia dict (the key is a unique slot diameter) @@ -2771,25 +2771,25 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): if not FlatCAMObj.plot(self): return - try: - # Plot excellon (All polygons?) - if self.options["solid"]: - for tool in self.tools: - for geo in self.tools[tool]['solid_geometry']: - self.add_shape(shape=geo, color='#750000BF', face_color='#C40000BF', - visible=self.options['plot'], - layer=2) - else: - for tool in self.tools: - for geo in self.tools[tool]['solid_geometry']: - self.add_shape(shape=geo.exterior, color='red', visible=self.options['plot']) - for ints in geo.interiors: - self.add_shape(shape=ints, color='green', visible=self.options['plot']) - - self.shapes.redraw() - return - except (ObjectDeleted, AttributeError, KeyError): - self.shapes.clear(update=True) + # try: + # # Plot Excellon (All polygons?) + # if self.options["solid"]: + # for tool in self.tools: + # for geo in self.tools[tool]['solid_geometry']: + # self.add_shape(shape=geo, color='#750000BF', face_color='#C40000BF', + # visible=self.options['plot'], + # layer=2) + # else: + # for tool in self.tools: + # for geo in self.tools[tool]['solid_geometry']: + # self.add_shape(shape=geo.exterior, color='red', visible=self.options['plot']) + # for ints in geo.interiors: + # self.add_shape(shape=ints, color='orange', visible=self.options['plot']) + # + # self.shapes.redraw() + # return + # except (ObjectDeleted, AttributeError, KeyError): + # self.shapes.clear(update=True) # this stays for compatibility reasons, in case we try to open old projects try: @@ -2798,55 +2798,22 @@ class FlatCAMExcellon(FlatCAMObj, Excellon): self.solid_geometry = [self.solid_geometry] try: - # Plot excellon (All polygons?) + # Plot Excellon (All polygons?) if self.options["solid"]: for geo in self.solid_geometry: - self.add_shape(shape=geo, color='#750000BF', face_color='#C40000BF', visible=self.options['plot'], + self.add_shape(shape=geo, color='#750000BF', face_color='#C40000BF', + visible=self.options['plot'], layer=2) else: for geo in self.solid_geometry: self.add_shape(shape=geo.exterior, color='red', visible=self.options['plot']) for ints in geo.interiors: - self.add_shape(shape=ints, color='green', visible=self.options['plot']) + self.add_shape(shape=ints, color='orange', visible=self.options['plot']) self.shapes.redraw() except (ObjectDeleted, AttributeError): self.shapes.clear(update=True) - # try: - # # Plot excellon (All polygons?) - # if self.options["solid"]: - # for geo_type in self.solid_geometry: - # if geo_type is not None: - # if type(geo_type) is dict: - # for tooldia in geo_type: - # geo_list = geo_type[tooldia] - # for geo in geo_list: - # self.add_shape(shape=geo, color='#750000BF', face_color='#C40000BF', - # visible=self.options['plot'], - # layer=2) - # else: - # self.add_shape(shape=geo_type, color='#750000BF', face_color='#C40000BF', - # visible=self.options['plot'], - # layer=2) - # else: - # for geo_type in self.solid_geometry: - # if geo_type is not None: - # if type(geo_type) is dict: - # for tooldia in geo_type: - # geo_list = geo_type[tooldia] - # for geo in geo_list: - # self.add_shape(shape=geo.exterior, color='red', visible=self.options['plot']) - # for ints in geo.interiors: - # self.add_shape(shape=ints, color='green', visible=self.options['plot']) - # else: - # self.add_shape(shape=geo_type.exterior, color='red', visible=self.options['plot']) - # for ints in geo_type.interiors: - # self.add_shape(shape=ints, color='green', visible=self.options['plot']) - # self.shapes.redraw() - # except (ObjectDeleted, AttributeError): - # self.shapes.clear(update=True) - class FlatCAMGeometry(FlatCAMObj, Geometry): """ @@ -2856,8 +2823,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): optionChanged = QtCore.pyqtSignal(str) ui_type = GeometryObjectUI - @staticmethod - def merge(geo_list, geo_final, multigeo=None): + def merge(self, geo_list, geo_final, multigeo=None): """ Merges the geometry of objects in grb_list into the geometry of geo_final. @@ -2873,8 +2839,6 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): if type(geo_final.solid_geometry) is not list: geo_final.solid_geometry = [geo_final.solid_geometry] - - for geo in geo_list: for option in geo.options: if option is not 'name': @@ -2885,11 +2849,11 @@ class FlatCAMGeometry(FlatCAMObj, Geometry): # Expand lists if type(geo) is list: - FlatCAMGeometry.merge(geo, geo_final) + FlatCAMGeometry.merge(self, geo_list=geo, geo_final=geo_final) # If not list, just append else: # merge solid_geometry, useful for singletool geometry, for multitool each is empty - if multigeo is None or multigeo == False: + if multigeo is None or multigeo is False: geo_final.multigeo = False try: geo_final.solid_geometry.append(geo.solid_geometry) diff --git a/README.md b/README.md index 77f4ea6b..2d4940f3 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ CAD program, and create G-Code for Isolation routing. ================================================= +11.06.2019 + +- fixed the Edit -> Conversion -> Join ... functions (merge() functions) +- updated translations +- Russian translate by @camellan is not finished yet +- some PEP8 cleanup in camlib.py +- RELEASE 8.918 + 9.06.2019 - updated translations diff --git a/camlib.py b/camlib.py index 051f758f..33c80b7d 100644 --- a/camlib.py +++ b/camlib.py @@ -52,16 +52,15 @@ from flatcamParsers.ParseDXF import * import logging import FlatCAMApp +import gettext +import FlatCAMTranslation as fcTranslate +import builtins if platform.architecture()[0] == '64bit': from ortools.constraint_solver import pywrapcp from ortools.constraint_solver import routing_enums_pb2 -import gettext -import FlatCAMTranslation as fcTranslate - fcTranslate.apply_language('strings') -import builtins log = logging.getLogger('base2') log.setLevel(logging.DEBUG) @@ -513,8 +512,8 @@ class Geometry(object): :param offset: Offset distance. :type offset: float :param iso_type: type of isolation, can be 0 = exteriors or 1 = interiors or 2 = both (complete) - :type integer :param corner: type of corner for the isolation: 0 = round; 1 = square; 2= beveled (line that connects the ends) + :param follow: whether the geometry to be isolated is a follow_geometry :return: The buffered geometry. :rtype: Shapely.MultiPolygon or Shapely.Polygon """ @@ -533,7 +532,6 @@ class Geometry(object): # geo_iso.append(self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4))) # return geo_iso - # commented this because of the bug with multiple passes cutting out of the copper # geo_iso = [] # flattened_geo = self.flatten_list(self.solid_geometry) @@ -543,7 +541,6 @@ class Geometry(object): # except TypeError: # geo_iso.append(self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4))) - # the previously commented block is replaced with this block - regression - to solve the bug with multiple # isolation passes cutting from the copper features if offset == 0: @@ -587,8 +584,10 @@ class Geometry(object): :param filename: Path to the SVG file. :type filename: str + :param object_type: parameter passed further along :param flip: Flip the vertically. :type flip: bool + :param units: FlatCAM units :return: None """ @@ -682,6 +681,10 @@ class Geometry(object): :type filename: str :param flip: Flip the object vertically. :type flip: bool + :param units: FlatCAM units + :param dpi: dots per inch on the imported image + :param mode: how to import the image: as 'black' or 'color' + :param mask: level of detail for the import :return: None """ scale_factor = 0.264583333 @@ -780,8 +783,7 @@ class Geometry(object): return boundary.difference(self.solid_geometry) @staticmethod - def clear_polygon(polygon, tooldia, steps_per_circle, overlap=0.15, connect=True, - contour=True): + def clear_polygon(polygon, tooldia, steps_per_circle, overlap=0.15, connect=True, contour=True): """ Creates geometry inside a polygon for a tool to cover the whole area. @@ -791,6 +793,7 @@ class Geometry(object): :param polygon: Polygon to clear. :param tooldia: Diameter of the tool. + :param steps_per_circle: number of linear segments to be used to approximate a circle :param overlap: Overlap of toolpasses. :param connect: Draw lines between disjoint segments to minimize tool lifts. @@ -875,6 +878,7 @@ class Geometry(object): the polygon. :param polygon_to_clear: Shapely.geometry.Polygon + :param steps_per_circle: how many linear segments to use to approximate a circle :param tooldia: Diameter of the tool :param seedpoint: Shapely.geometry.Point or None :param overlap: Tool fraction overlap bewteen passes @@ -916,8 +920,8 @@ class Geometry(object): if path.is_empty: break else: - #geoms.append(path) - #geoms.insert(path) + # geoms.append(path) + # geoms.insert(path) # path can be a collection of paths. try: for p in path: @@ -929,12 +933,14 @@ class Geometry(object): # Clean inside edges (contours) of the original polygon if contour: - outer_edges = [x.exterior for x in autolist(polygon_to_clear.buffer(-tooldia / 2, int(steps_per_circle / 4)))] + outer_edges = [x.exterior for x in autolist( + polygon_to_clear.buffer(-tooldia / 2, int(steps_per_circle / 4)))] inner_edges = [] - for x in autolist(polygon_to_clear.buffer(-tooldia / 2, int(steps_per_circle / 4))): # Over resulting polygons + # Over resulting polygons + for x in autolist(polygon_to_clear.buffer(-tooldia / 2, int(steps_per_circle / 4))): for y in x.interiors: # Over interiors of each polygon inner_edges.append(y) - #geoms += outer_edges + inner_edges + # geoms += outer_edges + inner_edges for g in outer_edges + inner_edges: geoms.insert(g) @@ -950,8 +956,7 @@ class Geometry(object): return geoms @staticmethod - def clear_polygon3(polygon, tooldia, steps_per_circle, overlap=0.15, connect=True, - contour=True): + def clear_polygon3(polygon, tooldia, steps_per_circle, overlap=0.15, connect=True, contour=True): """ Creates geometry inside a polygon for a tool to cover the whole area. @@ -961,6 +966,7 @@ class Geometry(object): :param polygon: The polygon being painted. :type polygon: shapely.geometry.Polygon :param tooldia: Tool diameter. + :param steps_per_circle: how many linear segments to use to approximate a circle :param overlap: Tool path overlap percentage. :param connect: Connect lines to avoid tool lifts. :param contour: Paint around the edges. @@ -1026,8 +1032,11 @@ class Geometry(object): """ Scales all of the object's geometry by a given factor. Override this method. - :param factor: Number by which to scale. - :type factor: float + :param xfactor: Number by which to scale on X axis. + :type xfactor: float + :param yfactor: Number by which to scale on Y axis. + :type yfactor: float + :param point: point to be used as reference for scaling; a tuple :return: None :rtype: None """ @@ -1055,6 +1064,7 @@ class Geometry(object): :type boundary: Polygon :param tooldia: Tool diameter. :rtype tooldia: float + :param steps_per_circle: how many linear segments to use to approximate a circle :param max_walk: Maximum allowable distance without lifting tool. :type max_walk: float or None :return: Optimized geometry. @@ -1094,7 +1104,7 @@ class Geometry(object): try: while True: path_count += 1 - #log.debug("Path %d" % path_count) + # log.debug("Path %d" % path_count) pt, candidate = storage.nearest(current_pt) storage.remove(candidate) @@ -1112,7 +1122,7 @@ class Geometry(object): walk_cut = walk_path.buffer(tooldia / 2, int(steps_per_circle / 4)) if walk_cut.within(boundary) and walk_path.length < max_walk: - #log.debug("Walk to path #%d is inside. Joining." % path_count) + # log.debug("Walk to path #%d is inside. Joining." % path_count) # Completely inside. Append... geo.coords = list(geo.coords) + list(candidate.coords) @@ -1136,7 +1146,7 @@ class Geometry(object): # pt, geo = storage.nearest(current_pt) except StopIteration: # Nothing left in storage. - #pass + # pass optimized_paths.insert(geo) return optimized_paths @@ -1273,7 +1283,7 @@ class Geometry(object): return 1.0 self.units = units - self.scale(factor) + self.scale(factor, factor) self.file_units_factor = factor return factor @@ -1370,7 +1380,7 @@ class Geometry(object): new_obj.append(mirror_geom(g)) return new_obj else: - return affinity.scale(obj, xscale, yscale, origin=(px,py)) + return affinity.scale(obj, xscale, yscale, origin=(px, py)) try: if self.multigeo is True: @@ -1534,7 +1544,7 @@ class ApertureMacro: # Separate parts parts = self.raw.split('*') - #### Every part in the macro ## ## + # ### Every part in the macro #### for part in parts: # ## Comments. Ignored. match = ApertureMacro.amcomm_re.search(part) @@ -2404,7 +2414,7 @@ class Gerber (Geometry): if match.group(2): # Append self.aperture_macros[current_macro].append(match.group(2)) if match.group(3): # Finish macro - #self.aperture_macros[current_macro].parse_content() + # self.aperture_macros[current_macro].parse_content() current_macro = None log.debug("Macro complete in 1 line.") continue @@ -2414,7 +2424,7 @@ class Gerber (Geometry): if match: # Finish macro log.debug("End of macro. Line %d." % line_num) self.aperture_macros[current_macro].append(match.group(1)) - #self.aperture_macros[current_macro].parse_content() + # self.aperture_macros[current_macro].parse_content() current_macro = None else: # Append self.aperture_macros[current_macro].append(gline) @@ -2592,7 +2602,7 @@ class Gerber (Geometry): # is not and error. if len(path) < 3: # print "ERROR: Path contains less than 3 points:" - #path = [[current_x, current_y]] + # path = [[current_x, current_y]] continue # For regions we may ignore an aperture that is None @@ -2765,8 +2775,8 @@ class Gerber (Geometry): 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)) + "File will be processed but there are parser errors. " + "Line number: %s") % str(line_num)) else: if last_path_aperture is None: log.warning("No aperture defined for curent path. (%d)" % line_num) @@ -2860,7 +2870,7 @@ class Gerber (Geometry): # this treats the case when we are storing geometry as solids flash = self.create_flash_geometry( - Point( [linear_x, linear_y]), + Point([linear_x, linear_y]), self.apertures[current_aperture], self.steps_per_circle ) @@ -3152,7 +3162,7 @@ class Gerber (Geometry): except Exception as err: ex_type, ex, tb = sys.exc_info() traceback.print_tb(tb) - #print traceback.format_exc() + # print traceback.format_exc() log.error("Gerber PARSING FAILED. Line %d: %s" % (line_num, gline)) loc = 'Gerber Line #%d Gerber Line Content: %s\n' % (line_num, gline) + repr(err) @@ -3323,8 +3333,10 @@ class Gerber (Geometry): are recreated, the scaling will be lost. This behavior was modified because of the complexity reached in this class. - :param factor: Number by which to scale. - :type factor: float + :param xfactor: Number by which to scale on X axis. + :type xfactor: float + :param yfactor: Number by which to scale on Y axis. + :type yfactor: float :rtype : None """ log.debug("camlib.Gerber.scale()") @@ -3380,7 +3392,6 @@ class Gerber (Geometry): self.app.inform.emit(_("[success] Gerber Scale done.")) - # ## solid_geometry ??? # It's a cascaded union of objects. # self.solid_geometry = affinity.scale(self.solid_geometry, factor, @@ -3506,7 +3517,7 @@ class Gerber (Geometry): Parameters ---------- - xs, ys : float, float + angle_x, angle_y : float, float The shear angle(s) for the x and y axes respectively. These can be specified in either degrees (default) or radians by setting use_radians=True. @@ -3697,7 +3708,7 @@ class Excellon(Geometry): 'excellon_format_upper_in', 'excellon_format_lower_in', 'excellon_units', 'slots', 'source_file'] - #### Patterns ## ## + # ### Patterns #### # Regex basics: # ^ - beginning # $ - end @@ -4509,24 +4520,26 @@ class Excellon(Geometry): :return: None """ self.solid_geometry = [] - try: # clear the solid_geometry in self.tools for tool in self.tools: - self.tools[tool]['solid_geometry'][:] = [] + try: + self.tools[tool]['solid_geometry'][:] = [] + except KeyError: + self.tools[tool]['solid_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 " - "due of not having a tool associated.\n" - "Check the resulting GCode.")) + "due of not having a tool associated.\n" + "Check the resulting GCode.")) log.debug("Excellon.create_geometry() -> a drill location was skipped " "due of not having a tool associated") continue tooldia = self.tools[drill['tool']]['C'] poly = drill['point'].buffer(tooldia / 2.0, int(int(self.geo_steps_per_circle) / 4)) - # self.solid_geometry.append(poly) + self.solid_geometry.append(poly) self.tools[drill['tool']]['solid_geometry'].append(poly) for slot in self.slots: @@ -4536,7 +4549,7 @@ class Excellon(Geometry): lines_string = LineString([start, stop]) poly = lines_string.buffer(slot_tooldia / 2.0, int(int(self.geo_steps_per_circle) / 4)) - # self.solid_geometry.append(poly) + self.solid_geometry.append(poly) self.tools[slot['tool']]['solid_geometry'].append(poly) except Exception as e: diff --git a/locale/de/LC_MESSAGES/strings.mo b/locale/de/LC_MESSAGES/strings.mo index 881f99b940116b45a0cfea7c34439e5a8327222f..2984db7c9893bd60f97c178862b44faf181b792d 100644 GIT binary patch delta 39498 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" "" -#: FlatCAMApp.py:3188 +#: FlatCAMApp.py:3187 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -188,32 +188,32 @@ msgstr "" "org/jpcgt/flatcam/src/Beta/\">hier.
DOWNLOAD-Bereich hier.
" -#: FlatCAMApp.py:3341 +#: FlatCAMApp.py:3340 msgid "[success] Defaults saved." msgstr "[success] Standardeinstellungen gespeichert." -#: FlatCAMApp.py:3362 +#: FlatCAMApp.py:3361 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "[ERROR_NOTCL] Factory-Standarddatei konnte nicht geladen werden." -#: FlatCAMApp.py:3371 +#: FlatCAMApp.py:3370 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "[ERROR_NOTCL] Fehler beim Parsen der Werksvorgaben-Datei." -#: FlatCAMApp.py:3385 +#: FlatCAMApp.py:3384 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" "[ERROR_NOTCL] Fehler beim Schreiben der Werkseinstellungen in die Datei." -#: FlatCAMApp.py:3389 +#: FlatCAMApp.py:3388 msgid "Factory defaults saved." msgstr "Werkseinstellungen gespeichert." -#: FlatCAMApp.py:3394 flatcamGUI/FlatCAMGUI.py:3106 +#: FlatCAMApp.py:3393 flatcamGUI/FlatCAMGUI.py:3106 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Anwendung speichert das Projekt. Warten Sie mal ..." -#: FlatCAMApp.py:3399 +#: FlatCAMApp.py:3398 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -221,11 +221,11 @@ msgstr "" "In FlatCAM wurden Dateien / Objekte geändert.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:3402 FlatCAMApp.py:5880 +#: FlatCAMApp.py:3401 FlatCAMApp.py:5879 msgid "Save changes" msgstr "Änderungen speichern" -#: FlatCAMApp.py:3469 +#: FlatCAMApp.py:3468 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -243,73 +243,73 @@ msgstr "" "und das Ergebnis entspricht möglicherweise nicht dem, was erwartet wurde.\n" "Überprüfen Sie den generierten GCODE." -#: FlatCAMApp.py:3510 +#: FlatCAMApp.py:3509 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Gescheitert. Die Verbindung von Excellon funktioniert nur bei " "Excellon-Objekten." -#: FlatCAMApp.py:3532 +#: FlatCAMApp.py:3531 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Gescheitert. Das Gerber-Verbinden funktioniert nur bei Gerber-" "Objekten." -#: FlatCAMApp.py:3547 FlatCAMApp.py:3572 +#: FlatCAMApp.py:3546 FlatCAMApp.py:3571 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" "[ERROR_NOTCL] Gescheitert. Wählen Sie ein Geometrieobjekt aus und versuchen " "Sie es erneut." -#: FlatCAMApp.py:3551 FlatCAMApp.py:3576 +#: FlatCAMApp.py:3550 FlatCAMApp.py:3575 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Erwartete eine FlatCAMGeometry, bekam % s" -#: FlatCAMApp.py:3564 +#: FlatCAMApp.py:3563 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Ein Geometrieobjekt wurde in den MultiGeo-Typ konvertiert." -#: FlatCAMApp.py:3590 +#: FlatCAMApp.py:3589 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Ein Geometrieobjekt wurde in den SingleGeo-Typ konvertiert." -#: FlatCAMApp.py:3737 FlatCAMApp.py:4573 FlatCAMApp.py:6155 FlatCAMApp.py:6166 -#: FlatCAMApp.py:6406 FlatCAMApp.py:6416 +#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6154 FlatCAMApp.py:6165 +#: FlatCAMApp.py:6405 FlatCAMApp.py:6415 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:3779 +#: FlatCAMApp.py:3778 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Einheiten in umgerechnet %s" -#: FlatCAMApp.py:3790 +#: FlatCAMApp.py:3789 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Einheitenumrechnung abgebrochen." -#: FlatCAMApp.py:4442 +#: FlatCAMApp.py:4441 msgid "Open file" msgstr "Datei öffnen" -#: FlatCAMApp.py:4473 FlatCAMApp.py:4478 +#: FlatCAMApp.py:4472 FlatCAMApp.py:4477 msgid "Export G-Code ..." msgstr "G-Code exportieren ..." -#: FlatCAMApp.py:4481 +#: FlatCAMApp.py:4480 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Exportcode wurde abgebrochen." -#: FlatCAMApp.py:4491 +#: FlatCAMApp.py:4490 msgid "[WARNING] No such file or directory" msgstr "[WARNING] Keine solche Datei oder Ordner" -#: FlatCAMApp.py:4498 +#: FlatCAMApp.py:4497 #, python-format msgid "Saved to: %s" msgstr "Gespeichert in: %s" -#: FlatCAMApp.py:4561 FlatCAMApp.py:4594 FlatCAMApp.py:4605 FlatCAMApp.py:4616 +#: FlatCAMApp.py:4560 FlatCAMApp.py:4593 FlatCAMApp.py:4604 FlatCAMApp.py:4615 #: flatcamTools/ToolNonCopperClear.py:489 flatcamTools/ToolSolderPaste.py:765 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " @@ -318,12 +318,12 @@ msgstr "" "[WARNING_NOTCL] Bitte geben Sie einen Werkzeugdurchmesser mit einem Wert " "ungleich Null im Float-Format ein." -#: FlatCAMApp.py:4566 FlatCAMApp.py:4599 FlatCAMApp.py:4610 FlatCAMApp.py:4621 +#: FlatCAMApp.py:4565 FlatCAMApp.py:4598 FlatCAMApp.py:4609 FlatCAMApp.py:4620 #: flatcamGUI/FlatCAMGUI.py:3001 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Addierwerkzeug abgebrochen ..." -#: FlatCAMApp.py:4569 +#: FlatCAMApp.py:4568 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -332,35 +332,35 @@ msgstr "" "ist.\n" "Gehen Sie zu Einstellungen -> Allgemein - Erweiterte Optionen anzeigen." -#: FlatCAMApp.py:4682 +#: FlatCAMApp.py:4681 msgid "Object(s) deleted ..." msgstr "Objekt (e) gelöscht ..." -#: FlatCAMApp.py:4686 +#: FlatCAMApp.py:4685 msgid "Failed. No object(s) selected..." msgstr "Gescheitert. Kein Objekt ausgewählt ..." -#: FlatCAMApp.py:4688 +#: FlatCAMApp.py:4687 msgid "Save the work in Editor and try again ..." msgstr "Speichern Sie die Arbeit im Editor und versuchen Sie es erneut ..." -#: FlatCAMApp.py:4701 +#: FlatCAMApp.py:4700 msgid "Click to set the origin ..." msgstr "Klicken Sie hier, um den Ursprung festzulegen ..." -#: FlatCAMApp.py:4713 +#: FlatCAMApp.py:4712 msgid "Jump to ..." msgstr "Springen zu ..." -#: FlatCAMApp.py:4714 +#: FlatCAMApp.py:4713 msgid "Enter the coordinates in format X,Y:" msgstr "Geben Sie die Koordinaten im Format X, Y ein:" -#: FlatCAMApp.py:4721 +#: FlatCAMApp.py:4720 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Falsche Koordinaten. Koordinaten im Format eingeben: X, Y" -#: FlatCAMApp.py:4739 flatcamEditors/FlatCAMExcEditor.py:2320 +#: FlatCAMApp.py:4738 flatcamEditors/FlatCAMExcEditor.py:2320 #: flatcamEditors/FlatCAMExcEditor.py:2327 #: flatcamEditors/FlatCAMGeoEditor.py:3645 #: flatcamEditors/FlatCAMGeoEditor.py:3659 @@ -374,91 +374,91 @@ msgstr "Falsche Koordinaten. Koordinaten im Format eingeben: X, Y" msgid "[success] Done." msgstr "[success] Erledigt." -#: FlatCAMApp.py:4871 FlatCAMApp.py:4938 +#: FlatCAMApp.py:4870 FlatCAMApp.py:4937 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" "[WARNING_NOTCL] Es ist kein Objekt ausgewählt. Wählen Sie ein Objekt und " "versuchen Sie es erneut." -#: FlatCAMApp.py:4979 +#: FlatCAMApp.py:4978 msgid "[success] Origin set ..." msgstr "[success] Ursprung gesetzt ..." -#: FlatCAMApp.py:4999 +#: FlatCAMApp.py:4998 msgid "Preferences" msgstr "Einstellungen" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5018 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:5044 +#: FlatCAMApp.py:5043 msgid "[success] Flip on Y axis done." msgstr "[success] Y-Achse umdrehen fertig." -#: FlatCAMApp.py:5046 FlatCAMApp.py:5086 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5085 #: flatcamEditors/FlatCAMGeoEditor.py:1355 #: flatcamEditors/FlatCAMGrbEditor.py:5331 flatcamTools/ToolTransform.py:748 #, 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:5059 +#: FlatCAMApp.py:5058 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:5084 +#: FlatCAMApp.py:5083 msgid "[success] Flip on X axis done." msgstr "[success] Dreh auf der X-Achse fertig." -#: FlatCAMApp.py:5099 +#: FlatCAMApp.py:5098 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Kein Objekt zum Drehen ausgewählt." -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Transform" msgstr "Verwandeln" -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Enter the Angle value:" msgstr "Geben Sie den Winkelwert ein:" -#: FlatCAMApp.py:5132 +#: FlatCAMApp.py:5131 msgid "[success] Rotation done." msgstr "[success] Rotation erfolgt." -#: FlatCAMApp.py:5134 flatcamEditors/FlatCAMGeoEditor.py:1298 +#: FlatCAMApp.py:5133 flatcamEditors/FlatCAMGeoEditor.py:1298 #: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamTools/ToolTransform.py:677 #, 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:5145 +#: FlatCAMApp.py:5144 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:5166 +#: FlatCAMApp.py:5165 msgid "[success] Skew on X axis done." msgstr "[success] Neigung auf der X-Achse fertig." -#: FlatCAMApp.py:5176 +#: FlatCAMApp.py:5175 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:5197 +#: FlatCAMApp.py:5196 msgid "[success] Skew on Y axis done." msgstr "[success] Neigung auf der Y-Achse fertig." -#: FlatCAMApp.py:5266 +#: FlatCAMApp.py:5265 msgid "Grid On/Off" msgstr "Raster ein/aus" -#: FlatCAMApp.py:5279 flatcamEditors/FlatCAMGeoEditor.py:937 +#: FlatCAMApp.py:5278 flatcamEditors/FlatCAMGeoEditor.py:937 #: flatcamEditors/FlatCAMGrbEditor.py:2381 #: flatcamEditors/FlatCAMGrbEditor.py:4853 flatcamGUI/ObjectUI.py:991 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:208 @@ -468,7 +468,7 @@ msgstr "Raster ein/aus" msgid "Add" msgstr "Hinzufügen" -#: FlatCAMApp.py:5280 FlatCAMObj.py:3306 +#: FlatCAMApp.py:5279 FlatCAMObj.py:3270 #: flatcamEditors/FlatCAMGrbEditor.py:2386 flatcamGUI/FlatCAMGUI.py:527 #: flatcamGUI/FlatCAMGUI.py:724 flatcamGUI/FlatCAMGUI.py:1616 #: flatcamGUI/FlatCAMGUI.py:1953 flatcamGUI/ObjectUI.py:1007 @@ -477,15 +477,15 @@ msgstr "Hinzufügen" msgid "Delete" msgstr "Löschen" -#: FlatCAMApp.py:5293 +#: FlatCAMApp.py:5292 msgid "New Grid ..." msgstr "Neues Raster ..." -#: FlatCAMApp.py:5294 +#: FlatCAMApp.py:5293 msgid "Enter a Grid Value:" msgstr "Geben Sie einen Rasterwert ein:" -#: FlatCAMApp.py:5302 FlatCAMApp.py:5329 +#: FlatCAMApp.py:5301 FlatCAMApp.py:5328 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -493,48 +493,48 @@ msgstr "" "[WARNING_NOTCL] Bitte geben Sie im Float-Format einen Rasterwert mit einem " "Wert ungleich Null ein." -#: FlatCAMApp.py:5308 +#: FlatCAMApp.py:5307 msgid "[success] New Grid added ..." msgstr "[success] Neues Netz hinzugefügt ..." -#: FlatCAMApp.py:5311 +#: FlatCAMApp.py:5310 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Netz existiert bereits ..." -#: FlatCAMApp.py:5314 +#: FlatCAMApp.py:5313 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Neues Netz wurde abgebrochen ..." -#: FlatCAMApp.py:5336 +#: FlatCAMApp.py:5335 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Rasterwert existiert nicht ..." -#: FlatCAMApp.py:5339 +#: FlatCAMApp.py:5338 msgid "[success] Grid Value deleted ..." msgstr "[success] Rasterwert gelöscht ..." -#: FlatCAMApp.py:5342 +#: FlatCAMApp.py:5341 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Rasterwert löschen abgebrochen ..." -#: FlatCAMApp.py:5381 +#: FlatCAMApp.py:5380 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] Kein Objekt zum Kopieren des Namens ausgewählt" -#: FlatCAMApp.py:5385 +#: FlatCAMApp.py:5384 msgid "Name copied on clipboard ..." msgstr "Name in Zwischenablage kopiert ..." -#: FlatCAMApp.py:5678 FlatCAMApp.py:5681 FlatCAMApp.py:5684 FlatCAMApp.py:5687 -#: FlatCAMApp.py:5702 FlatCAMApp.py:5705 FlatCAMApp.py:5708 FlatCAMApp.py:5711 -#: FlatCAMApp.py:5751 FlatCAMApp.py:5754 FlatCAMApp.py:5757 FlatCAMApp.py:5760 +#: FlatCAMApp.py:5677 FlatCAMApp.py:5680 FlatCAMApp.py:5683 FlatCAMApp.py:5686 +#: FlatCAMApp.py:5701 FlatCAMApp.py:5704 FlatCAMApp.py:5707 FlatCAMApp.py:5710 +#: FlatCAMApp.py:5750 FlatCAMApp.py:5753 FlatCAMApp.py:5756 FlatCAMApp.py:5759 #: ObjectCollection.py:719 ObjectCollection.py:722 ObjectCollection.py:725 #: ObjectCollection.py:728 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} ausgewählt" -#: FlatCAMApp.py:5877 +#: FlatCAMApp.py:5876 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -544,112 +544,112 @@ msgstr "" "Wenn Sie ein neues Projekt erstellen, werden diese gelöscht.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:5898 +#: FlatCAMApp.py:5897 msgid "[success] New Project created..." msgstr "[success] Neues Projekt erstellt ..." -#: FlatCAMApp.py:6014 FlatCAMApp.py:6017 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:6022 +#: FlatCAMApp.py:6021 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Offener Gerber abgebrochen." -#: FlatCAMApp.py:6043 FlatCAMApp.py:6046 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "Excellon öffnen" -#: FlatCAMApp.py:6051 +#: FlatCAMApp.py:6050 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Offener Excellon abgebrochen." -#: FlatCAMApp.py:6073 FlatCAMApp.py:6076 +#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 msgid "Open G-Code" msgstr "G-Code öffnen" -#: FlatCAMApp.py:6081 +#: FlatCAMApp.py:6080 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Geöffneter G-Code wurde abgebrochen." -#: FlatCAMApp.py:6099 FlatCAMApp.py:6102 +#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 msgid "Open Project" msgstr "Offenes Projekt" -#: FlatCAMApp.py:6110 +#: FlatCAMApp.py:6109 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Projekt abbrechen abgebrochen." -#: FlatCAMApp.py:6129 FlatCAMApp.py:6132 +#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 msgid "Open Configuration File" msgstr "Offene Einstellungsdatei" -#: FlatCAMApp.py:6136 +#: FlatCAMApp.py:6135 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Offene Konfiguration abgebrochen." -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 FlatCAMApp.py:8552 FlatCAMApp.py:8572 -#: FlatCAMApp.py:8593 FlatCAMApp.py:8615 +#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 +#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt" -#: FlatCAMApp.py:6152 FlatCAMApp.py:6403 +#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 msgid "Please Select a Geometry object to export" msgstr "Bitte wählen Sie ein Geometrieobjekt zum Exportieren aus" -#: FlatCAMApp.py:6163 +#: FlatCAMApp.py:6162 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:6176 FlatCAMApp.py:6180 +#: FlatCAMApp.py:6175 FlatCAMApp.py:6179 msgid "Export SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:6185 +#: FlatCAMApp.py:6184 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Export SVG abgebrochen." -#: FlatCAMApp.py:6204 +#: FlatCAMApp.py:6203 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:6210 FlatCAMApp.py:6214 +#: FlatCAMApp.py:6209 FlatCAMApp.py:6213 msgid "Export PNG Image" msgstr "PNG-Bild exportieren" -#: FlatCAMApp.py:6219 +#: FlatCAMApp.py:6218 msgid "Export PNG cancelled." msgstr "Export PNG abgebrochen." -#: FlatCAMApp.py:6238 +#: FlatCAMApp.py:6237 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6243 FlatCAMApp.py:6366 +#: FlatCAMApp.py:6242 FlatCAMApp.py:6365 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Fehlgeschlagen. Nur Gerber-Objekte können als Gerber-Dateien " "gespeichert werden ..." -#: FlatCAMApp.py:6255 +#: FlatCAMApp.py:6254 msgid "Save Gerber source file" msgstr "Gerber-Quelldatei speichern" -#: FlatCAMApp.py:6260 +#: FlatCAMApp.py:6259 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Gerber Quelldatei speichern abgebrochen." -#: FlatCAMApp.py:6279 +#: FlatCAMApp.py:6278 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -657,22 +657,22 @@ msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt Bitte wählen Sie ein Excellon-Objekt " "zum Exportieren aus." -#: FlatCAMApp.py:6284 FlatCAMApp.py:6325 +#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Fehlgeschlagen. Nur Excellon-Objekte können als Excellon-" "Dateien gespeichert werden ..." -#: FlatCAMApp.py:6292 FlatCAMApp.py:6296 +#: FlatCAMApp.py:6291 FlatCAMApp.py:6295 msgid "Save Excellon source file" msgstr "Speichern Sie die Excellon-Quelldatei" -#: FlatCAMApp.py:6301 +#: FlatCAMApp.py:6300 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Speichern der Excellon-Quelldatei abgebrochen." -#: FlatCAMApp.py:6320 +#: FlatCAMApp.py:6319 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -680,70 +680,70 @@ msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Excellon-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6333 FlatCAMApp.py:6337 +#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 msgid "Export Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:6342 +#: FlatCAMApp.py:6341 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Export Excellon wurde abgebrochen." -#: FlatCAMApp.py:6361 +#: FlatCAMApp.py:6360 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Gerber-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6374 FlatCAMApp.py:6378 +#: FlatCAMApp.py:6373 FlatCAMApp.py:6377 msgid "Export Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:6383 +#: FlatCAMApp.py:6382 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Export Gerber abgebrochen." -#: FlatCAMApp.py:6413 +#: FlatCAMApp.py:6412 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Es können nur Geometrieobjekte verwendet werden." -#: FlatCAMApp.py:6427 FlatCAMApp.py:6431 +#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 msgid "Export DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:6437 +#: FlatCAMApp.py:6436 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Export DXF wurde abgebrochen." -#: FlatCAMApp.py:6457 FlatCAMApp.py:6460 +#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 msgid "Import SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:6469 +#: FlatCAMApp.py:6468 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Open SVG abgebrochen." -#: FlatCAMApp.py:6488 FlatCAMApp.py:6492 +#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 msgid "Import DXF" msgstr "Importieren Sie DXF" -#: FlatCAMApp.py:6501 +#: FlatCAMApp.py:6500 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Open DXF cancelled." -#: FlatCAMApp.py:6519 +#: FlatCAMApp.py:6518 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6539 +#: FlatCAMApp.py:6538 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Wählen Sie eine Gerber- oder Excellon-Datei aus, um die " "Quelldatei anzuzeigen." -#: FlatCAMApp.py:6546 +#: FlatCAMApp.py:6545 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -751,25 +751,25 @@ msgstr "" "[WARNING_NOTCL] Es gibt kein ausgewähltes Objekt, für das man seinen " "Quelldateien sehen kann." -#: FlatCAMApp.py:6554 +#: FlatCAMApp.py:6553 msgid "Source Editor" msgstr "Quelleditor" -#: FlatCAMApp.py:6564 +#: FlatCAMApp.py:6563 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:6576 FlatCAMApp.py:7718 FlatCAMObj.py:5587 +#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "Code-Editor" -#: FlatCAMApp.py:6588 +#: FlatCAMApp.py:6587 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6590 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -813,98 +813,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:6614 FlatCAMApp.py:6617 +#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 msgid "Open TCL script" msgstr "Öffnen Sie das TCL-Skript" -#: FlatCAMApp.py:6625 +#: FlatCAMApp.py:6624 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Open TCL-Skript wurde abgebrochen." -#: FlatCAMApp.py:6637 +#: FlatCAMApp.py:6636 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:6663 FlatCAMApp.py:6666 +#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 msgid "Run TCL script" msgstr "Führen Sie das TCL-Skript aus" -#: FlatCAMApp.py:6674 +#: FlatCAMApp.py:6673 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Das TCL-Skript wird abgebrochen." -#: FlatCAMApp.py:6724 FlatCAMApp.py:6728 +#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 msgid "Save Project As ..." msgstr "Projekt speichern als ..." -#: FlatCAMApp.py:6725 +#: FlatCAMApp.py:6724 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Projekt_{date}" -#: FlatCAMApp.py:6733 +#: FlatCAMApp.py:6732 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Projekt speichern abgebrochen" -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6776 msgid "Exporting SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:6811 FlatCAMApp.py:6917 FlatCAMApp.py:7032 +#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] SVG-Datei in exportiert %s" -#: FlatCAMApp.py:6842 FlatCAMApp.py:6963 +#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Kein Objektfeld. Stattdessen verwenden %s" -#: FlatCAMApp.py:6920 FlatCAMApp.py:7035 +#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 msgid "Generating Film ... Please wait." msgstr "Film wird erstellt ... Bitte warten Sie." -#: FlatCAMApp.py:7183 +#: FlatCAMApp.py:7182 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excellon-Datei nach exportiert %s" -#: FlatCAMApp.py:7190 +#: FlatCAMApp.py:7189 msgid "Exporting Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:7195 FlatCAMApp.py:7202 +#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Excellon-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7300 +#: FlatCAMApp.py:7299 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Gerber-Datei in exportiert %s" -#: FlatCAMApp.py:7307 +#: FlatCAMApp.py:7306 msgid "Exporting Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:7312 FlatCAMApp.py:7319 +#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Gerber-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7359 +#: FlatCAMApp.py:7358 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] DXF-Datei in exportiert %s" -#: FlatCAMApp.py:7365 +#: FlatCAMApp.py:7364 msgid "Exporting DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:7370 FlatCAMApp.py:7377 +#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[WARNING_NOTCL] DXF-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7397 FlatCAMApp.py:7439 FlatCAMApp.py:7483 +#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -912,99 +912,99 @@ msgstr "" "[ERROR_NOTCL] Nicht unterstützte Art wird als Parameter ausgewählt. Nur " "Geometrie und Gerber werden unterstützt" -#: FlatCAMApp.py:7407 +#: FlatCAMApp.py:7406 msgid "Importing SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:7418 FlatCAMApp.py:7460 FlatCAMApp.py:7503 FlatCAMApp.py:7580 -#: FlatCAMApp.py:7641 FlatCAMApp.py:7704 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 +#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Geöffnet: %s" -#: FlatCAMApp.py:7449 +#: FlatCAMApp.py:7448 msgid "Importing DXF" msgstr "DXF importieren" -#: FlatCAMApp.py:7491 +#: FlatCAMApp.py:7490 msgid "Importing Image" msgstr "Bild importieren" -#: FlatCAMApp.py:7532 FlatCAMApp.py:7534 +#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Datei konnte nicht geöffnet werden: %s" -#: FlatCAMApp.py:7537 +#: FlatCAMApp.py:7536 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Fehler beim Parsen der Datei: {name}. {error}" -#: FlatCAMApp.py:7544 FlatCAMObj.py:4266 +#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 #: flatcamEditors/FlatCAMExcEditor.py:2077 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" -#: FlatCAMApp.py:7553 +#: FlatCAMApp.py:7552 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Objekt ist keine Gerber-Datei oder leer. Abbruch der " "Objekterstellung" -#: FlatCAMApp.py:7561 +#: FlatCAMApp.py:7560 msgid "Opening Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:7571 +#: FlatCAMApp.py:7570 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Gerber öffnen ist fehlgeschlagen. Wahrscheinlich keine Gerber-" "Datei." -#: FlatCAMApp.py:7604 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Dies ist keine Excellon-Datei." -#: FlatCAMApp.py:7607 +#: FlatCAMApp.py:7606 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Kann Datei nicht öffnen: %s" -#: FlatCAMApp.py:7612 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "[ERROR_NOTCL] Ein interner Fehler ist aufgetreten. Siehe Shell.\n" -#: FlatCAMApp.py:7625 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7624 flatcamTools/ToolPDF.py:262 #: flatcamTools/ToolPcbWizard.py:442 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] Keine Geometrie in der Datei gefunden: %s" -#: FlatCAMApp.py:7628 +#: FlatCAMApp.py:7627 msgid "Opening Excellon." msgstr "Eröffnung Excellon." -#: FlatCAMApp.py:7634 +#: FlatCAMApp.py:7633 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Die Excellon-Datei konnte nicht geöffnet werden. " "Wahrscheinlich keine Excellon-Datei." -#: FlatCAMApp.py:7671 +#: FlatCAMApp.py:7670 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Gescheitert zu öffnen %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7680 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Dies ist kein GCODE" -#: FlatCAMApp.py:7687 +#: FlatCAMApp.py:7686 msgid "Opening G-Code." msgstr "G-Code öffnen." -#: FlatCAMApp.py:7695 +#: FlatCAMApp.py:7694 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1015,26 +1015,26 @@ msgstr "" "Der Versuch, ein FlatCAM-CNCJob-Objekt aus einer G-Code-Datei zu erstellen, " "ist während der Verarbeitung fehlgeschlagen" -#: FlatCAMApp.py:7735 +#: FlatCAMApp.py:7734 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Fehler beim Öffnen der Konfigurationsdatei: %s" -#: FlatCAMApp.py:7761 FlatCAMApp.py:7778 +#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Projektdatei konnte nicht geöffnet werden: %s" -#: FlatCAMApp.py:7801 +#: FlatCAMApp.py:7800 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Projekt geladen von: %s" -#: FlatCAMApp.py:7906 +#: FlatCAMApp.py:7905 msgid "Available commands:\n" msgstr "Verfügbare Befehle:\n" -#: FlatCAMApp.py:7908 +#: FlatCAMApp.py:7907 msgid "" "\n" "\n" @@ -1046,28 +1046,28 @@ msgstr "" "Geben Sie help für die Verwendung ein.\n" "Beispiel: help open_gerber" -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8057 msgid "Shows list of commands." msgstr "Zeigt eine Liste von Befehlen an." -#: FlatCAMApp.py:8115 +#: FlatCAMApp.py:8114 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Fehler beim Laden der letzten Elementliste." -#: FlatCAMApp.py:8122 +#: FlatCAMApp.py:8121 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "" "[ERROR_NOTCL] Liste der letzten Artikel konnte nicht analysiert werden." -#: FlatCAMApp.py:8166 +#: FlatCAMApp.py:8165 msgid "Clear Recent files" msgstr "Letzte Dateien löschen" -#: FlatCAMApp.py:8183 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr " Liste der Tastenkombinationen " -#: FlatCAMApp.py:8190 +#: FlatCAMApp.py:8189 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1167,27 +1167,27 @@ msgstr "" "strong> oder über eine eigene Tastenkombination: F3. " "

" -#: FlatCAMApp.py:8294 +#: FlatCAMApp.py:8293 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Fehler bei der Suche nach der neuesten Version. Konnte keine " "Verbindung herstellen." -#: FlatCAMApp.py:8301 +#: FlatCAMApp.py:8300 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] Informationen zur neuesten Version konnten nicht analysiert " "werden." -#: FlatCAMApp.py:8311 +#: FlatCAMApp.py:8310 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM ist auf dem neuesten Version!" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8315 msgid "Newer Version Available" msgstr "Neuere Version verfügbar" -#: FlatCAMApp.py:8317 +#: FlatCAMApp.py:8316 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1195,58 +1195,58 @@ msgstr "" "Es gibt eine neuere Version von FlatCAM zum Download:\n" "\n" -#: FlatCAMApp.py:8319 +#: FlatCAMApp.py:8318 msgid "info" msgstr "Info" -#: FlatCAMApp.py:8338 +#: FlatCAMApp.py:8337 msgid "[success] All plots disabled." msgstr "[success] Alle Diagramme sind deaktiviert." -#: FlatCAMApp.py:8344 +#: FlatCAMApp.py:8343 msgid "[success] All non selected plots disabled." msgstr "[success] Alle nicht ausgewählten Diagramme sind deaktiviert." -#: FlatCAMApp.py:8350 +#: FlatCAMApp.py:8349 msgid "[success] All plots enabled." msgstr "[success] Alle Diagramme aktiviert." -#: FlatCAMApp.py:8356 +#: FlatCAMApp.py:8355 msgid "[success] Selected plots enabled..." msgstr "[success] Ausgewählte Grundstücke aktiviert ..." -#: FlatCAMApp.py:8364 +#: FlatCAMApp.py:8363 msgid "[success] Selected plots disabled..." msgstr "[success] Ausgewählte Grundstücke deaktiviert ..." -#: FlatCAMApp.py:8374 FlatCAMApp.py:8387 +#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 msgid "Working ..." msgstr "Arbeiten ..." -#: FlatCAMApp.py:8421 +#: FlatCAMApp.py:8420 msgid "Saving FlatCAM Project" msgstr "FlatCAM-Projekt speichern" -#: FlatCAMApp.py:8442 FlatCAMApp.py:8473 +#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Projekt gespeichert in: %s" -#: FlatCAMApp.py:8460 +#: FlatCAMApp.py:8459 #, 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:8467 +#: FlatCAMApp.py:8466 #, 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:8475 +#: FlatCAMApp.py:8474 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" @@ -1258,20 +1258,20 @@ msgstr "" msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name geändert von {old} zu {new}" -#: FlatCAMObj.py:546 FlatCAMObj.py:2031 FlatCAMObj.py:3311 FlatCAMObj.py:5484 +#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:558 FlatCAMObj.py:2047 FlatCAMObj.py:3333 FlatCAMObj.py:5490 +#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 msgid "Advanced" msgstr "Erweitert" -#: FlatCAMObj.py:921 FlatCAMObj.py:976 +#: FlatCAMObj.py:920 FlatCAMObj.py:975 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Isolationsgeometrie erstellt: %s" -#: FlatCAMObj.py:1155 +#: FlatCAMObj.py:1154 msgid "Plotting Apertures" msgstr "Plotten Apertures" @@ -1283,9 +1283,9 @@ msgstr "Bohrungen insgesamt" msgid "Total Slots" msgstr "Schlitz insgesamt" -#: FlatCAMObj.py:2103 FlatCAMObj.py:3384 FlatCAMObj.py:3682 FlatCAMObj.py:3869 -#: FlatCAMObj.py:3882 FlatCAMObj.py:3999 FlatCAMObj.py:4416 FlatCAMObj.py:4654 -#: FlatCAMObj.py:5067 flatcamEditors/FlatCAMExcEditor.py:1474 +#: FlatCAMObj.py:2103 FlatCAMObj.py:3348 FlatCAMObj.py:3646 FlatCAMObj.py:3833 +#: FlatCAMObj.py:3846 FlatCAMObj.py:3963 FlatCAMObj.py:4380 FlatCAMObj.py:4618 +#: FlatCAMObj.py:5031 flatcamEditors/FlatCAMExcEditor.py:1474 #: flatcamTools/ToolCalculators.py:307 flatcamTools/ToolCalculators.py:318 #: flatcamTools/ToolCalculators.py:330 flatcamTools/ToolCalculators.py:345 #: flatcamTools/ToolCalculators.py:358 flatcamTools/ToolCalculators.py:372 @@ -1345,7 +1345,7 @@ msgstr "" "[ERROR_NOTCL] Das Fräswerkzeug für SCHLITZ ist größer als die Lochgröße. " "Abgebrochen." -#: FlatCAMObj.py:2602 FlatCAMObj.py:4304 FlatCAMObj.py:4520 FlatCAMObj.py:4837 +#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" @@ -1353,7 +1353,7 @@ msgstr "" "[ERROR_NOTCL] Falsches Wertformat für self.defaults [\"z_pdepth\"] oder self." "options [\"z_pdepth\"]" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4316 FlatCAMObj.py:4532 FlatCAMObj.py:4849 +#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" @@ -1361,12 +1361,12 @@ msgstr "" "[ERROR_NOTCL] Falsches Wertformat für self.defaults [\"feedrate_probe\"] " "oder self.options [\"feedrate_probe\"]" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4725 FlatCAMObj.py:4730 FlatCAMObj.py:4880 +#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 msgid "Generating CNC Code" msgstr "CNC-Code generieren" -#: FlatCAMObj.py:2672 FlatCAMObj.py:5026 camlib.py:5151 camlib.py:5610 -#: camlib.py:5873 +#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 +#: camlib.py:5886 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1376,62 +1376,62 @@ msgstr "" "muss das Format (x, y) haben.\n" "Aber jetzt gibt es nur einen Wert, nicht zwei." -#: FlatCAMObj.py:3020 FlatCAMObj.py:3925 FlatCAMObj.py:3926 FlatCAMObj.py:3935 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:3020 FlatCAMObj.py:3269 FlatCAMObj.py:3549 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 msgid "Rough" msgstr "Rau" -#: FlatCAMObj.py:3020 +#: FlatCAMObj.py:2984 msgid "Finish" msgstr "Oberfläche" -#: FlatCAMObj.py:3304 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 #: flatcamGUI/FlatCAMGUI.py:1615 flatcamGUI/FlatCAMGUI.py:1951 #: flatcamGUI/ObjectUI.py:999 msgid "Copy" msgstr "Kopieren" -#: FlatCAMObj.py:3519 +#: FlatCAMObj.py:3483 msgid "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." msgstr "" "[ERROR_NOTCL] Bitte geben Sie den gewünschten Werkzeugdurchmesser im Real-" "Format ein." -#: FlatCAMObj.py:3592 +#: FlatCAMObj.py:3556 msgid "[success] Tool added in Tool Table." msgstr "[success] Werkzeug in der Werkzeugtabelle hinzugefügt." -#: FlatCAMObj.py:3597 +#: FlatCAMObj.py:3561 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "" "[ERROR_NOTCL] Standardwerkzeug hinzugefügt Falsches Wertformat eingegeben." -#: FlatCAMObj.py:3627 FlatCAMObj.py:3637 +#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "" "[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Kopieren aus." -#: FlatCAMObj.py:3666 +#: FlatCAMObj.py:3630 msgid "[success] Tool was copied in Tool Table." msgstr "[success] Das Werkzeug wurde in die Werkzeugtabelle kopiert." -#: FlatCAMObj.py:3699 +#: FlatCAMObj.py:3663 msgid "[success] Tool was edited in Tool Table." msgstr "[success] Das Werkzeug wurde in der Werkzeugtabelle bearbeitet." -#: FlatCAMObj.py:3730 FlatCAMObj.py:3740 +#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "" "[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen aus." -#: FlatCAMObj.py:3764 +#: FlatCAMObj.py:3728 msgid "[success] Tool was deleted in Tool Table." msgstr "[success] Werkzeug wurde in der Werkzeugtabelle gelöscht." -#: FlatCAMObj.py:4185 +#: FlatCAMObj.py:4149 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." @@ -1439,24 +1439,24 @@ msgstr "" "[WARNING_NOTCL] Diese Geometrie kann nicht verarbeitet werden, da es sich um " "%s Geometrie handelt." -#: FlatCAMObj.py:4202 +#: FlatCAMObj.py:4166 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:4229 +#: FlatCAMObj.py:4193 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "" "[ERROR_NOTCL] Gescheitert. Kein Werkzeug in der Werkzeugtabelle " "ausgewählt ..." -#: FlatCAMObj.py:4267 +#: FlatCAMObj.py:4231 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -#: FlatCAMObj.py:4425 FlatCAMObj.py:4663 +#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 msgid "" "[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." @@ -1465,22 +1465,22 @@ msgstr "" "jedoch kein Wert angegeben.\n" "Fügen Sie einen Werkzeugversatz hinzu oder ändern Sie den Versatztyp." -#: FlatCAMObj.py:4544 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4508 flatcamTools/ToolSolderPaste.py:1107 #: flatcamTools/ToolSolderPaste.py:1162 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." -#: FlatCAMObj.py:4913 FlatCAMObj.py:4923 camlib.py:3335 camlib.py:3344 +#: FlatCAMObj.py:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] Der Skalierungsfaktor muss eine Zahl sein: Ganzzahl oder " "Fließkommazahl." -#: FlatCAMObj.py:4961 +#: FlatCAMObj.py:4925 msgid "[success] Geometry Scale done." msgstr "[success] Geometrie Skalierung fertig." -#: FlatCAMObj.py:4978 camlib.py:3414 +#: FlatCAMObj.py:4942 camlib.py:3425 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1488,29 +1488,29 @@ msgstr "" "[ERROR_NOTCL] Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben Sie " "im Feld Offset nur einen Wert eingegeben." -#: FlatCAMObj.py:4998 +#: FlatCAMObj.py:4962 msgid "[success] Geometry Offset done." msgstr "[success] Geometrie Offset fertig." -#: FlatCAMObj.py:5552 FlatCAMObj.py:5557 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "Maschinencode exportieren ..." -#: FlatCAMObj.py:5563 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." -#: FlatCAMObj.py:5576 +#: FlatCAMObj.py:5540 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Maschinencode-Datei gespeichert in: %s" -#: FlatCAMObj.py:5598 +#: FlatCAMObj.py:5562 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5715 +#: FlatCAMObj.py:5679 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1519,11 +1519,11 @@ msgstr "" "[WARNING_NOTCL] Dieses CNC-Auftrag Objekt kann nicht verarbeitet werden, da " "es sich um ein %s CNC-Auftrag Objekt handelt." -#: FlatCAMObj.py:5768 +#: FlatCAMObj.py:5732 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:5781 +#: FlatCAMObj.py:5745 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1531,17 +1531,17 @@ msgstr "" "[ERROR_NOTCL] Abgebrochen. Der benutzerdefinierte Code zum Ändern des " "Werkzeugs ist aktiviert, aber er ist leer." -#: FlatCAMObj.py:5788 +#: FlatCAMObj.py:5752 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:5803 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5767 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Keine solche Datei oder Ordner" -#: FlatCAMObj.py:5823 FlatCAMObj.py:5835 +#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1549,7 +1549,7 @@ msgstr "" "[WARNING_NOTCL] Die verwendete Postprozessor-Datei muss im Namen enthalten " "sein: 'toolchange_custom'" -#: FlatCAMObj.py:5841 +#: FlatCAMObj.py:5805 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Es gibt keine Postprozessor-Datei." @@ -1563,47 +1563,47 @@ msgstr "Objekt umbenannt von {old} zu {new}" msgid "[ERROR] Cause of error: %s" msgstr "[ERROR] Fehlerursache: %s" -#: camlib.py:198 +#: camlib.py:197 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:1381 +#: camlib.py:1391 msgid "[success] Object was mirrored ..." msgstr "[success] Objekt wurde gespiegelt ..." -#: camlib.py:1383 +#: camlib.py:1393 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Spiegelung fehlgeschlagen Kein Objekt ausgewählt" -#: camlib.py:1419 +#: camlib.py:1429 msgid "[success] Object was rotated ..." msgstr "[success] Objekt wurde gedreht ..." -#: camlib.py:1421 +#: camlib.py:1431 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Fehler beim Drehen. Kein Objekt ausgewählt" -#: camlib.py:1455 +#: camlib.py:1465 msgid "[success] Object was skewed ..." msgstr "[success] Objekt war schief ..." -#: camlib.py:1457 +#: camlib.py:1467 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Fehler beim Neigen Kein Objekt ausgewählt" -#: camlib.py:2717 camlib.py:2802 +#: camlib.py:2727 camlib.py:2812 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Koordinaten fehlen, Zeile wird ignoriert: %s" -#: camlib.py:2718 camlib.py:2803 +#: camlib.py:2728 camlib.py:2813 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:2767 +#: camlib.py:2777 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1612,7 +1612,7 @@ msgstr "" "[ERROR] Region hat nicht genug Punkte. Die Datei wird verarbeitet, es treten " "jedoch Parserfehler auf. Linien Nummer: %s" -#: camlib.py:3159 +#: camlib.py:3169 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1621,32 +1621,32 @@ msgstr "" "[ERROR] Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3381 +#: camlib.py:3393 msgid "[success] Gerber Scale done." msgstr "[success] Gerber-Skalierung abgeschlossen." -#: camlib.py:3447 +#: camlib.py:3458 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset fertig." -#: camlib.py:3501 +#: camlib.py:3512 msgid "[success] Gerber Mirror done." msgstr "[success] Gerber Mirror fertig." -#: camlib.py:3547 +#: camlib.py:3558 msgid "[success] Gerber Skew done." msgstr "[success] Gerber-Versatz fertig." -#: camlib.py:3585 +#: camlib.py:3596 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber drehen fertig." -#: camlib.py:3864 +#: camlib.py:3875 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Dies ist die GCODE-Marke: %s" -#: camlib.py:3979 +#: camlib.py:3990 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1663,7 +1663,7 @@ msgstr "" "Der Benutzer muss das resultierende Excellon-Objekt bearbeiten und die " "Durchmesser ändern, um die tatsächlichen Durchmesser widerzuspiegeln." -#: camlib.py:4444 +#: camlib.py:4455 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1672,7 +1672,7 @@ msgstr "" "[ERROR] Fehler beim Excellon-Parser.\n" "Parsing fehlgeschlagen. Zeile {l_nr}: {line}\n" -#: camlib.py:4521 +#: camlib.py:4534 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1682,12 +1682,12 @@ msgstr "" "da kein Werkzeug zugeordnet wurde.\n" "Überprüfen Sie den resultierenden GCode." -#: camlib.py:5060 +#: camlib.py:5073 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Es gibt keinen solchen Parameter: %s" -#: camlib.py:5130 +#: camlib.py:5143 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1702,7 +1702,7 @@ msgstr "" "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5137 camlib.py:5633 camlib.py:5896 +#: camlib.py:5150 camlib.py:5646 camlib.py:5909 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1710,15 +1710,15 @@ msgstr "" "[WARNING] Der Parameter Cut Z ist Null. Es wird kein Schnitt ausgeführt, da " "die %s Datei übersprungen wird" -#: camlib.py:5366 camlib.py:5463 camlib.py:5521 +#: camlib.py:5379 camlib.py:5476 camlib.py:5534 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] Die geladene Excellon-Datei hat keine Bohrer ..." -#: camlib.py:5468 +#: camlib.py:5481 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Falscher Optimierungstyp ausgewählt." -#: camlib.py:5621 camlib.py:5884 +#: camlib.py:5634 camlib.py:5897 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1726,7 +1726,7 @@ msgstr "" "[ERROR_NOTCL] Der Parameter Cut_Z ist None oder Null. Höchstwahrscheinlich " "eine schlechte Kombination anderer Parameter." -#: camlib.py:5626 camlib.py:5889 +#: camlib.py:5639 camlib.py:5902 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1741,11 +1741,11 @@ msgstr "" "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5638 camlib.py:5901 +#: camlib.py:5651 camlib.py:5914 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:5642 camlib.py:5905 +#: camlib.py:5655 camlib.py:5918 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1759,7 +1759,7 @@ msgstr "" "einen Tippfehler handelt, konvertiert die App den Wert in einen positiven " "Wert. Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5649 camlib.py:5912 +#: camlib.py:5662 camlib.py:5925 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1767,12 +1767,12 @@ msgstr "" "[WARNING] Der Parameter Z-Weg ist Null. Dies ist gefährlich, da die %s Datei " "übersprungen wird" -#: camlib.py:5779 +#: camlib.py:5792 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Eine Geometrie erwartet,%s erhalten" -#: camlib.py:5785 +#: camlib.py:5798 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1780,7 +1780,7 @@ msgstr "" "[ERROR_NOTCL] Der Versuch, einen CNC-Auftrag aus einem Geometrieobjekt ohne " "solid_geometry zu generieren." -#: camlib.py:5824 +#: camlib.py:5837 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1790,7 +1790,7 @@ msgstr "" "current_geometry zu verwenden.\n" "Erhöhen Sie den Wert (im Modul) und versuchen Sie es erneut." -#: camlib.py:6036 +#: camlib.py:6049 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] In der SolderPaste-Geometrie sind keine Werkzeugdaten " @@ -6411,6 +6411,14 @@ msgstr "" "Die Auswahl hier beeinflusst die Parameter in\n" "Die Registerkarte Ausgewählt für alle Arten von FlatCAM-Objekten." +#: flatcamGUI/FlatCAMGUI.py:3769 +msgid "Basic" +msgstr "Basic" + +#: flatcamGUI/FlatCAMGUI.py:3770 +msgid "Advanced" +msgstr "Erweitert" + #: flatcamGUI/FlatCAMGUI.py:3773 msgid "Languages:" msgstr "Sprachen:" @@ -6630,6 +6638,10 @@ msgstr "" "ein FlatCAM-Projekt. Ein höherer Wert bedeutet eine bessere Komprimierung\n" "erfordern jedoch mehr RAM-Auslastung und mehr Verarbeitungszeit." +#: flatcamGUI/FlatCAMGUI.py:3992 +msgid "Gerber General" +msgstr "Geometrie Allgemein" + #: flatcamGUI/FlatCAMGUI.py:3995 flatcamGUI/FlatCAMGUI.py:4361 #: flatcamGUI/FlatCAMGUI.py:5153 flatcamGUI/FlatCAMGUI.py:5525 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:505 @@ -9104,7 +9116,7 @@ msgstr "" msgid "Board cutout:" msgstr " Kartenausschnitt: " -#: flatcamGUI/ObjectUI.py:408 +#: flatcamGUI/ObjectUI.py:408 flatcamTools/ToolCutOut.py:313 msgid "Cutout Tool" msgstr "Ausschnittwerkzeug" @@ -9781,8 +9793,8 @@ msgstr "" "gerne an den Anfang der generierten Datei hinzufügen." #: flatcamGUI/ObjectUI.py:1502 -msgid "Append to CNC Code" -msgstr "An CNC Code anhängen" +msgid "Append to CNC Code:" +msgstr "An CNC Code anhängen:" #: flatcamGUI/ObjectUI.py:1526 msgid "" @@ -10810,10 +10822,18 @@ msgstr "Halt" msgid "This is the measuring Stop point coordinates." msgstr "Dies ist die Messpunkt-Koordinate." +#: flatcamTools/ToolMeasurement.py:55 +msgid "Dx:" +msgstr "Dx:" + #: flatcamTools/ToolMeasurement.py:56 flatcamTools/ToolMeasurement.py:74 msgid "This is the distance measured over the X axis." msgstr "Dies ist der Abstand, der über die X-Achse gemessen wird." +#: flatcamTools/ToolMeasurement.py:58 +msgid "Dy:" +msgstr "Dy:" + #: flatcamTools/ToolMeasurement.py:59 flatcamTools/ToolMeasurement.py:79 msgid "This is the distance measured over the Y axis." msgstr "Dies ist die über die Y-Achse gemessene Entfernung." @@ -12241,12 +12261,6 @@ msgstr "CNCJob-Objekte können nicht versetzt werden." #~ msgid "Copy Drill(s)" #~ msgstr "Bohrer kopieren" -#~ msgid "Basic" -#~ msgstr "Basic" - -#~ msgid "Advanced" -#~ msgstr "Erweitert" - #~ msgid "MMB" #~ msgstr "MMB" diff --git a/locale/en/LC_MESSAGES/strings.mo b/locale/en/LC_MESSAGES/strings.mo index 74918709e005c592b3197bf7bf3c9e6c48c19dc3..87f7810f0fb74f4d7924b42d8a1ca0a6e0c7635f 100644 GIT binary patch delta 39497 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

F)POeOGu(}HarsyCrLr_PL|428wOtRP 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 delta 39355 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 diff --git a/locale/en/LC_MESSAGES/strings.po b/locale/en/LC_MESSAGES/strings.po index e58f72c5..913e57f1 100644 --- a/locale/en/LC_MESSAGES/strings.po +++ b/locale/en/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-06-09 17:12+0300\n" -"PO-Revision-Date: 2019-06-09 17:12+0300\n" +"POT-Creation-Date: 2019-06-11 23:02+0300\n" +"PO-Revision-Date: 2019-06-11 23:02+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: en\n" @@ -27,24 +27,24 @@ msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Could not find the Language files. The App strings are missing." -#: FlatCAMApp.py:2019 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 +#: FlatCAMApp.py:2018 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 #: flatcamTools/ToolPcbWizard.py:299 flatcamTools/ToolPcbWizard.py:322 msgid "Open cancelled." msgstr "Open cancelled." -#: FlatCAMApp.py:2033 +#: FlatCAMApp.py:2032 msgid "Open Config file failed." msgstr "Open Config file failed." -#: FlatCAMApp.py:2047 +#: FlatCAMApp.py:2046 msgid "Open Script file failed." msgstr "Open Script file failed." -#: FlatCAMApp.py:2236 +#: FlatCAMApp.py:2235 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." -#: FlatCAMApp.py:2246 +#: FlatCAMApp.py:2245 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -54,96 +54,96 @@ msgstr "" "Geometry is not possible.\n" "Edit only one geometry at a time." -#: FlatCAMApp.py:2290 +#: FlatCAMApp.py:2289 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editor is activated ..." -#: FlatCAMApp.py:2308 +#: FlatCAMApp.py:2307 msgid "Do you want to save the edited object?" msgstr "Do you want to save the edited object?" -#: FlatCAMApp.py:2309 flatcamGUI/FlatCAMGUI.py:1618 +#: FlatCAMApp.py:2308 flatcamGUI/FlatCAMGUI.py:1618 msgid "Close Editor" msgstr "Close Editor" -#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 +#: FlatCAMApp.py:2311 FlatCAMApp.py:3403 FlatCAMApp.py:5881 #: FlatCAMTranslation.py:89 flatcamGUI/FlatCAMGUI.py:3730 msgid "Yes" msgstr "Yes" -#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:5883 +#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 #: FlatCAMTranslation.py:90 flatcamGUI/FlatCAMGUI.py:3731 msgid "No" msgstr "No" -#: FlatCAMApp.py:2314 FlatCAMApp.py:3406 FlatCAMApp.py:3738 FlatCAMApp.py:5884 +#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:3737 FlatCAMApp.py:5883 msgid "Cancel" msgstr "Cancel" -#: FlatCAMApp.py:2341 +#: FlatCAMApp.py:2340 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Object empty after edit." -#: FlatCAMApp.py:2363 FlatCAMApp.py:2382 FlatCAMApp.py:2394 +#: FlatCAMApp.py:2362 FlatCAMApp.py:2381 FlatCAMApp.py:2393 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." -#: FlatCAMApp.py:2366 +#: FlatCAMApp.py:2365 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s is updated, returning to App..." -#: FlatCAMApp.py:2731 +#: FlatCAMApp.py:2730 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Could not load defaults file." -#: FlatCAMApp.py:2743 +#: FlatCAMApp.py:2742 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Failed to parse defaults file." -#: FlatCAMApp.py:2764 FlatCAMApp.py:2768 +#: FlatCAMApp.py:2763 FlatCAMApp.py:2767 msgid "Import FlatCAM Preferences" msgstr "Import FlatCAM Preferences" -#: FlatCAMApp.py:2774 +#: FlatCAMApp.py:2773 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] FlatCAM preferences import cancelled." -#: FlatCAMApp.py:2782 FlatCAMApp.py:2836 FlatCAMApp.py:3283 +#: FlatCAMApp.py:2781 FlatCAMApp.py:2835 FlatCAMApp.py:3282 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "[ERROR_NOTCL] Could not load defaults file." -#: FlatCAMApp.py:2790 FlatCAMApp.py:3292 +#: FlatCAMApp.py:2789 FlatCAMApp.py:3291 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Failed to parse defaults file." -#: FlatCAMApp.py:2793 +#: FlatCAMApp.py:2792 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Imported Defaults from %s" -#: FlatCAMApp.py:2808 FlatCAMApp.py:2813 +#: FlatCAMApp.py:2807 FlatCAMApp.py:2812 msgid "Export FlatCAM Preferences" msgstr "Export FlatCAM Preferences" -#: FlatCAMApp.py:2820 +#: FlatCAMApp.py:2819 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] FlatCAM preferences export cancelled." -#: FlatCAMApp.py:2855 FlatCAMApp.py:3337 +#: FlatCAMApp.py:2854 FlatCAMApp.py:3336 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Failed to write defaults to file." -#: FlatCAMApp.py:2908 +#: FlatCAMApp.py:2907 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "[ERROR_NOTCL] Failed to open recent files file for writing." -#: FlatCAMApp.py:2985 camlib.py:4443 +#: FlatCAMApp.py:2984 camlib.py:4454 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" -#: FlatCAMApp.py:2986 +#: FlatCAMApp.py:2985 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -152,11 +152,11 @@ msgstr "" "Object ({kind}) failed because: {error} \n" "\n" -#: FlatCAMApp.py:3006 +#: FlatCAMApp.py:3005 msgid "Converting units to " msgstr "Converting units to " -#: FlatCAMApp.py:3085 FlatCAMApp.py:3088 FlatCAMApp.py:3091 FlatCAMApp.py:3094 +#: FlatCAMApp.py:3084 FlatCAMApp.py:3087 FlatCAMApp.py:3090 FlatCAMApp.py:3093 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" -#: FlatCAMApp.py:3188 +#: FlatCAMApp.py:3187 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -188,31 +188,31 @@ msgstr "" "a>
DOWNLOAD area here.
" -#: FlatCAMApp.py:3341 +#: FlatCAMApp.py:3340 msgid "[success] Defaults saved." msgstr "[success] Defaults saved." -#: FlatCAMApp.py:3362 +#: FlatCAMApp.py:3361 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "[ERROR_NOTCL] Could not load factory defaults file." -#: FlatCAMApp.py:3371 +#: FlatCAMApp.py:3370 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "[ERROR_NOTCL] Failed to parse factory defaults file." -#: FlatCAMApp.py:3385 +#: FlatCAMApp.py:3384 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "[ERROR_NOTCL] Failed to write factory defaults to file." -#: FlatCAMApp.py:3389 +#: FlatCAMApp.py:3388 msgid "Factory defaults saved." msgstr "Factory defaults saved." -#: FlatCAMApp.py:3394 flatcamGUI/FlatCAMGUI.py:3106 +#: FlatCAMApp.py:3393 flatcamGUI/FlatCAMGUI.py:3106 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Application is saving the project. Please wait ..." -#: FlatCAMApp.py:3399 +#: FlatCAMApp.py:3398 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -220,11 +220,11 @@ msgstr "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" -#: FlatCAMApp.py:3402 FlatCAMApp.py:5880 +#: FlatCAMApp.py:3401 FlatCAMApp.py:5879 msgid "Save changes" msgstr "Save changes" -#: FlatCAMApp.py:3469 +#: FlatCAMApp.py:3468 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -240,67 +240,67 @@ msgstr "" "be lost and the result may not be what was expected. \n" "Check the generated GCODE." -#: FlatCAMApp.py:3510 +#: FlatCAMApp.py:3509 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." -#: FlatCAMApp.py:3532 +#: FlatCAMApp.py:3531 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." -#: FlatCAMApp.py:3547 FlatCAMApp.py:3572 +#: FlatCAMApp.py:3546 FlatCAMApp.py:3571 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." -#: FlatCAMApp.py:3551 FlatCAMApp.py:3576 +#: FlatCAMApp.py:3550 FlatCAMApp.py:3575 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" -#: FlatCAMApp.py:3564 +#: FlatCAMApp.py:3563 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] A Geometry object was converted to MultiGeo type." -#: FlatCAMApp.py:3590 +#: FlatCAMApp.py:3589 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] A Geometry object was converted to SingleGeo type." -#: FlatCAMApp.py:3737 FlatCAMApp.py:4573 FlatCAMApp.py:6155 FlatCAMApp.py:6166 -#: FlatCAMApp.py:6406 FlatCAMApp.py:6416 +#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6154 FlatCAMApp.py:6165 +#: FlatCAMApp.py:6405 FlatCAMApp.py:6415 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:3779 +#: FlatCAMApp.py:3778 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Converted units to %s" -#: FlatCAMApp.py:3790 +#: FlatCAMApp.py:3789 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Units conversion cancelled." -#: FlatCAMApp.py:4442 +#: FlatCAMApp.py:4441 msgid "Open file" msgstr "Open file" -#: FlatCAMApp.py:4473 FlatCAMApp.py:4478 +#: FlatCAMApp.py:4472 FlatCAMApp.py:4477 msgid "Export G-Code ..." msgstr "Export G-Code ..." -#: FlatCAMApp.py:4481 +#: FlatCAMApp.py:4480 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL] Export Code cancelled." -#: FlatCAMApp.py:4491 +#: FlatCAMApp.py:4490 msgid "[WARNING] No such file or directory" msgstr "[WARNING] No such file or directory" -#: FlatCAMApp.py:4498 +#: FlatCAMApp.py:4497 #, python-format msgid "Saved to: %s" msgstr "Saved to: %s" -#: FlatCAMApp.py:4561 FlatCAMApp.py:4594 FlatCAMApp.py:4605 FlatCAMApp.py:4616 +#: FlatCAMApp.py:4560 FlatCAMApp.py:4593 FlatCAMApp.py:4604 FlatCAMApp.py:4615 #: flatcamTools/ToolNonCopperClear.py:489 flatcamTools/ToolSolderPaste.py:765 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " @@ -309,12 +309,12 @@ msgstr "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." -#: FlatCAMApp.py:4566 FlatCAMApp.py:4599 FlatCAMApp.py:4610 FlatCAMApp.py:4621 +#: FlatCAMApp.py:4565 FlatCAMApp.py:4598 FlatCAMApp.py:4609 FlatCAMApp.py:4620 #: flatcamGUI/FlatCAMGUI.py:3001 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Adding Tool cancelled ..." -#: FlatCAMApp.py:4569 +#: FlatCAMApp.py:4568 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -322,35 +322,35 @@ msgstr "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." -#: FlatCAMApp.py:4682 +#: FlatCAMApp.py:4681 msgid "Object(s) deleted ..." msgstr "Object(s) deleted ..." -#: FlatCAMApp.py:4686 +#: FlatCAMApp.py:4685 msgid "Failed. No object(s) selected..." msgstr "Failed. No object(s) selected..." -#: FlatCAMApp.py:4688 +#: FlatCAMApp.py:4687 msgid "Save the work in Editor and try again ..." msgstr "Save the work in Editor and try again ..." -#: FlatCAMApp.py:4701 +#: FlatCAMApp.py:4700 msgid "Click to set the origin ..." msgstr "Click to set the origin ..." -#: FlatCAMApp.py:4713 +#: FlatCAMApp.py:4712 msgid "Jump to ..." msgstr "Jump to ..." -#: FlatCAMApp.py:4714 +#: FlatCAMApp.py:4713 msgid "Enter the coordinates in format X,Y:" msgstr "Enter the coordinates in format X,Y:" -#: FlatCAMApp.py:4721 +#: FlatCAMApp.py:4720 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Wrong coordinates. Enter coordinates in format: X,Y" -#: FlatCAMApp.py:4739 flatcamEditors/FlatCAMExcEditor.py:2320 +#: FlatCAMApp.py:4738 flatcamEditors/FlatCAMExcEditor.py:2320 #: flatcamEditors/FlatCAMExcEditor.py:2327 #: flatcamEditors/FlatCAMGeoEditor.py:3645 #: flatcamEditors/FlatCAMGeoEditor.py:3659 @@ -364,84 +364,84 @@ msgstr "Wrong coordinates. Enter coordinates in format: X,Y" msgid "[success] Done." msgstr "[success] Done." -#: FlatCAMApp.py:4871 FlatCAMApp.py:4938 +#: FlatCAMApp.py:4870 FlatCAMApp.py:4937 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "[WARNING_NOTCL] No object is selected. Select an object and try again." -#: FlatCAMApp.py:4979 +#: FlatCAMApp.py:4978 msgid "[success] Origin set ..." msgstr "[success] Origin set ..." -#: FlatCAMApp.py:4999 +#: FlatCAMApp.py:4998 msgid "Preferences" msgstr "Preferences" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5018 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "[WARNING_NOTCL] No object selected to Flip on Y axis." -#: FlatCAMApp.py:5044 +#: FlatCAMApp.py:5043 msgid "[success] Flip on Y axis done." msgstr "[success] Flip on Y axis done." -#: FlatCAMApp.py:5046 FlatCAMApp.py:5086 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5085 #: flatcamEditors/FlatCAMGeoEditor.py:1355 #: flatcamEditors/FlatCAMGrbEditor.py:5331 flatcamTools/ToolTransform.py:748 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Flip action was not executed." -#: FlatCAMApp.py:5059 +#: FlatCAMApp.py:5058 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "[WARNING_NOTCL] No object selected to Flip on X axis." -#: FlatCAMApp.py:5084 +#: FlatCAMApp.py:5083 msgid "[success] Flip on X axis done." msgstr "[success] Flip on X axis done." -#: FlatCAMApp.py:5099 +#: FlatCAMApp.py:5098 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] No object selected to Rotate." -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Transform" msgstr "Transform" -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Enter the Angle value:" msgstr "Enter the Angle value:" -#: FlatCAMApp.py:5132 +#: FlatCAMApp.py:5131 msgid "[success] Rotation done." msgstr "[success] Rotation done." -#: FlatCAMApp.py:5134 flatcamEditors/FlatCAMGeoEditor.py:1298 +#: FlatCAMApp.py:5133 flatcamEditors/FlatCAMGeoEditor.py:1298 #: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamTools/ToolTransform.py:677 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Due of %s, rotation movement was not executed." -#: FlatCAMApp.py:5145 +#: FlatCAMApp.py:5144 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." -#: FlatCAMApp.py:5166 +#: FlatCAMApp.py:5165 msgid "[success] Skew on X axis done." msgstr "[success] Skew on X axis done." -#: FlatCAMApp.py:5176 +#: FlatCAMApp.py:5175 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." -#: FlatCAMApp.py:5197 +#: FlatCAMApp.py:5196 msgid "[success] Skew on Y axis done." msgstr "[success] Skew on Y axis done." -#: FlatCAMApp.py:5266 +#: FlatCAMApp.py:5265 msgid "Grid On/Off" msgstr "Grid On/Off" -#: FlatCAMApp.py:5279 flatcamEditors/FlatCAMGeoEditor.py:937 +#: FlatCAMApp.py:5278 flatcamEditors/FlatCAMGeoEditor.py:937 #: flatcamEditors/FlatCAMGrbEditor.py:2381 #: flatcamEditors/FlatCAMGrbEditor.py:4853 flatcamGUI/ObjectUI.py:991 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:208 @@ -451,7 +451,7 @@ msgstr "Grid On/Off" msgid "Add" msgstr "Add" -#: FlatCAMApp.py:5280 FlatCAMObj.py:3306 +#: FlatCAMApp.py:5279 FlatCAMObj.py:3270 #: flatcamEditors/FlatCAMGrbEditor.py:2386 flatcamGUI/FlatCAMGUI.py:527 #: flatcamGUI/FlatCAMGUI.py:724 flatcamGUI/FlatCAMGUI.py:1616 #: flatcamGUI/FlatCAMGUI.py:1953 flatcamGUI/ObjectUI.py:1007 @@ -460,15 +460,15 @@ msgstr "Add" msgid "Delete" msgstr "Delete" -#: FlatCAMApp.py:5293 +#: FlatCAMApp.py:5292 msgid "New Grid ..." msgstr "New Grid ..." -#: FlatCAMApp.py:5294 +#: FlatCAMApp.py:5293 msgid "Enter a Grid Value:" msgstr "Enter a Grid Value:" -#: FlatCAMApp.py:5302 FlatCAMApp.py:5329 +#: FlatCAMApp.py:5301 FlatCAMApp.py:5328 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." @@ -476,48 +476,48 @@ msgstr "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." -#: FlatCAMApp.py:5308 +#: FlatCAMApp.py:5307 msgid "[success] New Grid added ..." msgstr "[success] New Grid added ..." -#: FlatCAMApp.py:5311 +#: FlatCAMApp.py:5310 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Grid already exists ..." -#: FlatCAMApp.py:5314 +#: FlatCAMApp.py:5313 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Adding New Grid cancelled ..." -#: FlatCAMApp.py:5336 +#: FlatCAMApp.py:5335 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Grid Value does not exist ..." -#: FlatCAMApp.py:5339 +#: FlatCAMApp.py:5338 msgid "[success] Grid Value deleted ..." msgstr "[success] Grid Value deleted ..." -#: FlatCAMApp.py:5342 +#: FlatCAMApp.py:5341 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Delete Grid value cancelled ..." -#: FlatCAMApp.py:5381 +#: FlatCAMApp.py:5380 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "[WARNING_NOTCL] No object selected to copy it's name" -#: FlatCAMApp.py:5385 +#: FlatCAMApp.py:5384 msgid "Name copied on clipboard ..." msgstr "Name copied on clipboard ..." -#: FlatCAMApp.py:5678 FlatCAMApp.py:5681 FlatCAMApp.py:5684 FlatCAMApp.py:5687 -#: FlatCAMApp.py:5702 FlatCAMApp.py:5705 FlatCAMApp.py:5708 FlatCAMApp.py:5711 -#: FlatCAMApp.py:5751 FlatCAMApp.py:5754 FlatCAMApp.py:5757 FlatCAMApp.py:5760 +#: FlatCAMApp.py:5677 FlatCAMApp.py:5680 FlatCAMApp.py:5683 FlatCAMApp.py:5686 +#: FlatCAMApp.py:5701 FlatCAMApp.py:5704 FlatCAMApp.py:5707 FlatCAMApp.py:5710 +#: FlatCAMApp.py:5750 FlatCAMApp.py:5753 FlatCAMApp.py:5756 FlatCAMApp.py:5759 #: ObjectCollection.py:719 ObjectCollection.py:722 ObjectCollection.py:725 #: ObjectCollection.py:728 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} selected" -#: FlatCAMApp.py:5877 +#: FlatCAMApp.py:5876 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -527,106 +527,106 @@ msgstr "" "Creating a New project will delete them.\n" "Do you want to Save the project?" -#: FlatCAMApp.py:5898 +#: FlatCAMApp.py:5897 msgid "[success] New Project created..." msgstr "[success] New Project created..." -#: FlatCAMApp.py:6014 FlatCAMApp.py:6017 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "Open Gerber" -#: FlatCAMApp.py:6022 +#: FlatCAMApp.py:6021 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Open Gerber cancelled." -#: FlatCAMApp.py:6043 FlatCAMApp.py:6046 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "Open Excellon" -#: FlatCAMApp.py:6051 +#: FlatCAMApp.py:6050 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Open Excellon cancelled." -#: FlatCAMApp.py:6073 FlatCAMApp.py:6076 +#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 msgid "Open G-Code" msgstr "Open G-Code" -#: FlatCAMApp.py:6081 +#: FlatCAMApp.py:6080 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Open G-Code cancelled." -#: FlatCAMApp.py:6099 FlatCAMApp.py:6102 +#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 msgid "Open Project" msgstr "Open Project" -#: FlatCAMApp.py:6110 +#: FlatCAMApp.py:6109 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Open Project cancelled." -#: FlatCAMApp.py:6129 FlatCAMApp.py:6132 +#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 msgid "Open Configuration File" msgstr "Open Configuration File" -#: FlatCAMApp.py:6136 +#: FlatCAMApp.py:6135 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Open Config cancelled." -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 FlatCAMApp.py:8552 FlatCAMApp.py:8572 -#: FlatCAMApp.py:8593 FlatCAMApp.py:8615 +#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 +#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] No object selected." -#: FlatCAMApp.py:6152 FlatCAMApp.py:6403 +#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 msgid "Please Select a Geometry object to export" msgstr "Please Select a Geometry object to export" -#: FlatCAMApp.py:6163 +#: FlatCAMApp.py:6162 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." -#: FlatCAMApp.py:6176 FlatCAMApp.py:6180 +#: FlatCAMApp.py:6175 FlatCAMApp.py:6179 msgid "Export SVG" msgstr "Export SVG" -#: FlatCAMApp.py:6185 +#: FlatCAMApp.py:6184 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Export SVG cancelled." -#: FlatCAMApp.py:6204 +#: FlatCAMApp.py:6203 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" -#: FlatCAMApp.py:6210 FlatCAMApp.py:6214 +#: FlatCAMApp.py:6209 FlatCAMApp.py:6213 msgid "Export PNG Image" msgstr "Export PNG Image" -#: FlatCAMApp.py:6219 +#: FlatCAMApp.py:6218 msgid "Export PNG cancelled." msgstr "Export PNG cancelled." -#: FlatCAMApp.py:6238 +#: FlatCAMApp.py:6237 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." -#: FlatCAMApp.py:6243 FlatCAMApp.py:6366 +#: FlatCAMApp.py:6242 FlatCAMApp.py:6365 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." -#: FlatCAMApp.py:6255 +#: FlatCAMApp.py:6254 msgid "Save Gerber source file" msgstr "Save Gerber source file" -#: FlatCAMApp.py:6260 +#: FlatCAMApp.py:6259 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Save Gerber source file cancelled." -#: FlatCAMApp.py:6279 +#: FlatCAMApp.py:6278 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -634,21 +634,21 @@ msgstr "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." -#: FlatCAMApp.py:6284 FlatCAMApp.py:6325 +#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." -#: FlatCAMApp.py:6292 FlatCAMApp.py:6296 +#: FlatCAMApp.py:6291 FlatCAMApp.py:6295 msgid "Save Excellon source file" msgstr "Save Excellon source file" -#: FlatCAMApp.py:6301 +#: FlatCAMApp.py:6300 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Saving Excellon source file cancelled." -#: FlatCAMApp.py:6320 +#: FlatCAMApp.py:6319 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -656,68 +656,68 @@ msgstr "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." -#: FlatCAMApp.py:6333 FlatCAMApp.py:6337 +#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 msgid "Export Excellon" msgstr "Export Excellon" -#: FlatCAMApp.py:6342 +#: FlatCAMApp.py:6341 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Export Excellon cancelled." -#: FlatCAMApp.py:6361 +#: FlatCAMApp.py:6360 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." -#: FlatCAMApp.py:6374 FlatCAMApp.py:6378 +#: FlatCAMApp.py:6373 FlatCAMApp.py:6377 msgid "Export Gerber" msgstr "Export Gerber" -#: FlatCAMApp.py:6383 +#: FlatCAMApp.py:6382 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Export Gerber cancelled." -#: FlatCAMApp.py:6413 +#: FlatCAMApp.py:6412 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Only Geometry objects can be used." -#: FlatCAMApp.py:6427 FlatCAMApp.py:6431 +#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 msgid "Export DXF" msgstr "Export DXF" -#: FlatCAMApp.py:6437 +#: FlatCAMApp.py:6436 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Export DXF cancelled." -#: FlatCAMApp.py:6457 FlatCAMApp.py:6460 +#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 msgid "Import SVG" msgstr "Import SVG" -#: FlatCAMApp.py:6469 +#: FlatCAMApp.py:6468 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Open SVG cancelled." -#: FlatCAMApp.py:6488 FlatCAMApp.py:6492 +#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 msgid "Import DXF" msgstr "Import DXF" -#: FlatCAMApp.py:6501 +#: FlatCAMApp.py:6500 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Open DXF cancelled." -#: FlatCAMApp.py:6519 +#: FlatCAMApp.py:6518 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6539 +#: FlatCAMApp.py:6538 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." -#: FlatCAMApp.py:6546 +#: FlatCAMApp.py:6545 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -725,25 +725,25 @@ msgstr "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." -#: FlatCAMApp.py:6554 +#: FlatCAMApp.py:6553 msgid "Source Editor" msgstr "Source Editor" -#: FlatCAMApp.py:6564 +#: FlatCAMApp.py:6563 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:6576 FlatCAMApp.py:7718 FlatCAMObj.py:5587 +#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "Code Editor" -#: FlatCAMApp.py:6588 +#: FlatCAMApp.py:6587 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6590 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -787,98 +787,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:6614 FlatCAMApp.py:6617 +#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 msgid "Open TCL script" msgstr "Open TCL script" -#: FlatCAMApp.py:6625 +#: FlatCAMApp.py:6624 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Open TCL script cancelled." -#: FlatCAMApp.py:6637 +#: FlatCAMApp.py:6636 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:6663 FlatCAMApp.py:6666 +#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 msgid "Run TCL script" msgstr "Run TCL script" -#: FlatCAMApp.py:6674 +#: FlatCAMApp.py:6673 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Run TCL script cancelled." -#: FlatCAMApp.py:6724 FlatCAMApp.py:6728 +#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 msgid "Save Project As ..." msgstr "Save Project As ..." -#: FlatCAMApp.py:6725 +#: FlatCAMApp.py:6724 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Project_{date}" -#: FlatCAMApp.py:6733 +#: FlatCAMApp.py:6732 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Save Project cancelled." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6776 msgid "Exporting SVG" msgstr "Exporting SVG" -#: FlatCAMApp.py:6811 FlatCAMApp.py:6917 FlatCAMApp.py:7032 +#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] SVG file exported to %s" -#: FlatCAMApp.py:6842 FlatCAMApp.py:6963 +#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] No object Box. Using instead %s" -#: FlatCAMApp.py:6920 FlatCAMApp.py:7035 +#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 msgid "Generating Film ... Please wait." msgstr "Generating Film ... Please wait." -#: FlatCAMApp.py:7183 +#: FlatCAMApp.py:7182 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excellon file exported to %s" -#: FlatCAMApp.py:7190 +#: FlatCAMApp.py:7189 msgid "Exporting Excellon" msgstr "Exporting Excellon" -#: FlatCAMApp.py:7195 FlatCAMApp.py:7202 +#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Could not export Excellon file." -#: FlatCAMApp.py:7300 +#: FlatCAMApp.py:7299 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Gerber file exported to %s" -#: FlatCAMApp.py:7307 +#: FlatCAMApp.py:7306 msgid "Exporting Gerber" msgstr "Exporting Gerber" -#: FlatCAMApp.py:7312 FlatCAMApp.py:7319 +#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Could not export Gerber file." -#: FlatCAMApp.py:7359 +#: FlatCAMApp.py:7358 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] DXF file exported to %s" -#: FlatCAMApp.py:7365 +#: FlatCAMApp.py:7364 msgid "Exporting DXF" msgstr "Exporting DXF" -#: FlatCAMApp.py:7370 FlatCAMApp.py:7377 +#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Could not export DXF file." -#: FlatCAMApp.py:7397 FlatCAMApp.py:7439 FlatCAMApp.py:7483 +#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -886,95 +886,95 @@ msgstr "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" -#: FlatCAMApp.py:7407 +#: FlatCAMApp.py:7406 msgid "Importing SVG" msgstr "Importing SVG" -#: FlatCAMApp.py:7418 FlatCAMApp.py:7460 FlatCAMApp.py:7503 FlatCAMApp.py:7580 -#: FlatCAMApp.py:7641 FlatCAMApp.py:7704 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 +#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Opened: %s" -#: FlatCAMApp.py:7449 +#: FlatCAMApp.py:7448 msgid "Importing DXF" msgstr "Importing DXF" -#: FlatCAMApp.py:7491 +#: FlatCAMApp.py:7490 msgid "Importing Image" msgstr "Importing Image" -#: FlatCAMApp.py:7532 FlatCAMApp.py:7534 +#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Failed to open file: %s" -#: FlatCAMApp.py:7537 +#: FlatCAMApp.py:7536 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Failed to parse file: {name}. {error}" -#: FlatCAMApp.py:7544 FlatCAMObj.py:4266 +#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 #: flatcamEditors/FlatCAMExcEditor.py:2077 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "[ERROR] An internal error has ocurred. See shell.\n" -#: FlatCAMApp.py:7553 +#: FlatCAMApp.py:7552 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." -#: FlatCAMApp.py:7561 +#: FlatCAMApp.py:7560 msgid "Opening Gerber" msgstr "Opening Gerber" -#: FlatCAMApp.py:7571 +#: FlatCAMApp.py:7570 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." -#: FlatCAMApp.py:7604 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] This is not Excellon file." -#: FlatCAMApp.py:7607 +#: FlatCAMApp.py:7606 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Cannot open file: %s" -#: FlatCAMApp.py:7612 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "[ERROR_NOTCL] An internal error has occurred. See shell.\n" -#: FlatCAMApp.py:7625 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7624 flatcamTools/ToolPDF.py:262 #: flatcamTools/ToolPcbWizard.py:442 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "[ERROR_NOTCL] No geometry found in file: %s" -#: FlatCAMApp.py:7628 +#: FlatCAMApp.py:7627 msgid "Opening Excellon." msgstr "Opening Excellon." -#: FlatCAMApp.py:7634 +#: FlatCAMApp.py:7633 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." -#: FlatCAMApp.py:7671 +#: FlatCAMApp.py:7670 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Failed to open %s" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7680 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] This is not GCODE" -#: FlatCAMApp.py:7687 +#: FlatCAMApp.py:7686 msgid "Opening G-Code." msgstr "Opening G-Code." -#: FlatCAMApp.py:7695 +#: FlatCAMApp.py:7694 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -984,26 +984,26 @@ msgstr "" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" -#: FlatCAMApp.py:7735 +#: FlatCAMApp.py:7734 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Failed to open config file: %s" -#: FlatCAMApp.py:7761 FlatCAMApp.py:7778 +#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Failed to open project file: %s" -#: FlatCAMApp.py:7801 +#: FlatCAMApp.py:7800 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Project loaded from: %s" -#: FlatCAMApp.py:7906 +#: FlatCAMApp.py:7905 msgid "Available commands:\n" msgstr "Available commands:\n" -#: FlatCAMApp.py:7908 +#: FlatCAMApp.py:7907 msgid "" "\n" "\n" @@ -1015,27 +1015,27 @@ msgstr "" "Type help for usage.\n" " Example: help open_gerber" -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8057 msgid "Shows list of commands." msgstr "Shows list of commands." -#: FlatCAMApp.py:8115 +#: FlatCAMApp.py:8114 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Failed to load recent item list." -#: FlatCAMApp.py:8122 +#: FlatCAMApp.py:8121 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Failed to parse recent item list." -#: FlatCAMApp.py:8166 +#: FlatCAMApp.py:8165 msgid "Clear Recent files" msgstr "Clear Recent files" -#: FlatCAMApp.py:8183 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr "Shortcut Key List" -#: FlatCAMApp.py:8190 +#: FlatCAMApp.py:8189 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1131,23 +1131,23 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8294 +#: FlatCAMApp.py:8293 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "[WARNING_NOTCL] Failed checking for latest version. Could not connect." -#: FlatCAMApp.py:8301 +#: FlatCAMApp.py:8300 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "[ERROR_NOTCL] Could not parse information about latest version." -#: FlatCAMApp.py:8311 +#: FlatCAMApp.py:8310 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM is up to date!" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8315 msgid "Newer Version Available" msgstr "Newer Version Available" -#: FlatCAMApp.py:8317 +#: FlatCAMApp.py:8316 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1155,55 +1155,55 @@ msgstr "" "There is a newer version of FlatCAM available for download:\n" "\n" -#: FlatCAMApp.py:8319 +#: FlatCAMApp.py:8318 msgid "info" msgstr "info" -#: FlatCAMApp.py:8338 +#: FlatCAMApp.py:8337 msgid "[success] All plots disabled." msgstr "[success] All plots disabled." -#: FlatCAMApp.py:8344 +#: FlatCAMApp.py:8343 msgid "[success] All non selected plots disabled." msgstr "[success] All non selected plots disabled." -#: FlatCAMApp.py:8350 +#: FlatCAMApp.py:8349 msgid "[success] All plots enabled." msgstr "[success] All plots enabled." -#: FlatCAMApp.py:8356 +#: FlatCAMApp.py:8355 msgid "[success] Selected plots enabled..." msgstr "[success] Selected plots enabled..." -#: FlatCAMApp.py:8364 +#: FlatCAMApp.py:8363 msgid "[success] Selected plots disabled..." msgstr "[success] Selected plots disabled..." -#: FlatCAMApp.py:8374 FlatCAMApp.py:8387 +#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 msgid "Working ..." msgstr "Working ..." -#: FlatCAMApp.py:8421 +#: FlatCAMApp.py:8420 msgid "Saving FlatCAM Project" msgstr "Saving FlatCAM Project" -#: FlatCAMApp.py:8442 FlatCAMApp.py:8473 +#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Project saved to: %s" -#: FlatCAMApp.py:8460 +#: FlatCAMApp.py:8459 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." -#: FlatCAMApp.py:8467 +#: FlatCAMApp.py:8466 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." -#: FlatCAMApp.py:8475 +#: FlatCAMApp.py:8474 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." @@ -1213,20 +1213,20 @@ msgstr "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name changed from {old} to {new}" -#: FlatCAMObj.py:546 FlatCAMObj.py:2031 FlatCAMObj.py:3311 FlatCAMObj.py:5484 +#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:558 FlatCAMObj.py:2047 FlatCAMObj.py:3333 FlatCAMObj.py:5490 +#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 msgid "Advanced" msgstr "Advanced" -#: FlatCAMObj.py:921 FlatCAMObj.py:976 +#: FlatCAMObj.py:920 FlatCAMObj.py:975 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Isolation geometry created: %s" -#: FlatCAMObj.py:1155 +#: FlatCAMObj.py:1154 msgid "Plotting Apertures" msgstr "Plotting Apertures" @@ -1238,9 +1238,9 @@ msgstr "Total Drills" msgid "Total Slots" msgstr "Total Slots" -#: FlatCAMObj.py:2103 FlatCAMObj.py:3384 FlatCAMObj.py:3682 FlatCAMObj.py:3869 -#: FlatCAMObj.py:3882 FlatCAMObj.py:3999 FlatCAMObj.py:4416 FlatCAMObj.py:4654 -#: FlatCAMObj.py:5067 flatcamEditors/FlatCAMExcEditor.py:1474 +#: FlatCAMObj.py:2103 FlatCAMObj.py:3348 FlatCAMObj.py:3646 FlatCAMObj.py:3833 +#: FlatCAMObj.py:3846 FlatCAMObj.py:3963 FlatCAMObj.py:4380 FlatCAMObj.py:4618 +#: FlatCAMObj.py:5031 flatcamEditors/FlatCAMExcEditor.py:1474 #: flatcamTools/ToolCalculators.py:307 flatcamTools/ToolCalculators.py:318 #: flatcamTools/ToolCalculators.py:330 flatcamTools/ToolCalculators.py:345 #: flatcamTools/ToolCalculators.py:358 flatcamTools/ToolCalculators.py:372 @@ -1297,7 +1297,7 @@ msgid "" msgstr "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." -#: FlatCAMObj.py:2602 FlatCAMObj.py:4304 FlatCAMObj.py:4520 FlatCAMObj.py:4837 +#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" @@ -1305,7 +1305,7 @@ msgstr "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4316 FlatCAMObj.py:4532 FlatCAMObj.py:4849 +#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" @@ -1313,12 +1313,12 @@ msgstr "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4725 FlatCAMObj.py:4730 FlatCAMObj.py:4880 +#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 msgid "Generating CNC Code" msgstr "Generating CNC Code" -#: FlatCAMObj.py:2672 FlatCAMObj.py:5026 camlib.py:5151 camlib.py:5610 -#: camlib.py:5873 +#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 +#: camlib.py:5886 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1328,77 +1328,77 @@ msgstr "" "format (x, y) \n" "but now there is only one value, not two. " -#: FlatCAMObj.py:3020 FlatCAMObj.py:3925 FlatCAMObj.py:3926 FlatCAMObj.py:3935 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:3020 FlatCAMObj.py:3269 FlatCAMObj.py:3549 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 msgid "Rough" msgstr "Rough" -#: FlatCAMObj.py:3020 +#: FlatCAMObj.py:2984 msgid "Finish" msgstr "Finish" -#: FlatCAMObj.py:3304 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 #: flatcamGUI/FlatCAMGUI.py:1615 flatcamGUI/FlatCAMGUI.py:1951 #: flatcamGUI/ObjectUI.py:999 msgid "Copy" msgstr "Copy" -#: FlatCAMObj.py:3519 +#: FlatCAMObj.py:3483 msgid "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." msgstr "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." -#: FlatCAMObj.py:3592 +#: FlatCAMObj.py:3556 msgid "[success] Tool added in Tool Table." msgstr "[success] Tool added in Tool Table." -#: FlatCAMObj.py:3597 +#: FlatCAMObj.py:3561 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "[ERROR_NOTCL] Default Tool added. Wrong value format entered." -#: FlatCAMObj.py:3627 FlatCAMObj.py:3637 +#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "[WARNING_NOTCL] Failed. Select a tool to copy." -#: FlatCAMObj.py:3666 +#: FlatCAMObj.py:3630 msgid "[success] Tool was copied in Tool Table." msgstr "[success] Tool was copied in Tool Table." -#: FlatCAMObj.py:3699 +#: FlatCAMObj.py:3663 msgid "[success] Tool was edited in Tool Table." msgstr "[success] Tool was edited in Tool Table." -#: FlatCAMObj.py:3730 FlatCAMObj.py:3740 +#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Failed. Select a tool to delete." -#: FlatCAMObj.py:3764 +#: FlatCAMObj.py:3728 msgid "[success] Tool was deleted in Tool Table." msgstr "[success] Tool was deleted in Tool Table." -#: FlatCAMObj.py:4185 +#: FlatCAMObj.py:4149 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." msgstr "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." -#: FlatCAMObj.py:4202 +#: FlatCAMObj.py:4166 msgid "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." msgstr "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." -#: FlatCAMObj.py:4229 +#: FlatCAMObj.py:4193 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." -#: FlatCAMObj.py:4267 +#: FlatCAMObj.py:4231 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -#: FlatCAMObj.py:4425 FlatCAMObj.py:4663 +#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 msgid "" "[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." @@ -1406,20 +1406,20 @@ msgstr "" "[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." -#: FlatCAMObj.py:4544 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4508 flatcamTools/ToolSolderPaste.py:1107 #: flatcamTools/ToolSolderPaste.py:1162 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." -#: FlatCAMObj.py:4913 FlatCAMObj.py:4923 camlib.py:3335 camlib.py:3344 +#: FlatCAMObj.py:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "[ERROR_NOTCL] Scale factor has to be a number: integer or float." -#: FlatCAMObj.py:4961 +#: FlatCAMObj.py:4925 msgid "[success] Geometry Scale done." msgstr "[success] Geometry Scale done." -#: FlatCAMObj.py:4978 camlib.py:3414 +#: FlatCAMObj.py:4942 camlib.py:3425 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1427,29 +1427,29 @@ msgstr "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." -#: FlatCAMObj.py:4998 +#: FlatCAMObj.py:4962 msgid "[success] Geometry Offset done." msgstr "[success] Geometry Offset done." -#: FlatCAMObj.py:5552 FlatCAMObj.py:5557 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "Export Machine Code ..." -#: FlatCAMObj.py:5563 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." -#: FlatCAMObj.py:5576 +#: FlatCAMObj.py:5540 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Machine Code file saved to: %s" -#: FlatCAMObj.py:5598 +#: FlatCAMObj.py:5562 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5715 +#: FlatCAMObj.py:5679 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1458,11 +1458,11 @@ msgstr "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " "CNCJob object." -#: FlatCAMObj.py:5768 +#: FlatCAMObj.py:5732 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" -#: FlatCAMObj.py:5781 +#: FlatCAMObj.py:5745 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1470,15 +1470,15 @@ msgstr "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." -#: FlatCAMObj.py:5788 +#: FlatCAMObj.py:5752 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "[success] Toolchange G-code was replaced by a custom code." -#: FlatCAMObj.py:5803 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5767 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] No such file or directory" -#: FlatCAMObj.py:5823 FlatCAMObj.py:5835 +#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1486,7 +1486,7 @@ msgstr "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" -#: FlatCAMObj.py:5841 +#: FlatCAMObj.py:5805 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] There is no postprocessor file." @@ -1500,44 +1500,44 @@ msgstr "Object renamed from {old} to {new}" msgid "[ERROR] Cause of error: %s" msgstr "[ERROR] Cause of error: %s" -#: camlib.py:198 +#: camlib.py:197 msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." -#: camlib.py:1381 +#: camlib.py:1391 msgid "[success] Object was mirrored ..." msgstr "[success] Object was mirrored ..." -#: camlib.py:1383 +#: camlib.py:1393 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Failed to mirror. No object selected" -#: camlib.py:1419 +#: camlib.py:1429 msgid "[success] Object was rotated ..." msgstr "[success] Object was rotated ..." -#: camlib.py:1421 +#: camlib.py:1431 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Failed to rotate. No object selected" -#: camlib.py:1455 +#: camlib.py:1465 msgid "[success] Object was skewed ..." msgstr "[success] Object was skewed ..." -#: camlib.py:1457 +#: camlib.py:1467 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Failed to skew. No object selected" -#: camlib.py:2717 camlib.py:2802 +#: camlib.py:2727 camlib.py:2812 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordinates missing, line ignored: %s" -#: camlib.py:2718 camlib.py:2803 +#: camlib.py:2728 camlib.py:2813 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" -#: camlib.py:2767 +#: camlib.py:2777 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1546,7 +1546,7 @@ msgstr "" "[ERROR] Region does not have enough points. File will be processed but there " "are parser errors. Line number: %s" -#: camlib.py:3159 +#: camlib.py:3169 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1555,32 +1555,32 @@ msgstr "" "[ERROR]Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3381 +#: camlib.py:3393 msgid "[success] Gerber Scale done." msgstr "[success] Gerber Scale done." -#: camlib.py:3447 +#: camlib.py:3458 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset done." -#: camlib.py:3501 +#: camlib.py:3512 msgid "[success] Gerber Mirror done." msgstr "[success] Gerber Mirror done." -#: camlib.py:3547 +#: camlib.py:3558 msgid "[success] Gerber Skew done." msgstr "[success] Gerber Skew done." -#: camlib.py:3585 +#: camlib.py:3596 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber Rotate done." -#: camlib.py:3864 +#: camlib.py:3875 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] This is GCODE mark: %s" -#: camlib.py:3979 +#: camlib.py:3990 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1597,7 +1597,7 @@ msgstr "" "The user needs to edit the resulting Excellon object and change the " "diameters to reflect the real diameters." -#: camlib.py:4444 +#: camlib.py:4455 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1606,7 +1606,7 @@ msgstr "" "[ERROR] Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" -#: camlib.py:4521 +#: camlib.py:4534 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1616,12 +1616,12 @@ msgstr "" "not having a tool associated.\n" "Check the resulting GCode." -#: camlib.py:5060 +#: camlib.py:5073 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] There is no such parameter: %s" -#: camlib.py:5130 +#: camlib.py:5143 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1635,22 +1635,22 @@ msgstr "" "therefore the app will convert the value to negative. Check the resulting " "CNC code (Gcode etc)." -#: camlib.py:5137 camlib.py:5633 camlib.py:5896 +#: camlib.py:5150 camlib.py:5646 camlib.py:5909 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" msgstr "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" -#: camlib.py:5366 camlib.py:5463 camlib.py:5521 +#: camlib.py:5379 camlib.py:5476 camlib.py:5534 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] The loaded Excellon file has no drills ..." -#: camlib.py:5468 +#: camlib.py:5481 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Wrong optimization type selected." -#: camlib.py:5621 camlib.py:5884 +#: camlib.py:5634 camlib.py:5897 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1658,7 +1658,7 @@ msgstr "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." -#: camlib.py:5626 camlib.py:5889 +#: camlib.py:5639 camlib.py:5902 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1672,11 +1672,11 @@ msgstr "" "therefore the app will convert the value to negative.Check the resulting CNC " "code (Gcode etc)." -#: camlib.py:5638 camlib.py:5901 +#: camlib.py:5651 camlib.py:5914 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Travel Z parameter is None or zero." -#: camlib.py:5642 camlib.py:5905 +#: camlib.py:5655 camlib.py:5918 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1690,19 +1690,19 @@ msgstr "" "therefore the app will convert the value to positive.Check the resulting CNC " "code (Gcode etc)." -#: camlib.py:5649 camlib.py:5912 +#: camlib.py:5662 camlib.py:5925 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" msgstr "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" -#: camlib.py:5779 +#: camlib.py:5792 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR]Expected a Geometry, got %s" -#: camlib.py:5785 +#: camlib.py:5798 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1710,7 +1710,7 @@ msgstr "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." -#: camlib.py:5824 +#: camlib.py:5837 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1720,7 +1720,7 @@ msgstr "" "current_geometry.\n" "Raise the value (in module) and try again." -#: camlib.py:6036 +#: camlib.py:6049 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." @@ -3942,12 +3942,10 @@ msgid "&Zoom Fit\tV" msgstr "&Zoom Fit\tV" #: flatcamGUI/FlatCAMGUI.py:358 -#| msgid "&Zoom In\t-" msgid "&Zoom In\t=" msgstr "&Zoom In\t=" #: flatcamGUI/FlatCAMGUI.py:359 -#| msgid "&Zoom Out\t=" msgid "&Zoom Out\t-" msgstr "&Zoom Out\t-" @@ -4559,289 +4557,6 @@ msgstr "" "which is the file storing the working default preferences." #: flatcamGUI/FlatCAMGUI.py:980 -#| msgid "" -#| "General Shortcut list
\n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| " \n" -#| "
F3 SHOW SHORTCUT LIST
  
1 Switch to Project Tab
2 Switch to Selected Tab
3 Switch to Tool Tab
  
B New Gerber
E Edit Object (if selected)
G Grid On/Off
J Jump to Coordinates
L New Excellon
M Move Obj
N New Geometry
O Set Origin
Q Change Units
P Open Properties Tool
R Rotate by 90 degree CW
S Shell Toggle
T Add a Tool (when in Geometry Selected " -#| "Tab or in Tools NCC or Tools Paint)
V Zoom Fit
X Flip on X_axis
Y Flip on Y_axis
'='\n" -#| "  Zoom Out
'-'\n" -#| "  Zoom In
  
CTRL+A Select All
CTRL+C Copy Obj
CTRL+E Open Excellon File
CTRL+G Open Gerber File
CTRL+N New Project
CTRL+M Measurement Tool
CTRL+O Open Project
CTRL+S Save Project As
CTRL+F10 Toggle Plot Area
  
SHIFT+C Copy Obj_Name
SHIFT+E Toggle Code Editor
SHIFT+G Toggle the axis
SHIFT+P Open Preferences Window
SHIFT+R Rotate by 90 degree CCW
SHIFT+S Run a Script
SHIFT+W Toggle the workspace
SHIFT+X Skew on X axis
SHIFT+Y Skew on Y axis
  
ALT+C Calculators Tool
ALT+D 2-Sided PCB Tool
ALT+K Solder Paste Dispensing Tool
ALT+L Film PCB Tool
ALT+N Non-Copper Clearing Tool
ALT+P Paint Area Tool
ALT+Q PDF Import Tool
ALT+R Transformations Tool
ALT+S View File Source
ALT+U Cutout PCB Tool
ALT+1 Enable all Plots
ALT+2 Disable all Plots
ALT+3 Disable Non-selected Plots
ALT+F10 Toggle Full Screen
  
F1 Open Online Manual
F4 Open Online Tutorials
Del Delete Object
Del Alternate: Delete Tool
'`' (left to Key_1)Toogle Notebook Area " -#| "(Left Side)
SPACE En(Dis)able Obj Plot
Escape Deselects all objects
\n" -#| " \n" -#| " " msgid "" "General Shortcut list
\n" " Languages:" msgstr "Languages:" @@ -6752,6 +6475,11 @@ msgstr "" "a FlatCAM project. Higher value means better compression\n" "but require more RAM usage and more processing time." +#: flatcamGUI/FlatCAMGUI.py:3992 +#| msgid "Geometry General" +msgid "Gerber General" +msgstr "Gerber General" + #: flatcamGUI/FlatCAMGUI.py:3995 flatcamGUI/FlatCAMGUI.py:4361 #: flatcamGUI/FlatCAMGUI.py:5153 flatcamGUI/FlatCAMGUI.py:5525 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:505 @@ -9197,7 +8925,7 @@ msgstr "" msgid "Board cutout:" msgstr "Board cutout:" -#: flatcamGUI/ObjectUI.py:408 +#: flatcamGUI/ObjectUI.py:408 flatcamTools/ToolCutOut.py:313 msgid "Cutout Tool" msgstr "Cutout Tool" @@ -9864,8 +9592,9 @@ msgstr "" "like to add to the beginning of the generated file." #: flatcamGUI/ObjectUI.py:1502 -msgid "Append to CNC Code" -msgstr "Append to CNC Code" +#| msgid "Append to CNC Code" +msgid "Append to CNC Code:" +msgstr "Append to CNC Code:" #: flatcamGUI/ObjectUI.py:1526 msgid "" @@ -10873,10 +10602,18 @@ msgstr "Stop" msgid "This is the measuring Stop point coordinates." msgstr "This is the measuring Stop point coordinates." +#: flatcamTools/ToolMeasurement.py:55 +msgid "Dx:" +msgstr "Dx:" + #: flatcamTools/ToolMeasurement.py:56 flatcamTools/ToolMeasurement.py:74 msgid "This is the distance measured over the X axis." msgstr "This is the distance measured over the X axis." +#: flatcamTools/ToolMeasurement.py:58 +msgid "Dy:" +msgstr "Dy:" + #: flatcamTools/ToolMeasurement.py:59 flatcamTools/ToolMeasurement.py:79 msgid "This is the distance measured over the Y axis." msgstr "This is the distance measured over the Y axis." @@ -12261,12 +11998,6 @@ msgstr "CNCJob objects can't be offseted." #~ msgid "Copy Drill(s)" #~ msgstr "Copy Drill(s)" -#~ msgid "Basic" -#~ msgstr "Basic" - -#~ msgid "Advanced" -#~ msgstr "Advanced" - #~ msgid "MMB" #~ msgstr "MMB" diff --git a/locale/ro/LC_MESSAGES/strings.mo b/locale/ro/LC_MESSAGES/strings.mo index 76203c864a5575a05725f648e15f0a64b12f7ce6..921af0e22eebdaf2799189c380a1fbe601d9414d 100644 GIT binary patch delta 39495 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%0A=*@$E%_ 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 delta 39351 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 Kq`rTiV*d}(=45*S diff --git a/locale/ro/LC_MESSAGES/strings.po b/locale/ro/LC_MESSAGES/strings.po index c8dc0370..9d7f737c 100644 --- a/locale/ro/LC_MESSAGES/strings.po +++ b/locale/ro/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2019-06-09 17:13+0300\n" -"PO-Revision-Date: 2019-06-09 17:17+0300\n" +"POT-Creation-Date: 2019-06-11 23:02+0300\n" +"PO-Revision-Date: 2019-06-11 23:03+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: ro\n" @@ -28,26 +28,26 @@ msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" "[ERROR] Nu am gasit fişierele cu traduceri. Mesajele aplicaţiei lipsesc." -#: FlatCAMApp.py:2019 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 +#: FlatCAMApp.py:2018 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 #: flatcamTools/ToolPcbWizard.py:299 flatcamTools/ToolPcbWizard.py:322 msgid "Open cancelled." msgstr "Deschidere anulata." -#: FlatCAMApp.py:2033 +#: FlatCAMApp.py:2032 msgid "Open Config file failed." msgstr "Deschiderea fişierului de configurare a eşuat." -#: FlatCAMApp.py:2047 +#: FlatCAMApp.py:2046 msgid "Open Script file failed." msgstr "Deschiderea fişierului Script eşuat." -#: FlatCAMApp.py:2236 +#: FlatCAMApp.py:2235 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" "[WARNING_NOTCL] Selectează un obiect tip Geometrie Gerber sau Excellon " "pentru editare." -#: FlatCAMApp.py:2246 +#: FlatCAMApp.py:2245 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" @@ -57,102 +57,102 @@ msgstr "" "obiect tip Geometrie MultiGeo nu este posibilă.\n" "Se poate edita numai o singură geometrie de fiecare dată." -#: FlatCAMApp.py:2290 +#: FlatCAMApp.py:2289 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "[WARNING_NOTCL] Editorul este activ. .." -#: FlatCAMApp.py:2308 +#: FlatCAMApp.py:2307 msgid "Do you want to save the edited object?" msgstr "Vrei sa salvezi obiectul editat?" -#: FlatCAMApp.py:2309 flatcamGUI/FlatCAMGUI.py:1618 +#: FlatCAMApp.py:2308 flatcamGUI/FlatCAMGUI.py:1618 msgid "Close Editor" msgstr "Inchide Editorul" -#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 +#: FlatCAMApp.py:2311 FlatCAMApp.py:3403 FlatCAMApp.py:5881 #: FlatCAMTranslation.py:89 flatcamGUI/FlatCAMGUI.py:3730 msgid "Yes" msgstr "Da" -#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:5883 +#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 #: FlatCAMTranslation.py:90 flatcamGUI/FlatCAMGUI.py:3731 msgid "No" msgstr "Nu" -#: FlatCAMApp.py:2314 FlatCAMApp.py:3406 FlatCAMApp.py:3738 FlatCAMApp.py:5884 +#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:3737 FlatCAMApp.py:5883 msgid "Cancel" msgstr "Anuleaza" -#: FlatCAMApp.py:2341 +#: FlatCAMApp.py:2340 msgid "[WARNING] Object empty after edit." msgstr "[WARNING] Obiectul nu are date dupa editare." -#: FlatCAMApp.py:2363 FlatCAMApp.py:2382 FlatCAMApp.py:2394 +#: FlatCAMApp.py:2362 FlatCAMApp.py:2381 FlatCAMApp.py:2393 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" "[WARNING_NOTCL] Selectează un obiect tip Gerber, Geometrie sau Excellon " "pentru salvare." -#: FlatCAMApp.py:2366 +#: FlatCAMApp.py:2365 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "[selected] %s este actualizat, intoarcere la aplicaţie." -#: FlatCAMApp.py:2731 +#: FlatCAMApp.py:2730 msgid "[ERROR] Could not load defaults file." msgstr "[ERROR] Nu am putut incărca fişierul cu valori default." -#: FlatCAMApp.py:2743 +#: FlatCAMApp.py:2742 msgid "[ERROR] Failed to parse defaults file." msgstr "[ERROR] Parsarea fişierului cu valori default a eșuat." -#: FlatCAMApp.py:2764 FlatCAMApp.py:2768 +#: FlatCAMApp.py:2763 FlatCAMApp.py:2767 msgid "Import FlatCAM Preferences" msgstr "Importa Preferințele FlatCAM" -#: FlatCAMApp.py:2774 +#: FlatCAMApp.py:2773 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "[WARNING_NOTCL] Importul preferințelor FlatCAM a eșuat." -#: FlatCAMApp.py:2782 FlatCAMApp.py:2836 FlatCAMApp.py:3283 +#: FlatCAMApp.py:2781 FlatCAMApp.py:2835 FlatCAMApp.py:3282 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "" "[ERROR_NOTCL] Nu a fost posibilă incărcarea fişierului cu valori default." -#: FlatCAMApp.py:2790 FlatCAMApp.py:3292 +#: FlatCAMApp.py:2789 FlatCAMApp.py:3291 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "[ERROR_NOTCL] Parsarea fişierului cu valori default a eșuat." -#: FlatCAMApp.py:2793 +#: FlatCAMApp.py:2792 #, python-format msgid "[success] Imported Defaults from %s" msgstr "[success] Valorile default au fost importate din %s" -#: FlatCAMApp.py:2808 FlatCAMApp.py:2813 +#: FlatCAMApp.py:2807 FlatCAMApp.py:2812 msgid "Export FlatCAM Preferences" msgstr "Exporta Preferințele FlatCAM" -#: FlatCAMApp.py:2820 +#: FlatCAMApp.py:2819 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "[WARNING_NOTCL] Exportul preferințelor FlatCAM este anulat." -#: FlatCAMApp.py:2855 FlatCAMApp.py:3337 +#: FlatCAMApp.py:2854 FlatCAMApp.py:3336 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "[ERROR_NOTCL] Salvarea valorilor default intr-un fişier a eșuat." -#: FlatCAMApp.py:2908 +#: FlatCAMApp.py:2907 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" "[ERROR_NOTCL] Deschiderea fişierului cu >fişiere recente< pentru a fi salvat " "a eșuat." -#: FlatCAMApp.py:2985 camlib.py:4443 +#: FlatCAMApp.py:2984 camlib.py:4454 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" "[ERROR_NOTCL] A apărut o eroare internă. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: FlatCAMApp.py:2986 +#: FlatCAMApp.py:2985 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" @@ -161,11 +161,11 @@ msgstr "" "Obiectul ({kind}) a eșuat din cauza: {error} \n" "\n" -#: FlatCAMApp.py:3006 +#: FlatCAMApp.py:3005 msgid "Converting units to " msgstr "Se convertesc unitatile la " -#: FlatCAMApp.py:3085 FlatCAMApp.py:3088 FlatCAMApp.py:3091 FlatCAMApp.py:3094 +#: FlatCAMApp.py:3084 FlatCAMApp.py:3087 FlatCAMApp.py:3090 FlatCAMApp.py:3093 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}{name}" -#: FlatCAMApp.py:3188 +#: FlatCAMApp.py:3187 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -196,35 +196,35 @@ msgstr "" "flatcam/src/Beta/\">aici.
Sectiunea DOWNLOAD este aici.
" -#: FlatCAMApp.py:3341 +#: FlatCAMApp.py:3340 msgid "[success] Defaults saved." msgstr "[success] Valorile default au fost salvate." -#: FlatCAMApp.py:3362 +#: FlatCAMApp.py:3361 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "" "[ERROR_NOTCL] Fişierul cu valori default de fabrică nu a putut fi deschis." -#: FlatCAMApp.py:3371 +#: FlatCAMApp.py:3370 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "" "[ERROR_NOTCL] Parsarea fişierului cu valori default de fabrică a eșuat." -#: FlatCAMApp.py:3385 +#: FlatCAMApp.py:3384 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" "[ERROR_NOTCL]] Salvarea fişierului cu valori default de fabrică intr-un " "fişier a eșuat." -#: FlatCAMApp.py:3389 +#: FlatCAMApp.py:3388 msgid "Factory defaults saved." msgstr "Valori default de fabrică au fost salvate." -#: FlatCAMApp.py:3394 flatcamGUI/FlatCAMGUI.py:3106 +#: FlatCAMApp.py:3393 flatcamGUI/FlatCAMGUI.py:3106 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "[WARNING_NOTCL] Aplicația salvează proiectul. Vă rugăm aşteptați ..." -#: FlatCAMApp.py:3399 +#: FlatCAMApp.py:3398 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -232,11 +232,11 @@ msgstr "" "FlatCAM are fişiere/obiecte care au fost modificate. \n" "Dorești să Salvezi proiectul?" -#: FlatCAMApp.py:3402 FlatCAMApp.py:5880 +#: FlatCAMApp.py:3401 FlatCAMApp.py:5879 msgid "Save changes" msgstr "Salvează modificarile." -#: FlatCAMApp.py:3469 +#: FlatCAMApp.py:3468 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -253,72 +253,72 @@ msgstr "" "informatii și rezultatul ar putea să nu fie cel dorit. \n" "Verifică codul G-Code generat." -#: FlatCAMApp.py:3510 +#: FlatCAMApp.py:3509 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" "[ERROR_NOTCL] Eșuat. Fuzionarea Excellon functionează doar cu obiecte de tip " "Excellon." -#: FlatCAMApp.py:3532 +#: FlatCAMApp.py:3531 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" "[ERROR_NOTCL] Eșuat. Fuzionarea Gerber functionează doar cu obiecte de tip " "Gerber ." -#: FlatCAMApp.py:3547 FlatCAMApp.py:3572 +#: FlatCAMApp.py:3546 FlatCAMApp.py:3571 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" "[ERROR_NOTCL] Eșuat. Selectează un obiect Geometrie și încearcă din nou." -#: FlatCAMApp.py:3551 FlatCAMApp.py:3576 +#: FlatCAMApp.py:3550 FlatCAMApp.py:3575 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "[ERROR_NOTCL] Se astepta o Geometrie FlatCAM, s-a primit %s" -#: FlatCAMApp.py:3564 +#: FlatCAMApp.py:3563 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "[success] Un obiect Geometrie a fost convertit la tipul MultiGeo." -#: FlatCAMApp.py:3590 +#: FlatCAMApp.py:3589 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Un obiect Geometrie a fost convertit la tipul SingleGeo ." -#: FlatCAMApp.py:3737 FlatCAMApp.py:4573 FlatCAMApp.py:6155 FlatCAMApp.py:6166 -#: FlatCAMApp.py:6406 FlatCAMApp.py:6416 +#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6154 FlatCAMApp.py:6165 +#: FlatCAMApp.py:6405 FlatCAMApp.py:6415 msgid "Ok" msgstr "Ok" -#: FlatCAMApp.py:3779 +#: FlatCAMApp.py:3778 #, python-format msgid "[success] Converted units to %s" msgstr "[success] Conversie unitati la %s" -#: FlatCAMApp.py:3790 +#: FlatCAMApp.py:3789 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "[WARNING_NOTCL] Conversia unitatilor este anulata." -#: FlatCAMApp.py:4442 +#: FlatCAMApp.py:4441 msgid "Open file" msgstr "Deschide fişierul ..." -#: FlatCAMApp.py:4473 FlatCAMApp.py:4478 +#: FlatCAMApp.py:4472 FlatCAMApp.py:4477 msgid "Export G-Code ..." msgstr "Exporta G-Code ..." -#: FlatCAMApp.py:4481 +#: FlatCAMApp.py:4480 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "[WARNING_NOTCL Exportul GCode este anulat." -#: FlatCAMApp.py:4491 +#: FlatCAMApp.py:4490 msgid "[WARNING] No such file or directory" msgstr "[WARNING] Nu exista un aşa fişier sau director" -#: FlatCAMApp.py:4498 +#: FlatCAMApp.py:4497 #, python-format msgid "Saved to: %s" msgstr "Salvat in: %s" -#: FlatCAMApp.py:4561 FlatCAMApp.py:4594 FlatCAMApp.py:4605 FlatCAMApp.py:4616 +#: FlatCAMApp.py:4560 FlatCAMApp.py:4593 FlatCAMApp.py:4604 FlatCAMApp.py:4615 #: flatcamTools/ToolNonCopperClear.py:489 flatcamTools/ToolSolderPaste.py:765 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " @@ -327,12 +327,12 @@ msgstr "" "[WARNING_NOTCL] Introdu un diametru al uneltei valid: valoare ne-nula in " "format Real." -#: FlatCAMApp.py:4566 FlatCAMApp.py:4599 FlatCAMApp.py:4610 FlatCAMApp.py:4621 +#: FlatCAMApp.py:4565 FlatCAMApp.py:4598 FlatCAMApp.py:4609 FlatCAMApp.py:4620 #: flatcamGUI/FlatCAMGUI.py:3001 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "[WARNING_NOTCL] Adăugarea unei unelte anulata ..." -#: FlatCAMApp.py:4569 +#: FlatCAMApp.py:4568 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -340,35 +340,35 @@ msgstr "" "Adăugarea de unelte noi functionează doar in modul Avansat.\n" "Pentru aceasta mergi in Preferințe -> General - Activează Modul Avansat." -#: FlatCAMApp.py:4682 +#: FlatCAMApp.py:4681 msgid "Object(s) deleted ..." msgstr "Obiect(ele) șters(e)." -#: FlatCAMApp.py:4686 +#: FlatCAMApp.py:4685 msgid "Failed. No object(s) selected..." msgstr "Eșuat. Nici-un obiect nu este selectat." -#: FlatCAMApp.py:4688 +#: FlatCAMApp.py:4687 msgid "Save the work in Editor and try again ..." msgstr "Salvează continutul din Editor și încearcă din nou." -#: FlatCAMApp.py:4701 +#: FlatCAMApp.py:4700 msgid "Click to set the origin ..." msgstr "Click pentru a seta originea..." -#: FlatCAMApp.py:4713 +#: FlatCAMApp.py:4712 msgid "Jump to ..." msgstr "Sari la ..." -#: FlatCAMApp.py:4714 +#: FlatCAMApp.py:4713 msgid "Enter the coordinates in format X,Y:" msgstr "Introduceți coordonatele in format X,Y:" -#: FlatCAMApp.py:4721 +#: FlatCAMApp.py:4720 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Coordonate gresite. Introduceți coordonatele in format X,Y." -#: FlatCAMApp.py:4739 flatcamEditors/FlatCAMExcEditor.py:2320 +#: FlatCAMApp.py:4738 flatcamEditors/FlatCAMExcEditor.py:2320 #: flatcamEditors/FlatCAMExcEditor.py:2327 #: flatcamEditors/FlatCAMGeoEditor.py:3645 #: flatcamEditors/FlatCAMGeoEditor.py:3659 @@ -382,88 +382,88 @@ msgstr "Coordonate gresite. Introduceți coordonatele in format X,Y." msgid "[success] Done." msgstr "[success] Executat." -#: FlatCAMApp.py:4871 FlatCAMApp.py:4938 +#: FlatCAMApp.py:4870 FlatCAMApp.py:4937 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat. Selectează un obiect și " "incearcă din nou." -#: FlatCAMApp.py:4979 +#: FlatCAMApp.py:4978 msgid "[success] Origin set ..." msgstr "[success] Originea a fost setată ..." -#: FlatCAMApp.py:4999 +#: FlatCAMApp.py:4998 msgid "Preferences" msgstr "Preferințe" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5018 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "" "[WARNING_NOTCL] Nu sete nici-un obiect selectat pentru oglindire pe axa Y." -#: FlatCAMApp.py:5044 +#: FlatCAMApp.py:5043 msgid "[success] Flip on Y axis done." msgstr "[success] Oglindire pe axa Y executată." -#: FlatCAMApp.py:5046 FlatCAMApp.py:5086 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5085 #: flatcamEditors/FlatCAMGeoEditor.py:1355 #: flatcamEditors/FlatCAMGrbEditor.py:5331 flatcamTools/ToolTransform.py:748 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "[ERROR_NOTCL] Datorita %s, oglindirea a eșuat." -#: FlatCAMApp.py:5059 +#: FlatCAMApp.py:5058 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "" "[WARNING_NOTCL] Nu sete nici-un obiect selectat pentru oglindire pe axa X." -#: FlatCAMApp.py:5084 +#: FlatCAMApp.py:5083 msgid "[success] Flip on X axis done." msgstr "[success] Oglindirea pe axa X executată." -#: FlatCAMApp.py:5099 +#: FlatCAMApp.py:5098 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Rotaţie." -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Transform" msgstr "Transformare" -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Enter the Angle value:" msgstr "Introduceți valoaea Unghiului:" -#: FlatCAMApp.py:5132 +#: FlatCAMApp.py:5131 msgid "[success] Rotation done." msgstr "[success] Rotaţie executată." -#: FlatCAMApp.py:5134 flatcamEditors/FlatCAMGeoEditor.py:1298 +#: FlatCAMApp.py:5133 flatcamEditors/FlatCAMGeoEditor.py:1298 #: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamTools/ToolTransform.py:677 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "[ERROR_NOTCL] Datorita %s, Rotatia a eșuat." -#: FlatCAMApp.py:5145 +#: FlatCAMApp.py:5144 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Deformare pe axa X." -#: FlatCAMApp.py:5166 +#: FlatCAMApp.py:5165 msgid "[success] Skew on X axis done." msgstr "[success] Deformare pe axa X executată." -#: FlatCAMApp.py:5176 +#: FlatCAMApp.py:5175 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Deformare pe axa Y." -#: FlatCAMApp.py:5197 +#: FlatCAMApp.py:5196 msgid "[success] Skew on Y axis done." msgstr "[success] Deformare pe axa Y executată." -#: FlatCAMApp.py:5266 +#: FlatCAMApp.py:5265 msgid "Grid On/Off" msgstr "Grid On/Off" -#: FlatCAMApp.py:5279 flatcamEditors/FlatCAMGeoEditor.py:937 +#: FlatCAMApp.py:5278 flatcamEditors/FlatCAMGeoEditor.py:937 #: flatcamEditors/FlatCAMGrbEditor.py:2381 #: flatcamEditors/FlatCAMGrbEditor.py:4853 flatcamGUI/ObjectUI.py:991 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:208 @@ -473,7 +473,7 @@ msgstr "Grid On/Off" msgid "Add" msgstr "Adaugă" -#: FlatCAMApp.py:5280 FlatCAMObj.py:3306 +#: FlatCAMApp.py:5279 FlatCAMObj.py:3270 #: flatcamEditors/FlatCAMGrbEditor.py:2386 flatcamGUI/FlatCAMGUI.py:527 #: flatcamGUI/FlatCAMGUI.py:724 flatcamGUI/FlatCAMGUI.py:1616 #: flatcamGUI/FlatCAMGUI.py:1953 flatcamGUI/ObjectUI.py:1007 @@ -482,64 +482,64 @@ msgstr "Adaugă" msgid "Delete" msgstr "Șterge" -#: FlatCAMApp.py:5293 +#: FlatCAMApp.py:5292 msgid "New Grid ..." msgstr "Grid nou ..." -#: FlatCAMApp.py:5294 +#: FlatCAMApp.py:5293 msgid "Enter a Grid Value:" msgstr "Introduceti of valoare pt Grid:" -#: FlatCAMApp.py:5302 FlatCAMApp.py:5329 +#: FlatCAMApp.py:5301 FlatCAMApp.py:5328 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." msgstr "" "[WARNING_NOTCL] Introduceți o valoare pentru Grila ne-nula și in format Real." -#: FlatCAMApp.py:5308 +#: FlatCAMApp.py:5307 msgid "[success] New Grid added ..." msgstr "[success] O noua valoare pt Grila a fost adăugată..." -#: FlatCAMApp.py:5311 +#: FlatCAMApp.py:5310 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "[WARNING_NOTCL] Grila exista deja." -#: FlatCAMApp.py:5314 +#: FlatCAMApp.py:5313 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "[WARNING_NOTCL] Adăugarea unei valori de Grila a fost anulata ..." -#: FlatCAMApp.py:5336 +#: FlatCAMApp.py:5335 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "[ERROR_NOTCL] Valoarea Grilei nu exista ..." -#: FlatCAMApp.py:5339 +#: FlatCAMApp.py:5338 msgid "[success] Grid Value deleted ..." msgstr "[success] Valoarea Grila a fost stearsa." -#: FlatCAMApp.py:5342 +#: FlatCAMApp.py:5341 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "[WARNING_NOTCL] Ștergerea unei valori de Grila a fost anulata ..." -#: FlatCAMApp.py:5381 +#: FlatCAMApp.py:5380 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "" "[WARNING_NOTCL] Nici-un obiect nu este selectat pentru i se copia valoarea" -#: FlatCAMApp.py:5385 +#: FlatCAMApp.py:5384 msgid "Name copied on clipboard ..." msgstr "Numele a fost copiat pe Clipboard ..." -#: FlatCAMApp.py:5678 FlatCAMApp.py:5681 FlatCAMApp.py:5684 FlatCAMApp.py:5687 -#: FlatCAMApp.py:5702 FlatCAMApp.py:5705 FlatCAMApp.py:5708 FlatCAMApp.py:5711 -#: FlatCAMApp.py:5751 FlatCAMApp.py:5754 FlatCAMApp.py:5757 FlatCAMApp.py:5760 +#: FlatCAMApp.py:5677 FlatCAMApp.py:5680 FlatCAMApp.py:5683 FlatCAMApp.py:5686 +#: FlatCAMApp.py:5701 FlatCAMApp.py:5704 FlatCAMApp.py:5707 FlatCAMApp.py:5710 +#: FlatCAMApp.py:5750 FlatCAMApp.py:5753 FlatCAMApp.py:5756 FlatCAMApp.py:5759 #: ObjectCollection.py:719 ObjectCollection.py:722 ObjectCollection.py:725 #: ObjectCollection.py:728 #, python-brace-format msgid "[selected]{name} selected" msgstr "[selected]{name} selectat" -#: FlatCAMApp.py:5877 +#: FlatCAMApp.py:5876 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -549,111 +549,111 @@ msgstr "" "Crearea unui nou Proiect le va șterge..\n" "Doriti să Salvati proiectul curentt?" -#: FlatCAMApp.py:5898 +#: FlatCAMApp.py:5897 msgid "[success] New Project created..." msgstr "[success] Un nou Proiect a fost creat..." -#: FlatCAMApp.py:6014 FlatCAMApp.py:6017 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "Încarcă Gerber" -#: FlatCAMApp.py:6022 +#: FlatCAMApp.py:6021 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier Gerber este anulata." -#: FlatCAMApp.py:6043 FlatCAMApp.py:6046 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "Încarcă Excellon" -#: FlatCAMApp.py:6051 +#: FlatCAMApp.py:6050 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier Excellon este anulata." -#: FlatCAMApp.py:6073 FlatCAMApp.py:6076 +#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 msgid "Open G-Code" msgstr "Încarcă G-Code" -#: FlatCAMApp.py:6081 +#: FlatCAMApp.py:6080 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier G-Code este anulata." -#: FlatCAMApp.py:6099 FlatCAMApp.py:6102 +#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 msgid "Open Project" msgstr "Încarcă Project" -#: FlatCAMApp.py:6110 +#: FlatCAMApp.py:6109 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui Proiect a fost anulata." -#: FlatCAMApp.py:6129 FlatCAMApp.py:6132 +#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 msgid "Open Configuration File" msgstr "Încarcă un fişier de Configurare" -#: FlatCAMApp.py:6136 +#: FlatCAMApp.py:6135 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier de Configurare este anulată." -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 FlatCAMApp.py:8552 FlatCAMApp.py:8572 -#: FlatCAMApp.py:8593 FlatCAMApp.py:8615 +#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 +#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Nici-un obiect selectat." -#: FlatCAMApp.py:6152 FlatCAMApp.py:6403 +#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 msgid "Please Select a Geometry object to export" msgstr "Selectează un obiect Geometrie pentru export" -#: FlatCAMApp.py:6163 +#: FlatCAMApp.py:6162 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" "[ERROR_NOTCL] Doar obiectele Geometrie, Gerber și CNCJob pot fi folosite." -#: FlatCAMApp.py:6176 FlatCAMApp.py:6180 +#: FlatCAMApp.py:6175 FlatCAMApp.py:6179 msgid "Export SVG" msgstr "Exporta SVG" -#: FlatCAMApp.py:6185 +#: FlatCAMApp.py:6184 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Exportul SVG este anulat." -#: FlatCAMApp.py:6204 +#: FlatCAMApp.py:6203 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" "[[WARNING_NOTCL]] Datele trebuie să fie organizate intr-o arie 3D cu ultima " "dimensiune cu valoarea 3 sau 4." -#: FlatCAMApp.py:6210 FlatCAMApp.py:6214 +#: FlatCAMApp.py:6209 FlatCAMApp.py:6213 msgid "Export PNG Image" msgstr "Exporta imagine PNG" -#: FlatCAMApp.py:6219 +#: FlatCAMApp.py:6218 msgid "Export PNG cancelled." msgstr "Exportul imagine PNG este anulat." -#: FlatCAMApp.py:6238 +#: FlatCAMApp.py:6237 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Gerber pentru " "export." -#: FlatCAMApp.py:6243 FlatCAMApp.py:6366 +#: FlatCAMApp.py:6242 FlatCAMApp.py:6365 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "[ERROR_NOTCL] Eșuat. Doar obiectele tip Gerber pot fi salvate ca fişiere " "Gerber..." -#: FlatCAMApp.py:6255 +#: FlatCAMApp.py:6254 msgid "Save Gerber source file" msgstr "Salvează codul sursa Gerber ca fişier" -#: FlatCAMApp.py:6260 +#: FlatCAMApp.py:6259 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Salvarea codului sursa Gerber este anulata." -#: FlatCAMApp.py:6279 +#: FlatCAMApp.py:6278 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -661,22 +661,22 @@ msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Excellon " "pentru export." -#: FlatCAMApp.py:6284 FlatCAMApp.py:6325 +#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "[ERROR_NOTCL] Eșuat. Doar obiectele tip Excellon pot fi salvate ca fişiere " "Excellon ..." -#: FlatCAMApp.py:6292 FlatCAMApp.py:6296 +#: FlatCAMApp.py:6291 FlatCAMApp.py:6295 msgid "Save Excellon source file" msgstr "Salvează codul sursa Excellon ca fişier" -#: FlatCAMApp.py:6301 +#: FlatCAMApp.py:6300 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Salvarea codului sursa Excellon este anulata." -#: FlatCAMApp.py:6320 +#: FlatCAMApp.py:6319 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -684,94 +684,94 @@ msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Excellon " "pentru export." -#: FlatCAMApp.py:6333 FlatCAMApp.py:6337 +#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 msgid "Export Excellon" msgstr "Exporta Excellon" -#: FlatCAMApp.py:6342 +#: FlatCAMApp.py:6341 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Exportul Excellon anulat." -#: FlatCAMApp.py:6361 +#: FlatCAMApp.py:6360 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Gerber pentru " "export." -#: FlatCAMApp.py:6374 FlatCAMApp.py:6378 +#: FlatCAMApp.py:6373 FlatCAMApp.py:6377 msgid "Export Gerber" msgstr "Exporta Gerber" -#: FlatCAMApp.py:6383 +#: FlatCAMApp.py:6382 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Exportul Gerber este anulat." -#: FlatCAMApp.py:6413 +#: FlatCAMApp.py:6412 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Doar obiecte tip Geometrie pot fi folosite." -#: FlatCAMApp.py:6427 FlatCAMApp.py:6431 +#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 msgid "Export DXF" msgstr "Exporta DXF" -#: FlatCAMApp.py:6437 +#: FlatCAMApp.py:6436 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Exportul DXF anulat." -#: FlatCAMApp.py:6457 FlatCAMApp.py:6460 +#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 msgid "Import SVG" msgstr "Importa SVG" -#: FlatCAMApp.py:6469 +#: FlatCAMApp.py:6468 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Importul SVG anulat." -#: FlatCAMApp.py:6488 FlatCAMApp.py:6492 +#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 msgid "Import DXF" msgstr "Importa DXF" -#: FlatCAMApp.py:6501 +#: FlatCAMApp.py:6500 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Incărcarea fişier DXF anulata." -#: FlatCAMApp.py:6519 +#: FlatCAMApp.py:6518 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6539 +#: FlatCAMApp.py:6538 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" "[WARNING_NOTCL] Selectati un obiect Gerber sau Excellon pentru a-i vedea " "codul sursa." -#: FlatCAMApp.py:6546 +#: FlatCAMApp.py:6545 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru a-i vedea codul sursa." -#: FlatCAMApp.py:6554 +#: FlatCAMApp.py:6553 msgid "Source Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:6564 +#: FlatCAMApp.py:6563 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:6576 FlatCAMApp.py:7718 FlatCAMObj.py:5587 +#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:6588 +#: FlatCAMApp.py:6587 msgid "Script Editor" msgstr "Editor Script." -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6590 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -815,99 +815,99 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:6614 FlatCAMApp.py:6617 +#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 msgid "Open TCL script" msgstr "Încarcă TCL script" -#: FlatCAMApp.py:6625 +#: FlatCAMApp.py:6624 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Incărcarea TCL script anulata." -#: FlatCAMApp.py:6637 +#: FlatCAMApp.py:6636 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:6663 FlatCAMApp.py:6666 +#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 msgid "Run TCL script" msgstr "Ruleaza TCL script" -#: FlatCAMApp.py:6674 +#: FlatCAMApp.py:6673 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Rularea fisierului Script a fost anulata." -#: FlatCAMApp.py:6724 FlatCAMApp.py:6728 +#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 msgid "Save Project As ..." msgstr "Salvează Proiectul ca ..." -#: FlatCAMApp.py:6725 +#: FlatCAMApp.py:6724 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Proiect_{date}" -#: FlatCAMApp.py:6733 +#: FlatCAMApp.py:6732 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Salvarea Proiect anulata." -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6776 msgid "Exporting SVG" msgstr "SVG in curs de export" -#: FlatCAMApp.py:6811 FlatCAMApp.py:6917 FlatCAMApp.py:7032 +#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] Fişier SVG exportat in %s" -#: FlatCAMApp.py:6842 FlatCAMApp.py:6963 +#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "" "[WARNING_NOTCL] Nu este nici-un container Box pentru obiect. Se foloseşte %s" -#: FlatCAMApp.py:6920 FlatCAMApp.py:7035 +#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 msgid "Generating Film ... Please wait." msgstr "Filmul se generează ... Aşteaptă!" -#: FlatCAMApp.py:7183 +#: FlatCAMApp.py:7182 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Fişierul Excellon exportat in %s" -#: FlatCAMApp.py:7190 +#: FlatCAMApp.py:7189 msgid "Exporting Excellon" msgstr "Excellon in curs de export" -#: FlatCAMApp.py:7195 FlatCAMApp.py:7202 +#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Fişierul Excellon nu a putut fi exportat." -#: FlatCAMApp.py:7300 +#: FlatCAMApp.py:7299 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Fişier Gerber exportat in %s" -#: FlatCAMApp.py:7307 +#: FlatCAMApp.py:7306 msgid "Exporting Gerber" msgstr "Gerber in curs de export" -#: FlatCAMApp.py:7312 FlatCAMApp.py:7319 +#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Fişierul Gerber nu a putut fi exportat." -#: FlatCAMApp.py:7359 +#: FlatCAMApp.py:7358 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] Fişierul DXF exportat in %s" -#: FlatCAMApp.py:7365 +#: FlatCAMApp.py:7364 msgid "Exporting DXF" msgstr "DXF in curs de export" -#: FlatCAMApp.py:7370 FlatCAMApp.py:7377 +#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Fişierul DXF nu a putut fi exportat." -#: FlatCAMApp.py:7397 FlatCAMApp.py:7439 FlatCAMApp.py:7483 +#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -915,102 +915,102 @@ msgstr "" "[ERROR_NOTCL] Typul parametrului nu este compatibil. Doar Geometrie is " "Gerber sunt acceptate." -#: FlatCAMApp.py:7407 +#: FlatCAMApp.py:7406 msgid "Importing SVG" msgstr "SVG in curs de ia fi importat" -#: FlatCAMApp.py:7418 FlatCAMApp.py:7460 FlatCAMApp.py:7503 FlatCAMApp.py:7580 -#: FlatCAMApp.py:7641 FlatCAMApp.py:7704 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 +#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Incărcat: %s" -#: FlatCAMApp.py:7449 +#: FlatCAMApp.py:7448 msgid "Importing DXF" msgstr "DXF in curs de a fi importat" -#: FlatCAMApp.py:7491 +#: FlatCAMApp.py:7490 msgid "Importing Image" msgstr "Imaginea in curs de a fi importata" -#: FlatCAMApp.py:7532 FlatCAMApp.py:7534 +#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului %s" -#: FlatCAMApp.py:7537 +#: FlatCAMApp.py:7536 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Eşec in parsarea fişierului: {name}. {error}" -#: FlatCAMApp.py:7544 FlatCAMObj.py:4266 +#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 #: flatcamEditors/FlatCAMExcEditor.py:2077 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "" "[ERROR] A apărut o eroare interna. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: FlatCAMApp.py:7553 +#: FlatCAMApp.py:7552 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" "[ERROR_NOTCL] Obiectul nu estetip Gerber sau este gol. Se anulează crearea " "obiectului." -#: FlatCAMApp.py:7561 +#: FlatCAMApp.py:7560 msgid "Opening Gerber" msgstr "Gerber in curs de incărcare" -#: FlatCAMApp.py:7571 +#: FlatCAMApp.py:7570 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Incărcarea Gerber a eșuat. Probabil nu este de tip Gerber." -#: FlatCAMApp.py:7604 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Acesta nu este un fişier Excellon." -#: FlatCAMApp.py:7607 +#: FlatCAMApp.py:7606 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Fişierul %s nu se poate incărca." -#: FlatCAMApp.py:7612 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" "[ERROR_NOTCL] A apărut o eroare interna. Verifică in TCL Shell pt mai multe " "detalii.\n" -#: FlatCAMApp.py:7625 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7624 flatcamTools/ToolPDF.py:262 #: flatcamTools/ToolPcbWizard.py:442 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "" "[ERROR_NOTCL] Nici-o informaţie de tip geometrie nu s-a gasit in fişierul: %s" -#: FlatCAMApp.py:7628 +#: FlatCAMApp.py:7627 msgid "Opening Excellon." msgstr "Excellon in curs de incărcare" -#: FlatCAMApp.py:7634 +#: FlatCAMApp.py:7633 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" "[ERROR_NOTCL] Incărcarea Excellon a eșuat. Probabil nu este de tip Excellon." -#: FlatCAMApp.py:7671 +#: FlatCAMApp.py:7670 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Incărcarea fişierului %s a eșuat." -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7680 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Acest obiect nu este de tip GCode" -#: FlatCAMApp.py:7687 +#: FlatCAMApp.py:7686 msgid "Opening G-Code." msgstr "G-Code in curs de incărcare" -#: FlatCAMApp.py:7695 +#: FlatCAMApp.py:7694 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " @@ -1021,26 +1021,26 @@ msgstr "" "Incercarea de a crea un obiect CNCJob din G-Code a eșuat in timpul " "procesarii." -#: FlatCAMApp.py:7735 +#: FlatCAMApp.py:7734 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului de configurare: %s" -#: FlatCAMApp.py:7761 FlatCAMApp.py:7778 +#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului proiect: %s" -#: FlatCAMApp.py:7801 +#: FlatCAMApp.py:7800 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Proeictul a fost incărcat din: %s" -#: FlatCAMApp.py:7906 +#: FlatCAMApp.py:7905 msgid "Available commands:\n" msgstr "Comenzi disponibile:\n" -#: FlatCAMApp.py:7908 +#: FlatCAMApp.py:7907 msgid "" "\n" "\n" @@ -1052,27 +1052,27 @@ msgstr "" "Introduceți help pentru utilizare.\n" "Exemplu: help open_gerber" -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8057 msgid "Shows list of commands." msgstr "Arata o lista de comenzi." -#: FlatCAMApp.py:8115 +#: FlatCAMApp.py:8114 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Eşec in incărcarea listei cu obiecte recente." -#: FlatCAMApp.py:8122 +#: FlatCAMApp.py:8121 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Eşec in parsarea listei cu obiecte recente." -#: FlatCAMApp.py:8166 +#: FlatCAMApp.py:8165 msgid "Clear Recent files" msgstr "Sterge fişierele recente" -#: FlatCAMApp.py:8183 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr "Lista cu taste Shortcut" -#: FlatCAMApp.py:8190 +#: FlatCAMApp.py:8189 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1169,27 +1169,27 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8294 +#: FlatCAMApp.py:8293 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" "[WARNING_NOTCL] Verificarea pentru ultima versiune a eșuat. Nu a fost " "posibilă conectarea la server." -#: FlatCAMApp.py:8301 +#: FlatCAMApp.py:8300 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] Informatia cu privire la ultima versiune nu s-a putut " "interpreta." -#: FlatCAMApp.py:8311 +#: FlatCAMApp.py:8310 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM este la ultima versiune!" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8315 msgid "Newer Version Available" msgstr "O nouă versiune este disponibila" -#: FlatCAMApp.py:8317 +#: FlatCAMApp.py:8316 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1197,58 +1197,58 @@ msgstr "" "O nouă versiune de FlatCAM este disponibilă pentru download::\n" "\n" -#: FlatCAMApp.py:8319 +#: FlatCAMApp.py:8318 msgid "info" msgstr "Informaţie" -#: FlatCAMApp.py:8338 +#: FlatCAMApp.py:8337 msgid "[success] All plots disabled." msgstr "[success] Toate afişările sunt dezactivate." -#: FlatCAMApp.py:8344 +#: FlatCAMApp.py:8343 msgid "[success] All non selected plots disabled." msgstr "[success] Toate afişările care nu sunt selectate sunt dezactivate." -#: FlatCAMApp.py:8350 +#: FlatCAMApp.py:8349 msgid "[success] All plots enabled." msgstr "[success] Toate afişările sunt activate." -#: FlatCAMApp.py:8356 +#: FlatCAMApp.py:8355 msgid "[success] Selected plots enabled..." msgstr "[success] Toate afişările sunt activate..." -#: FlatCAMApp.py:8364 +#: FlatCAMApp.py:8363 msgid "[success] Selected plots disabled..." msgstr "[success] Toate afişările sunt dezactivate..." -#: FlatCAMApp.py:8374 FlatCAMApp.py:8387 +#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 msgid "Working ..." msgstr "Se lucrează..." -#: FlatCAMApp.py:8421 +#: FlatCAMApp.py:8420 msgid "Saving FlatCAM Project" msgstr "Proiectul FlatCAM este in curs de salvare" -#: FlatCAMApp.py:8442 FlatCAMApp.py:8473 +#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Proiectul s-a salvat in: %s" -#: FlatCAMApp.py:8460 +#: FlatCAMApp.py:8459 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Verificarea proiectului salvat a eșuat: %s. Incearcă să il " "salvezi din nou." -#: FlatCAMApp.py:8467 +#: FlatCAMApp.py:8466 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Parsarea proiectului salvat a eșuat: %s. Incearcă să il " "salvezi din nou." -#: FlatCAMApp.py:8475 +#: FlatCAMApp.py:8474 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" @@ -1260,20 +1260,20 @@ msgstr "" msgid "[success] Name changed from {old} to {new}" msgstr "[success] Numele schimbat din {old} in {new}" -#: FlatCAMObj.py:546 FlatCAMObj.py:2031 FlatCAMObj.py:3311 FlatCAMObj.py:5484 +#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 msgid "Basic" msgstr "Baza" -#: FlatCAMObj.py:558 FlatCAMObj.py:2047 FlatCAMObj.py:3333 FlatCAMObj.py:5490 +#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 msgid "Advanced" msgstr "Avansat" -#: FlatCAMObj.py:921 FlatCAMObj.py:976 +#: FlatCAMObj.py:920 FlatCAMObj.py:975 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Geometria de izolare creată: %s" -#: FlatCAMObj.py:1155 +#: FlatCAMObj.py:1154 msgid "Plotting Apertures" msgstr "Aperturile sunt in curs de afișare" @@ -1285,9 +1285,9 @@ msgstr "Nr. Tot. Op. Găurire" msgid "Total Slots" msgstr "Nr. Tot. Sloturi" -#: FlatCAMObj.py:2103 FlatCAMObj.py:3384 FlatCAMObj.py:3682 FlatCAMObj.py:3869 -#: FlatCAMObj.py:3882 FlatCAMObj.py:3999 FlatCAMObj.py:4416 FlatCAMObj.py:4654 -#: FlatCAMObj.py:5067 flatcamEditors/FlatCAMExcEditor.py:1474 +#: FlatCAMObj.py:2103 FlatCAMObj.py:3348 FlatCAMObj.py:3646 FlatCAMObj.py:3833 +#: FlatCAMObj.py:3846 FlatCAMObj.py:3963 FlatCAMObj.py:4380 FlatCAMObj.py:4618 +#: FlatCAMObj.py:5031 flatcamEditors/FlatCAMExcEditor.py:1474 #: flatcamTools/ToolCalculators.py:307 flatcamTools/ToolCalculators.py:318 #: flatcamTools/ToolCalculators.py:330 flatcamTools/ToolCalculators.py:345 #: flatcamTools/ToolCalculators.py:358 flatcamTools/ToolCalculators.py:372 @@ -1346,7 +1346,7 @@ msgid "" msgstr "" "[ERROR_NOTCL] Anulat. Freza este mai mare decat diametrul slotului de frezat." -#: FlatCAMObj.py:2602 FlatCAMObj.py:4304 FlatCAMObj.py:4520 FlatCAMObj.py:4837 +#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" @@ -1354,7 +1354,7 @@ msgstr "" "[ERROR_NOTCL] Valoare gresita pt self.defaults[\"z_pdepth\"] sau self." "options[\"z_pdepth\"]" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4316 FlatCAMObj.py:4532 FlatCAMObj.py:4849 +#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" @@ -1362,12 +1362,12 @@ msgstr "" "[ERROR_NOTCL] Valoare gresita pt self.defaults[\"feedrate_probe\"] sau self." "options[\"feedrate_probe\"]" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4725 FlatCAMObj.py:4730 FlatCAMObj.py:4880 +#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 msgid "Generating CNC Code" msgstr "CNC Code in curs de generare" -#: FlatCAMObj.py:2672 FlatCAMObj.py:5026 camlib.py:5151 camlib.py:5610 -#: camlib.py:5873 +#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 +#: camlib.py:5886 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1377,58 +1377,58 @@ msgstr "" "să fie in formatul (x, y) \n" "dar are o singură valoare in loc de doua. " -#: FlatCAMObj.py:3020 FlatCAMObj.py:3925 FlatCAMObj.py:3926 FlatCAMObj.py:3935 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 msgid "Iso" msgstr "Izo." -#: FlatCAMObj.py:3020 FlatCAMObj.py:3269 FlatCAMObj.py:3549 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 msgid "Rough" msgstr "Grosier" -#: FlatCAMObj.py:3020 +#: FlatCAMObj.py:2984 msgid "Finish" msgstr "Finisare" -#: FlatCAMObj.py:3304 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 #: flatcamGUI/FlatCAMGUI.py:1615 flatcamGUI/FlatCAMGUI.py:1951 #: flatcamGUI/ObjectUI.py:999 msgid "Copy" msgstr "Copiază" -#: FlatCAMObj.py:3519 +#: FlatCAMObj.py:3483 msgid "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." msgstr "[ERROR_NOTCL] Introdu diametrul dorit pt unealtă in format Real." -#: FlatCAMObj.py:3592 +#: FlatCAMObj.py:3556 msgid "[success] Tool added in Tool Table." msgstr "[success] Unealtă adăugată in Tabela de Unelte." -#: FlatCAMObj.py:3597 +#: FlatCAMObj.py:3561 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "" "[ERROR_NOTCL] Unealta implicita adăugată dar valoarea are un format gresit." -#: FlatCAMObj.py:3627 FlatCAMObj.py:3637 +#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "[WARNING_NOTCL] Eșuat. Selectează o unealtă pt copiere." -#: FlatCAMObj.py:3666 +#: FlatCAMObj.py:3630 msgid "[success] Tool was copied in Tool Table." msgstr "[success] Unealta a fost copiata in Tabela de Unelte." -#: FlatCAMObj.py:3699 +#: FlatCAMObj.py:3663 msgid "[success] Tool was edited in Tool Table." msgstr "[success] Unealta a fost editata in Tabela de Unelte." -#: FlatCAMObj.py:3730 FlatCAMObj.py:3740 +#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Eșuat. Selectează o unealtă pentru ștergere." -#: FlatCAMObj.py:3764 +#: FlatCAMObj.py:3728 msgid "[success] Tool was deleted in Tool Table." msgstr "[success] Unealta a fost stearsa din Tabela de Unelte." -#: FlatCAMObj.py:4185 +#: FlatCAMObj.py:4149 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." @@ -1436,23 +1436,23 @@ msgstr "" "[WARNING_NOTCL] Acest obiect Geometrie nu poate fi procesar decoarece este " "Geometrie %s." -#: FlatCAMObj.py:4202 +#: FlatCAMObj.py:4166 msgid "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." msgstr "" "[ERROR_NOTCL] Diametrul uneltei este in format gresit, foloseşte un număr " "Real." -#: FlatCAMObj.py:4229 +#: FlatCAMObj.py:4193 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "" "[ERROR_NOTCL] Eșuat. Nici-o unealtă nu este selectată in Tabela de Unelte ..." -#: FlatCAMObj.py:4267 +#: FlatCAMObj.py:4231 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -#: FlatCAMObj.py:4425 FlatCAMObj.py:4663 +#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 msgid "" "[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." @@ -1461,21 +1461,21 @@ msgstr "" "val. nu este oferita.\n" "Adaugă un ofset pt unealtă sau schimbă Tipul Ofset." -#: FlatCAMObj.py:4544 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4508 flatcamTools/ToolSolderPaste.py:1107 #: flatcamTools/ToolSolderPaste.py:1162 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "[ERROR_NOTCL] Anulat. Fişier gol, nu are date geometrice." -#: FlatCAMObj.py:4913 FlatCAMObj.py:4923 camlib.py:3335 camlib.py:3344 +#: FlatCAMObj.py:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" "[ERROR_NOTCL] Factorul de scalare trebuie să fie un număr: natural sau real." -#: FlatCAMObj.py:4961 +#: FlatCAMObj.py:4925 msgid "[success] Geometry Scale done." msgstr "[success] Scalare Geometrie executată." -#: FlatCAMObj.py:4978 camlib.py:3414 +#: FlatCAMObj.py:4942 camlib.py:3425 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1483,29 +1483,29 @@ msgstr "" "[ERROR_NOTCL] O pereche de valori (x,y) este necesară. Probabil că ai " "introdus numai o singură valoare in câmpul Offset." -#: FlatCAMObj.py:4998 +#: FlatCAMObj.py:4962 msgid "[success] Geometry Offset done." msgstr "[success] Ofset Geometrie executat." -#: FlatCAMObj.py:5552 FlatCAMObj.py:5557 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "Exporta CNC Cod Masina ..." -#: FlatCAMObj.py:5563 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Exportul codului masina CNC a fost anulat ..." -#: FlatCAMObj.py:5576 +#: FlatCAMObj.py:5540 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Fişierul cu cod CNC este salvat in: %s" -#: FlatCAMObj.py:5598 +#: FlatCAMObj.py:5562 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5715 +#: FlatCAMObj.py:5679 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1514,11 +1514,11 @@ msgstr "" "[WARNING_NOTCL] Acest obiect CNCJob nu poate fi procesar deoarece este un " "obiect CNCJob tip %s." -#: FlatCAMObj.py:5768 +#: FlatCAMObj.py:5732 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "[ERROR_NOTCL] G-code nu contine codul pt unitati: G20 sau G21" -#: FlatCAMObj.py:5781 +#: FlatCAMObj.py:5745 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1526,17 +1526,17 @@ msgstr "" "[ERROR_NOTCL] Anulat. Codul G-Code din Macro-ul Schimbare unealtă este " "activat dar nuc contine nimic." -#: FlatCAMObj.py:5788 +#: FlatCAMObj.py:5752 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" "[success] G-Code-ul pt schimbare unealtă a fost inlocuit cu un cod " "pesonalizat." -#: FlatCAMObj.py:5803 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5767 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Nu exista un asemenea fişier sau director" -#: FlatCAMObj.py:5823 FlatCAMObj.py:5835 +#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1544,7 +1544,7 @@ msgstr "" "[WARNING_NOTCL] Postprocesorul folosit trebuie să aibă in numele sau: " "'toolchange_custom'" -#: FlatCAMObj.py:5841 +#: FlatCAMObj.py:5805 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Nu exista nici-un fişier postprocesor." @@ -1558,46 +1558,46 @@ msgstr "Obiectul este redenumit din {old} in {new}" msgid "[ERROR] Cause of error: %s" msgstr "[ERROR] Motivul erorii: %s" -#: camlib.py:198 +#: camlib.py:197 msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "" "[ERROR_NOTCL] self.solid_geometry nu este tip BaseGeometry sau tip lista." -#: camlib.py:1381 +#: camlib.py:1391 msgid "[success] Object was mirrored ..." msgstr "[success] Obiectul a fost oglindit ..." -#: camlib.py:1383 +#: camlib.py:1393 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "[ERROR_NOTCL] Oglindire eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:1419 +#: camlib.py:1429 msgid "[success] Object was rotated ..." msgstr "[success] Obiectul a fost rotit ..." -#: camlib.py:1421 +#: camlib.py:1431 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "[ERROR_NOTCL] Rotaţie eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:1455 +#: camlib.py:1465 msgid "[success] Object was skewed ..." msgstr "[success] Obiectul a fost deformat ..." -#: camlib.py:1457 +#: camlib.py:1467 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Deformare eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:2717 camlib.py:2802 +#: camlib.py:2727 camlib.py:2812 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordonatele lipsesc, linia este ignorata: %s" -#: camlib.py:2718 camlib.py:2803 +#: camlib.py:2728 camlib.py:2813 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" "[WARNING_NOTCL] Fişierul Gerber poate fi corrupt. Verificati fişierul!!!" -#: camlib.py:2767 +#: camlib.py:2777 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1606,7 +1606,7 @@ msgstr "" "[ERROR] Regiunea Gerber nu are suficiente puncte. Fişierul va fi procesat " "dar sunt erori de parsare. Numărul liniei: %s" -#: camlib.py:3159 +#: camlib.py:3169 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1615,32 +1615,32 @@ msgstr "" "[ERROR] Eroare in parserul Gerber.\n" "%s:" -#: camlib.py:3381 +#: camlib.py:3393 msgid "[success] Gerber Scale done." msgstr "[success] Scalarea Gerber efectuata." -#: camlib.py:3447 +#: camlib.py:3458 msgid "[success] Gerber Offset done." msgstr "[success] Offsetare Gerber efectuata." -#: camlib.py:3501 +#: camlib.py:3512 msgid "[success] Gerber Mirror done." msgstr "[success] Oglindirea Gerber efectuata." -#: camlib.py:3547 +#: camlib.py:3558 msgid "[success] Gerber Skew done." msgstr "[success] Deformarea Gerber efectuata." -#: camlib.py:3585 +#: camlib.py:3596 msgid "[success] Gerber Rotate done." msgstr "[success] Rotatia Gerber efectuata." -#: camlib.py:3864 +#: camlib.py:3875 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Acesta este un marcaj Gerber: %s" -#: camlib.py:3979 +#: camlib.py:3990 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1656,7 +1656,7 @@ msgstr "" "Userul trebuie să editeze obictul Excellon rezultat si sa ajusteze " "diametrele a.i sa reflecte diametrele reale." -#: camlib.py:4444 +#: camlib.py:4455 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1666,7 +1666,7 @@ msgstr "" "Parsare eșuata. Linia {l_nr}: {line}\n" "\n" -#: camlib.py:4521 +#: camlib.py:4534 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1676,12 +1676,12 @@ msgstr "" "deoarece nu are o unealtă asociata.\n" "Verifică codul G-Code rezultat." -#: camlib.py:5060 +#: camlib.py:5073 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Nu exista un asemenea parametru: %s" -#: camlib.py:5130 +#: camlib.py:5143 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1694,7 +1694,7 @@ msgstr "" "Se presupune că este o eroare de tastare astfel ca aplicaţia va converti " "intr-o valoare negativă. Verifică codul masina (G-Code etc) rezultat." -#: camlib.py:5137 camlib.py:5633 camlib.py:5896 +#: camlib.py:5150 camlib.py:5646 camlib.py:5909 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1702,15 +1702,15 @@ msgstr "" "[WARNING] Parametrul >Z tăiere< este nul. Nu va fi nici-o tăiere prin urmare " "nu procesam fişierul %s" -#: camlib.py:5366 camlib.py:5463 camlib.py:5521 +#: camlib.py:5379 camlib.py:5476 camlib.py:5534 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] Fişierul Excellon incărcat nu are găuri ..." -#: camlib.py:5468 +#: camlib.py:5481 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Un tip de optimizare incorrect a fost selectat." -#: camlib.py:5621 camlib.py:5884 +#: camlib.py:5634 camlib.py:5897 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1718,7 +1718,7 @@ msgstr "" "[ERROR_NOTCL] Parametrul >Z tăiere< este None sau zero. Cel mai probabil o " "combinaţie nefericita de parametri." -#: camlib.py:5626 camlib.py:5889 +#: camlib.py:5639 camlib.py:5902 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1731,11 +1731,11 @@ msgstr "" "Se presupune că este o eroare de tastare astfel ca aplicaţia va converti " "intr-o valoare negativă. Verifică codul masina (G-Code etc) rezultat." -#: camlib.py:5638 camlib.py:5901 +#: camlib.py:5651 camlib.py:5914 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Parametrul >Z deplasare< este None sau zero." -#: camlib.py:5642 camlib.py:5905 +#: camlib.py:5655 camlib.py:5918 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1749,7 +1749,7 @@ msgstr "" "Se presupune că este o eroare de tastare astfel ca aplicaţia va converti " "intr-o valoare pozitivă. Verifică codul masina (G-Code etc) rezultat." -#: camlib.py:5649 camlib.py:5912 +#: camlib.py:5662 camlib.py:5925 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1757,12 +1757,12 @@ msgstr "" "[WARNING] Parametrul >Z deplasare< este zero. Aceasta este periculos, prin " "urmare fişierul %s nu se procesează." -#: camlib.py:5779 +#: camlib.py:5792 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Se astepta o Geometrie, am primit in schimb %s" -#: camlib.py:5785 +#: camlib.py:5798 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1770,7 +1770,7 @@ msgstr "" "[ERROR_NOTCL] Se încearcă generarea unui CNC Job dintr-un obiect Geometrie " "fără atributul solid_geometry." -#: camlib.py:5824 +#: camlib.py:5837 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1780,7 +1780,7 @@ msgstr "" "fi folosita. \n" "Mareste valoarea absoluta și încearcă din nou." -#: camlib.py:6036 +#: camlib.py:6049 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] Nu exista date cu privier la unealtă in geometria SolderPaste." @@ -6405,6 +6405,14 @@ msgstr "" "Alegerea efectuata aici va influenta ce aparamtri sunt disponibili\n" "in Tab-ul SELECTAT dar și in alte parti ale FlatCAM." +#: flatcamGUI/FlatCAMGUI.py:3769 +msgid "Basic" +msgstr "Baza" + +#: flatcamGUI/FlatCAMGUI.py:3770 +msgid "Advanced" +msgstr "Avansat" + #: flatcamGUI/FlatCAMGUI.py:3773 msgid "Languages:" msgstr "Traduceri:" @@ -6619,6 +6627,10 @@ msgstr "" "dar cu consum redus de resurse in timp ce valoarea 9 cere multa memorie RAM\n" "și in plus, durează semnificativ mai mult." +#: flatcamGUI/FlatCAMGUI.py:3992 +msgid "Gerber General" +msgstr "Gerber General" + #: flatcamGUI/FlatCAMGUI.py:3995 flatcamGUI/FlatCAMGUI.py:4361 #: flatcamGUI/FlatCAMGUI.py:5153 flatcamGUI/FlatCAMGUI.py:5525 #: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:505 @@ -9118,7 +9130,7 @@ msgstr "" msgid "Board cutout:" msgstr "Decupare PCB:" -#: flatcamGUI/ObjectUI.py:408 +#: flatcamGUI/ObjectUI.py:408 flatcamTools/ToolCutOut.py:313 msgid "Cutout Tool" msgstr "Unealta Decupare" @@ -9797,7 +9809,7 @@ msgstr "" "adaugate la inceputul codului masina CNC." #: flatcamGUI/ObjectUI.py:1502 -msgid "Append to CNC Code" +msgid "Append to CNC Code:" msgstr "Adaugă la sfârşit in codul G-Code:" #: flatcamGUI/ObjectUI.py:1526 @@ -10820,10 +10832,18 @@ msgstr "Stop" msgid "This is the measuring Stop point coordinates." msgstr "Coordonatele punctului de Stop." +#: flatcamTools/ToolMeasurement.py:55 +msgid "Dx:" +msgstr "Dx:" + #: flatcamTools/ToolMeasurement.py:56 flatcamTools/ToolMeasurement.py:74 msgid "This is the distance measured over the X axis." msgstr "Distanta masurata pe axa X." +#: flatcamTools/ToolMeasurement.py:58 +msgid "Dy:" +msgstr "Dy:" + #: flatcamTools/ToolMeasurement.py:59 flatcamTools/ToolMeasurement.py:79 msgid "This is the distance measured over the Y axis." msgstr "Distanta masurata pe axa Y." @@ -12255,12 +12275,6 @@ msgstr "Obiectele tip CNCJob nu pot fi deplasate." #~ msgid "Copy Drill(s)" #~ msgstr "Copiaza Găurire" -#~ msgid "Basic" -#~ msgstr "Baza" - -#~ msgid "Advanced" -#~ msgstr "Avansat" - #~ msgid "MMB" #~ msgstr "MMB" diff --git a/locale_template/strings.pot b/locale_template/strings.pot index a069f9f6..cfb7147a 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-06-09 17:10+0300\n" +"POT-Creation-Date: 2019-06-11 23:00+0300\n" "PO-Revision-Date: 2019-03-25 15:08+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -27,137 +27,137 @@ msgstr "" msgid "[ERROR] Could not find the Language files. The App strings are missing." msgstr "" -#: FlatCAMApp.py:2019 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 +#: FlatCAMApp.py:2018 ObjectCollection.py:80 flatcamTools/ToolImage.py:213 #: flatcamTools/ToolPcbWizard.py:299 flatcamTools/ToolPcbWizard.py:322 msgid "Open cancelled." msgstr "" -#: FlatCAMApp.py:2033 +#: FlatCAMApp.py:2032 msgid "Open Config file failed." msgstr "" -#: FlatCAMApp.py:2047 +#: FlatCAMApp.py:2046 msgid "Open Script file failed." msgstr "" -#: FlatCAMApp.py:2236 +#: FlatCAMApp.py:2235 msgid "[WARNING_NOTCL] Select a Geometry, Gerber or Excellon Object to edit." msgstr "" -#: FlatCAMApp.py:2246 +#: FlatCAMApp.py:2245 msgid "" "[WARNING_NOTCL] Simultanoeus editing of tools geometry in a MultiGeo " "Geometry is not possible.\n" "Edit only one geometry at a time." msgstr "" -#: FlatCAMApp.py:2290 +#: FlatCAMApp.py:2289 msgid "[WARNING_NOTCL] Editor is activated ..." msgstr "" -#: FlatCAMApp.py:2308 +#: FlatCAMApp.py:2307 msgid "Do you want to save the edited object?" msgstr "" -#: FlatCAMApp.py:2309 flatcamGUI/FlatCAMGUI.py:1618 +#: FlatCAMApp.py:2308 flatcamGUI/FlatCAMGUI.py:1618 msgid "Close Editor" msgstr "" -#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 +#: FlatCAMApp.py:2311 FlatCAMApp.py:3403 FlatCAMApp.py:5881 #: FlatCAMTranslation.py:89 flatcamGUI/FlatCAMGUI.py:3730 msgid "Yes" msgstr "" -#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:5883 +#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 #: FlatCAMTranslation.py:90 flatcamGUI/FlatCAMGUI.py:3731 msgid "No" msgstr "" -#: FlatCAMApp.py:2314 FlatCAMApp.py:3406 FlatCAMApp.py:3738 FlatCAMApp.py:5884 +#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:3737 FlatCAMApp.py:5883 msgid "Cancel" msgstr "" -#: FlatCAMApp.py:2341 +#: FlatCAMApp.py:2340 msgid "[WARNING] Object empty after edit." msgstr "" -#: FlatCAMApp.py:2363 FlatCAMApp.py:2382 FlatCAMApp.py:2394 +#: FlatCAMApp.py:2362 FlatCAMApp.py:2381 FlatCAMApp.py:2393 msgid "[WARNING_NOTCL] Select a Gerber, Geometry or Excellon Object to update." msgstr "" -#: FlatCAMApp.py:2366 +#: FlatCAMApp.py:2365 #, python-format msgid "[selected] %s is updated, returning to App..." msgstr "" -#: FlatCAMApp.py:2731 +#: FlatCAMApp.py:2730 msgid "[ERROR] Could not load defaults file." msgstr "" -#: FlatCAMApp.py:2743 +#: FlatCAMApp.py:2742 msgid "[ERROR] Failed to parse defaults file." msgstr "" -#: FlatCAMApp.py:2764 FlatCAMApp.py:2768 +#: FlatCAMApp.py:2763 FlatCAMApp.py:2767 msgid "Import FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:2774 +#: FlatCAMApp.py:2773 msgid "[WARNING_NOTCL] FlatCAM preferences import cancelled." msgstr "" -#: FlatCAMApp.py:2782 FlatCAMApp.py:2836 FlatCAMApp.py:3283 +#: FlatCAMApp.py:2781 FlatCAMApp.py:2835 FlatCAMApp.py:3282 msgid "[ERROR_NOTCL] Could not load defaults file." msgstr "" -#: FlatCAMApp.py:2790 FlatCAMApp.py:3292 +#: FlatCAMApp.py:2789 FlatCAMApp.py:3291 msgid "[ERROR_NOTCL] Failed to parse defaults file." msgstr "" -#: FlatCAMApp.py:2793 +#: FlatCAMApp.py:2792 #, python-format msgid "[success] Imported Defaults from %s" msgstr "" -#: FlatCAMApp.py:2808 FlatCAMApp.py:2813 +#: FlatCAMApp.py:2807 FlatCAMApp.py:2812 msgid "Export FlatCAM Preferences" msgstr "" -#: FlatCAMApp.py:2820 +#: FlatCAMApp.py:2819 msgid "[WARNING_NOTCL] FlatCAM preferences export cancelled." msgstr "" -#: FlatCAMApp.py:2855 FlatCAMApp.py:3337 +#: FlatCAMApp.py:2854 FlatCAMApp.py:3336 msgid "[ERROR_NOTCL] Failed to write defaults to file." msgstr "" -#: FlatCAMApp.py:2908 +#: FlatCAMApp.py:2907 msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" -#: FlatCAMApp.py:2985 camlib.py:4443 +#: FlatCAMApp.py:2984 camlib.py:4454 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:2986 +#: FlatCAMApp.py:2985 #, python-brace-format msgid "" "Object ({kind}) failed because: {error} \n" "\n" msgstr "" -#: FlatCAMApp.py:3006 +#: FlatCAMApp.py:3005 msgid "Converting units to " msgstr "" -#: FlatCAMApp.py:3085 FlatCAMApp.py:3088 FlatCAMApp.py:3091 FlatCAMApp.py:3094 +#: FlatCAMApp.py:3084 FlatCAMApp.py:3087 FlatCAMApp.py:3090 FlatCAMApp.py:3093 #, python-brace-format msgid "" "[selected] {kind} created/selected: {name}" msgstr "" -#: FlatCAMApp.py:3188 +#: FlatCAMApp.py:3187 #, python-brace-format msgid "" "FlatCAM
Version {version} {beta} ({date}) - " @@ -171,41 +171,41 @@ msgid "" "downloads/\">here.
" msgstr "" -#: FlatCAMApp.py:3341 +#: FlatCAMApp.py:3340 msgid "[success] Defaults saved." msgstr "" -#: FlatCAMApp.py:3362 +#: FlatCAMApp.py:3361 msgid "[ERROR_NOTCL] Could not load factory defaults file." msgstr "" -#: FlatCAMApp.py:3371 +#: FlatCAMApp.py:3370 msgid "[ERROR_NOTCL] Failed to parse factory defaults file." msgstr "" -#: FlatCAMApp.py:3385 +#: FlatCAMApp.py:3384 msgid "[ERROR_NOTCL] Failed to write factory defaults to file." msgstr "" -#: FlatCAMApp.py:3389 +#: FlatCAMApp.py:3388 msgid "Factory defaults saved." msgstr "" -#: FlatCAMApp.py:3394 flatcamGUI/FlatCAMGUI.py:3106 +#: FlatCAMApp.py:3393 flatcamGUI/FlatCAMGUI.py:3106 msgid "[WARNING_NOTCL] Application is saving the project. Please wait ..." msgstr "" -#: FlatCAMApp.py:3399 +#: FlatCAMApp.py:3398 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" msgstr "" -#: FlatCAMApp.py:3402 FlatCAMApp.py:5880 +#: FlatCAMApp.py:3401 FlatCAMApp.py:5879 msgid "Save changes" msgstr "" -#: FlatCAMApp.py:3469 +#: FlatCAMApp.py:3468 msgid "" "[ERROR] Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -215,113 +215,113 @@ msgid "" "Check the generated GCODE." msgstr "" -#: FlatCAMApp.py:3510 +#: FlatCAMApp.py:3509 msgid "[ERROR_NOTCL] Failed. Excellon joining works only on Excellon objects." msgstr "" -#: FlatCAMApp.py:3532 +#: FlatCAMApp.py:3531 msgid "[ERROR_NOTCL] Failed. Gerber joining works only on Gerber objects." msgstr "" -#: FlatCAMApp.py:3547 FlatCAMApp.py:3572 +#: FlatCAMApp.py:3546 FlatCAMApp.py:3571 msgid "[ERROR_NOTCL] Failed. Select a Geometry Object and try again." msgstr "" -#: FlatCAMApp.py:3551 FlatCAMApp.py:3576 +#: FlatCAMApp.py:3550 FlatCAMApp.py:3575 #, python-format msgid "[ERROR_NOTCL] Expected a FlatCAMGeometry, got %s" msgstr "" -#: FlatCAMApp.py:3564 +#: FlatCAMApp.py:3563 msgid "[success] A Geometry object was converted to MultiGeo type." msgstr "" -#: FlatCAMApp.py:3590 +#: FlatCAMApp.py:3589 msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "" -#: FlatCAMApp.py:3737 FlatCAMApp.py:4573 FlatCAMApp.py:6155 FlatCAMApp.py:6166 -#: FlatCAMApp.py:6406 FlatCAMApp.py:6416 +#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6154 FlatCAMApp.py:6165 +#: FlatCAMApp.py:6405 FlatCAMApp.py:6415 msgid "Ok" msgstr "" -#: FlatCAMApp.py:3779 +#: FlatCAMApp.py:3778 #, python-format msgid "[success] Converted units to %s" msgstr "" -#: FlatCAMApp.py:3790 +#: FlatCAMApp.py:3789 msgid "[WARNING_NOTCL] Units conversion cancelled." msgstr "" -#: FlatCAMApp.py:4442 +#: FlatCAMApp.py:4441 msgid "Open file" msgstr "" -#: FlatCAMApp.py:4473 FlatCAMApp.py:4478 +#: FlatCAMApp.py:4472 FlatCAMApp.py:4477 msgid "Export G-Code ..." msgstr "" -#: FlatCAMApp.py:4481 +#: FlatCAMApp.py:4480 msgid "[WARNING_NOTCL] Export Code cancelled." msgstr "" -#: FlatCAMApp.py:4491 +#: FlatCAMApp.py:4490 msgid "[WARNING] No such file or directory" msgstr "" -#: FlatCAMApp.py:4498 +#: FlatCAMApp.py:4497 #, python-format msgid "Saved to: %s" msgstr "" -#: FlatCAMApp.py:4561 FlatCAMApp.py:4594 FlatCAMApp.py:4605 FlatCAMApp.py:4616 +#: FlatCAMApp.py:4560 FlatCAMApp.py:4593 FlatCAMApp.py:4604 FlatCAMApp.py:4615 #: flatcamTools/ToolNonCopperClear.py:489 flatcamTools/ToolSolderPaste.py:765 msgid "" "[WARNING_NOTCL] Please enter a tool diameter with non-zero value, in Float " "format." msgstr "" -#: FlatCAMApp.py:4566 FlatCAMApp.py:4599 FlatCAMApp.py:4610 FlatCAMApp.py:4621 +#: FlatCAMApp.py:4565 FlatCAMApp.py:4598 FlatCAMApp.py:4609 FlatCAMApp.py:4620 #: flatcamGUI/FlatCAMGUI.py:3001 msgid "[WARNING_NOTCL] Adding Tool cancelled ..." msgstr "" -#: FlatCAMApp.py:4569 +#: FlatCAMApp.py:4568 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." msgstr "" -#: FlatCAMApp.py:4682 +#: FlatCAMApp.py:4681 msgid "Object(s) deleted ..." msgstr "" -#: FlatCAMApp.py:4686 +#: FlatCAMApp.py:4685 msgid "Failed. No object(s) selected..." msgstr "" -#: FlatCAMApp.py:4688 +#: FlatCAMApp.py:4687 msgid "Save the work in Editor and try again ..." msgstr "" -#: FlatCAMApp.py:4701 +#: FlatCAMApp.py:4700 msgid "Click to set the origin ..." msgstr "" -#: FlatCAMApp.py:4713 +#: FlatCAMApp.py:4712 msgid "Jump to ..." msgstr "" -#: FlatCAMApp.py:4714 +#: FlatCAMApp.py:4713 msgid "Enter the coordinates in format X,Y:" msgstr "" -#: FlatCAMApp.py:4721 +#: FlatCAMApp.py:4720 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "" -#: FlatCAMApp.py:4739 flatcamEditors/FlatCAMExcEditor.py:2320 +#: FlatCAMApp.py:4738 flatcamEditors/FlatCAMExcEditor.py:2320 #: flatcamEditors/FlatCAMExcEditor.py:2327 #: flatcamEditors/FlatCAMGeoEditor.py:3645 #: flatcamEditors/FlatCAMGeoEditor.py:3659 @@ -335,84 +335,84 @@ msgstr "" msgid "[success] Done." msgstr "" -#: FlatCAMApp.py:4871 FlatCAMApp.py:4938 +#: FlatCAMApp.py:4870 FlatCAMApp.py:4937 msgid "[WARNING_NOTCL] No object is selected. Select an object and try again." msgstr "" -#: FlatCAMApp.py:4979 +#: FlatCAMApp.py:4978 msgid "[success] Origin set ..." msgstr "" -#: FlatCAMApp.py:4999 +#: FlatCAMApp.py:4998 msgid "Preferences" msgstr "" -#: FlatCAMApp.py:5019 +#: FlatCAMApp.py:5018 msgid "[WARNING_NOTCL] No object selected to Flip on Y axis." msgstr "" -#: FlatCAMApp.py:5044 +#: FlatCAMApp.py:5043 msgid "[success] Flip on Y axis done." msgstr "" -#: FlatCAMApp.py:5046 FlatCAMApp.py:5086 +#: FlatCAMApp.py:5045 FlatCAMApp.py:5085 #: flatcamEditors/FlatCAMGeoEditor.py:1355 #: flatcamEditors/FlatCAMGrbEditor.py:5331 flatcamTools/ToolTransform.py:748 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "" -#: FlatCAMApp.py:5059 +#: FlatCAMApp.py:5058 msgid "[WARNING_NOTCL] No object selected to Flip on X axis." msgstr "" -#: FlatCAMApp.py:5084 +#: FlatCAMApp.py:5083 msgid "[success] Flip on X axis done." msgstr "" -#: FlatCAMApp.py:5099 +#: FlatCAMApp.py:5098 msgid "[WARNING_NOTCL] No object selected to Rotate." msgstr "" -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Transform" msgstr "" -#: FlatCAMApp.py:5102 FlatCAMApp.py:5147 FlatCAMApp.py:5178 +#: FlatCAMApp.py:5101 FlatCAMApp.py:5146 FlatCAMApp.py:5177 msgid "Enter the Angle value:" msgstr "" -#: FlatCAMApp.py:5132 +#: FlatCAMApp.py:5131 msgid "[success] Rotation done." msgstr "" -#: FlatCAMApp.py:5134 flatcamEditors/FlatCAMGeoEditor.py:1298 +#: FlatCAMApp.py:5133 flatcamEditors/FlatCAMGeoEditor.py:1298 #: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamTools/ToolTransform.py:677 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "" -#: FlatCAMApp.py:5145 +#: FlatCAMApp.py:5144 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on X axis." msgstr "" -#: FlatCAMApp.py:5166 +#: FlatCAMApp.py:5165 msgid "[success] Skew on X axis done." msgstr "" -#: FlatCAMApp.py:5176 +#: FlatCAMApp.py:5175 msgid "[WARNING_NOTCL] No object selected to Skew/Shear on Y axis." msgstr "" -#: FlatCAMApp.py:5197 +#: FlatCAMApp.py:5196 msgid "[success] Skew on Y axis done." msgstr "" -#: FlatCAMApp.py:5266 +#: FlatCAMApp.py:5265 msgid "Grid On/Off" msgstr "" -#: FlatCAMApp.py:5279 flatcamEditors/FlatCAMGeoEditor.py:937 +#: FlatCAMApp.py:5278 flatcamEditors/FlatCAMGeoEditor.py:937 #: flatcamEditors/FlatCAMGrbEditor.py:2381 #: flatcamEditors/FlatCAMGrbEditor.py:4853 flatcamGUI/ObjectUI.py:991 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:208 @@ -422,7 +422,7 @@ msgstr "" msgid "Add" msgstr "" -#: FlatCAMApp.py:5280 FlatCAMObj.py:3306 +#: FlatCAMApp.py:5279 FlatCAMObj.py:3270 #: flatcamEditors/FlatCAMGrbEditor.py:2386 flatcamGUI/FlatCAMGUI.py:527 #: flatcamGUI/FlatCAMGUI.py:724 flatcamGUI/FlatCAMGUI.py:1616 #: flatcamGUI/FlatCAMGUI.py:1953 flatcamGUI/ObjectUI.py:1007 @@ -431,274 +431,274 @@ msgstr "" msgid "Delete" msgstr "" -#: FlatCAMApp.py:5293 +#: FlatCAMApp.py:5292 msgid "New Grid ..." msgstr "" -#: FlatCAMApp.py:5294 +#: FlatCAMApp.py:5293 msgid "Enter a Grid Value:" msgstr "" -#: FlatCAMApp.py:5302 FlatCAMApp.py:5329 +#: FlatCAMApp.py:5301 FlatCAMApp.py:5328 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." msgstr "" -#: FlatCAMApp.py:5308 +#: FlatCAMApp.py:5307 msgid "[success] New Grid added ..." msgstr "" -#: FlatCAMApp.py:5311 +#: FlatCAMApp.py:5310 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "" -#: FlatCAMApp.py:5314 +#: FlatCAMApp.py:5313 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "" -#: FlatCAMApp.py:5336 +#: FlatCAMApp.py:5335 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "" -#: FlatCAMApp.py:5339 +#: FlatCAMApp.py:5338 msgid "[success] Grid Value deleted ..." msgstr "" -#: FlatCAMApp.py:5342 +#: FlatCAMApp.py:5341 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "" -#: FlatCAMApp.py:5381 +#: FlatCAMApp.py:5380 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "" -#: FlatCAMApp.py:5385 +#: FlatCAMApp.py:5384 msgid "Name copied on clipboard ..." msgstr "" -#: FlatCAMApp.py:5678 FlatCAMApp.py:5681 FlatCAMApp.py:5684 FlatCAMApp.py:5687 -#: FlatCAMApp.py:5702 FlatCAMApp.py:5705 FlatCAMApp.py:5708 FlatCAMApp.py:5711 -#: FlatCAMApp.py:5751 FlatCAMApp.py:5754 FlatCAMApp.py:5757 FlatCAMApp.py:5760 +#: FlatCAMApp.py:5677 FlatCAMApp.py:5680 FlatCAMApp.py:5683 FlatCAMApp.py:5686 +#: FlatCAMApp.py:5701 FlatCAMApp.py:5704 FlatCAMApp.py:5707 FlatCAMApp.py:5710 +#: FlatCAMApp.py:5750 FlatCAMApp.py:5753 FlatCAMApp.py:5756 FlatCAMApp.py:5759 #: ObjectCollection.py:719 ObjectCollection.py:722 ObjectCollection.py:725 #: ObjectCollection.py:728 #, python-brace-format msgid "[selected]{name} selected" msgstr "" -#: FlatCAMApp.py:5877 +#: FlatCAMApp.py:5876 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:5898 +#: FlatCAMApp.py:5897 msgid "[success] New Project created..." msgstr "" -#: FlatCAMApp.py:6014 FlatCAMApp.py:6017 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "" -#: FlatCAMApp.py:6022 +#: FlatCAMApp.py:6021 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "" -#: FlatCAMApp.py:6043 FlatCAMApp.py:6046 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "" -#: FlatCAMApp.py:6051 +#: FlatCAMApp.py:6050 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "" -#: FlatCAMApp.py:6073 FlatCAMApp.py:6076 +#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 msgid "Open G-Code" msgstr "" -#: FlatCAMApp.py:6081 +#: FlatCAMApp.py:6080 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "" -#: FlatCAMApp.py:6099 FlatCAMApp.py:6102 +#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 msgid "Open Project" msgstr "" -#: FlatCAMApp.py:6110 +#: FlatCAMApp.py:6109 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "" -#: FlatCAMApp.py:6129 FlatCAMApp.py:6132 +#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 msgid "Open Configuration File" msgstr "" -#: FlatCAMApp.py:6136 +#: FlatCAMApp.py:6135 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "" -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 FlatCAMApp.py:8552 FlatCAMApp.py:8572 -#: FlatCAMApp.py:8593 FlatCAMApp.py:8615 +#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 +#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 msgid "[WARNING_NOTCL] No object selected." msgstr "" -#: FlatCAMApp.py:6152 FlatCAMApp.py:6403 +#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 msgid "Please Select a Geometry object to export" msgstr "" -#: FlatCAMApp.py:6163 +#: FlatCAMApp.py:6162 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" -#: FlatCAMApp.py:6176 FlatCAMApp.py:6180 +#: FlatCAMApp.py:6175 FlatCAMApp.py:6179 msgid "Export SVG" msgstr "" -#: FlatCAMApp.py:6185 +#: FlatCAMApp.py:6184 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "" -#: FlatCAMApp.py:6204 +#: FlatCAMApp.py:6203 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" -#: FlatCAMApp.py:6210 FlatCAMApp.py:6214 +#: FlatCAMApp.py:6209 FlatCAMApp.py:6213 msgid "Export PNG Image" msgstr "" -#: FlatCAMApp.py:6219 +#: FlatCAMApp.py:6218 msgid "Export PNG cancelled." msgstr "" -#: FlatCAMApp.py:6238 +#: FlatCAMApp.py:6237 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:6243 FlatCAMApp.py:6366 +#: FlatCAMApp.py:6242 FlatCAMApp.py:6365 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" -#: FlatCAMApp.py:6255 +#: FlatCAMApp.py:6254 msgid "Save Gerber source file" msgstr "" -#: FlatCAMApp.py:6260 +#: FlatCAMApp.py:6259 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "" -#: FlatCAMApp.py:6279 +#: FlatCAMApp.py:6278 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." msgstr "" -#: FlatCAMApp.py:6284 FlatCAMApp.py:6325 +#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" -#: FlatCAMApp.py:6292 FlatCAMApp.py:6296 +#: FlatCAMApp.py:6291 FlatCAMApp.py:6295 msgid "Save Excellon source file" msgstr "" -#: FlatCAMApp.py:6301 +#: FlatCAMApp.py:6300 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "" -#: FlatCAMApp.py:6320 +#: FlatCAMApp.py:6319 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." msgstr "" -#: FlatCAMApp.py:6333 FlatCAMApp.py:6337 +#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 msgid "Export Excellon" msgstr "" -#: FlatCAMApp.py:6342 +#: FlatCAMApp.py:6341 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "" -#: FlatCAMApp.py:6361 +#: FlatCAMApp.py:6360 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:6374 FlatCAMApp.py:6378 +#: FlatCAMApp.py:6373 FlatCAMApp.py:6377 msgid "Export Gerber" msgstr "" -#: FlatCAMApp.py:6383 +#: FlatCAMApp.py:6382 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "" -#: FlatCAMApp.py:6413 +#: FlatCAMApp.py:6412 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "" -#: FlatCAMApp.py:6427 FlatCAMApp.py:6431 +#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 msgid "Export DXF" msgstr "" -#: FlatCAMApp.py:6437 +#: FlatCAMApp.py:6436 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "" -#: FlatCAMApp.py:6457 FlatCAMApp.py:6460 +#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 msgid "Import SVG" msgstr "" -#: FlatCAMApp.py:6469 +#: FlatCAMApp.py:6468 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "" -#: FlatCAMApp.py:6488 FlatCAMApp.py:6492 +#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 msgid "Import DXF" msgstr "" -#: FlatCAMApp.py:6501 +#: FlatCAMApp.py:6500 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "" -#: FlatCAMApp.py:6519 +#: FlatCAMApp.py:6518 #, python-format msgid "%s" msgstr "" -#: FlatCAMApp.py:6539 +#: FlatCAMApp.py:6538 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" -#: FlatCAMApp.py:6546 +#: FlatCAMApp.py:6545 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." msgstr "" -#: FlatCAMApp.py:6554 +#: FlatCAMApp.py:6553 msgid "Source Editor" msgstr "" -#: FlatCAMApp.py:6564 +#: FlatCAMApp.py:6563 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "" -#: FlatCAMApp.py:6576 FlatCAMApp.py:7718 FlatCAMObj.py:5587 +#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "" -#: FlatCAMApp.py:6588 +#: FlatCAMApp.py:6587 msgid "Script Editor" msgstr "" -#: FlatCAMApp.py:6591 +#: FlatCAMApp.py:6590 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -722,216 +722,216 @@ msgid "" "\n" msgstr "" -#: FlatCAMApp.py:6614 FlatCAMApp.py:6617 +#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 msgid "Open TCL script" msgstr "" -#: FlatCAMApp.py:6625 +#: FlatCAMApp.py:6624 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "" -#: FlatCAMApp.py:6637 +#: FlatCAMApp.py:6636 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "" -#: FlatCAMApp.py:6663 FlatCAMApp.py:6666 +#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 msgid "Run TCL script" msgstr "" -#: FlatCAMApp.py:6674 +#: FlatCAMApp.py:6673 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "" -#: FlatCAMApp.py:6724 FlatCAMApp.py:6728 +#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 msgid "Save Project As ..." msgstr "" -#: FlatCAMApp.py:6725 +#: FlatCAMApp.py:6724 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "" -#: FlatCAMApp.py:6733 +#: FlatCAMApp.py:6732 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "" -#: FlatCAMApp.py:6777 +#: FlatCAMApp.py:6776 msgid "Exporting SVG" msgstr "" -#: FlatCAMApp.py:6811 FlatCAMApp.py:6917 FlatCAMApp.py:7032 +#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 #, python-format msgid "[success] SVG file exported to %s" msgstr "" -#: FlatCAMApp.py:6842 FlatCAMApp.py:6963 +#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "" -#: FlatCAMApp.py:6920 FlatCAMApp.py:7035 +#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 msgid "Generating Film ... Please wait." msgstr "" -#: FlatCAMApp.py:7183 +#: FlatCAMApp.py:7182 #, python-format msgid "[success] Excellon file exported to %s" msgstr "" -#: FlatCAMApp.py:7190 +#: FlatCAMApp.py:7189 msgid "Exporting Excellon" msgstr "" -#: FlatCAMApp.py:7195 FlatCAMApp.py:7202 +#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "" -#: FlatCAMApp.py:7300 +#: FlatCAMApp.py:7299 #, python-format msgid "[success] Gerber file exported to %s" msgstr "" -#: FlatCAMApp.py:7307 +#: FlatCAMApp.py:7306 msgid "Exporting Gerber" msgstr "" -#: FlatCAMApp.py:7312 FlatCAMApp.py:7319 +#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "" -#: FlatCAMApp.py:7359 +#: FlatCAMApp.py:7358 #, python-format msgid "[success] DXF file exported to %s" msgstr "" -#: FlatCAMApp.py:7365 +#: FlatCAMApp.py:7364 msgid "Exporting DXF" msgstr "" -#: FlatCAMApp.py:7370 FlatCAMApp.py:7377 +#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "" -#: FlatCAMApp.py:7397 FlatCAMApp.py:7439 FlatCAMApp.py:7483 +#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" msgstr "" -#: FlatCAMApp.py:7407 +#: FlatCAMApp.py:7406 msgid "Importing SVG" msgstr "" -#: FlatCAMApp.py:7418 FlatCAMApp.py:7460 FlatCAMApp.py:7503 FlatCAMApp.py:7580 -#: FlatCAMApp.py:7641 FlatCAMApp.py:7704 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 +#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "" -#: FlatCAMApp.py:7449 +#: FlatCAMApp.py:7448 msgid "Importing DXF" msgstr "" -#: FlatCAMApp.py:7491 +#: FlatCAMApp.py:7490 msgid "Importing Image" msgstr "" -#: FlatCAMApp.py:7532 FlatCAMApp.py:7534 +#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "" -#: FlatCAMApp.py:7537 +#: FlatCAMApp.py:7536 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "" -#: FlatCAMApp.py:7544 FlatCAMObj.py:4266 +#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 #: flatcamEditors/FlatCAMExcEditor.py:2077 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:7553 +#: FlatCAMApp.py:7552 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" -#: FlatCAMApp.py:7561 +#: FlatCAMApp.py:7560 msgid "Opening Gerber" msgstr "" -#: FlatCAMApp.py:7571 +#: FlatCAMApp.py:7570 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" -#: FlatCAMApp.py:7604 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "" -#: FlatCAMApp.py:7607 +#: FlatCAMApp.py:7606 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "" -#: FlatCAMApp.py:7612 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:7625 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7624 flatcamTools/ToolPDF.py:262 #: flatcamTools/ToolPcbWizard.py:442 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "" -#: FlatCAMApp.py:7628 +#: FlatCAMApp.py:7627 msgid "Opening Excellon." msgstr "" -#: FlatCAMApp.py:7634 +#: FlatCAMApp.py:7633 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" -#: FlatCAMApp.py:7671 +#: FlatCAMApp.py:7670 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "" -#: FlatCAMApp.py:7681 +#: FlatCAMApp.py:7680 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "" -#: FlatCAMApp.py:7687 +#: FlatCAMApp.py:7686 msgid "Opening G-Code." msgstr "" -#: FlatCAMApp.py:7695 +#: FlatCAMApp.py:7694 msgid "" "[ERROR_NOTCL] Failed to create CNCJob Object. Probable not a GCode file.\n" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" msgstr "" -#: FlatCAMApp.py:7735 +#: FlatCAMApp.py:7734 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "" -#: FlatCAMApp.py:7761 FlatCAMApp.py:7778 +#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "" -#: FlatCAMApp.py:7801 +#: FlatCAMApp.py:7800 #, python-format msgid "[success] Project loaded from: %s" msgstr "" -#: FlatCAMApp.py:7906 +#: FlatCAMApp.py:7905 msgid "Available commands:\n" msgstr "" -#: FlatCAMApp.py:7908 +#: FlatCAMApp.py:7907 msgid "" "\n" "\n" @@ -939,27 +939,27 @@ msgid "" " Example: help open_gerber" msgstr "" -#: FlatCAMApp.py:8058 +#: FlatCAMApp.py:8057 msgid "Shows list of commands." msgstr "" -#: FlatCAMApp.py:8115 +#: FlatCAMApp.py:8114 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "" -#: FlatCAMApp.py:8122 +#: FlatCAMApp.py:8121 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "" -#: FlatCAMApp.py:8166 +#: FlatCAMApp.py:8165 msgid "Clear Recent files" msgstr "" -#: FlatCAMApp.py:8183 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr "" -#: FlatCAMApp.py:8190 +#: FlatCAMApp.py:8189 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1009,76 +1009,76 @@ msgid "" " " msgstr "" -#: FlatCAMApp.py:8294 +#: FlatCAMApp.py:8293 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" -#: FlatCAMApp.py:8301 +#: FlatCAMApp.py:8300 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" -#: FlatCAMApp.py:8311 +#: FlatCAMApp.py:8310 msgid "[success] FlatCAM is up to date!" msgstr "" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8315 msgid "Newer Version Available" msgstr "" -#: FlatCAMApp.py:8317 +#: FlatCAMApp.py:8316 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" msgstr "" -#: FlatCAMApp.py:8319 +#: FlatCAMApp.py:8318 msgid "info" msgstr "" -#: FlatCAMApp.py:8338 +#: FlatCAMApp.py:8337 msgid "[success] All plots disabled." msgstr "" -#: FlatCAMApp.py:8344 +#: FlatCAMApp.py:8343 msgid "[success] All non selected plots disabled." msgstr "" -#: FlatCAMApp.py:8350 +#: FlatCAMApp.py:8349 msgid "[success] All plots enabled." msgstr "" -#: FlatCAMApp.py:8356 +#: FlatCAMApp.py:8355 msgid "[success] Selected plots enabled..." msgstr "" -#: FlatCAMApp.py:8364 +#: FlatCAMApp.py:8363 msgid "[success] Selected plots disabled..." msgstr "" -#: FlatCAMApp.py:8374 FlatCAMApp.py:8387 +#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 msgid "Working ..." msgstr "" -#: FlatCAMApp.py:8421 +#: FlatCAMApp.py:8420 msgid "Saving FlatCAM Project" msgstr "" -#: FlatCAMApp.py:8442 FlatCAMApp.py:8473 +#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 #, python-format msgid "[success] Project saved to: %s" msgstr "" -#: FlatCAMApp.py:8460 +#: FlatCAMApp.py:8459 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" -#: FlatCAMApp.py:8467 +#: FlatCAMApp.py:8466 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" -#: FlatCAMApp.py:8475 +#: FlatCAMApp.py:8474 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" @@ -1088,20 +1088,20 @@ msgstr "" msgid "[success] Name changed from {old} to {new}" msgstr "" -#: FlatCAMObj.py:546 FlatCAMObj.py:2031 FlatCAMObj.py:3311 FlatCAMObj.py:5484 +#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 msgid "Basic" msgstr "" -#: FlatCAMObj.py:558 FlatCAMObj.py:2047 FlatCAMObj.py:3333 FlatCAMObj.py:5490 +#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 msgid "Advanced" msgstr "" -#: FlatCAMObj.py:921 FlatCAMObj.py:976 +#: FlatCAMObj.py:920 FlatCAMObj.py:975 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "" -#: FlatCAMObj.py:1155 +#: FlatCAMObj.py:1154 msgid "Plotting Apertures" msgstr "" @@ -1113,9 +1113,9 @@ msgstr "" msgid "Total Slots" msgstr "" -#: FlatCAMObj.py:2103 FlatCAMObj.py:3384 FlatCAMObj.py:3682 FlatCAMObj.py:3869 -#: FlatCAMObj.py:3882 FlatCAMObj.py:3999 FlatCAMObj.py:4416 FlatCAMObj.py:4654 -#: FlatCAMObj.py:5067 flatcamEditors/FlatCAMExcEditor.py:1474 +#: FlatCAMObj.py:2103 FlatCAMObj.py:3348 FlatCAMObj.py:3646 FlatCAMObj.py:3833 +#: FlatCAMObj.py:3846 FlatCAMObj.py:3963 FlatCAMObj.py:4380 FlatCAMObj.py:4618 +#: FlatCAMObj.py:5031 flatcamEditors/FlatCAMExcEditor.py:1474 #: flatcamTools/ToolCalculators.py:307 flatcamTools/ToolCalculators.py:318 #: flatcamTools/ToolCalculators.py:330 flatcamTools/ToolCalculators.py:345 #: flatcamTools/ToolCalculators.py:358 flatcamTools/ToolCalculators.py:372 @@ -1169,178 +1169,178 @@ msgid "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" -#: FlatCAMObj.py:2602 FlatCAMObj.py:4304 FlatCAMObj.py:4520 FlatCAMObj.py:4837 +#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" msgstr "" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4316 FlatCAMObj.py:4532 FlatCAMObj.py:4849 +#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" msgstr "" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4725 FlatCAMObj.py:4730 FlatCAMObj.py:4880 +#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 msgid "Generating CNC Code" msgstr "" -#: FlatCAMObj.py:2672 FlatCAMObj.py:5026 camlib.py:5151 camlib.py:5610 -#: camlib.py:5873 +#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 +#: camlib.py:5886 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" "but now there is only one value, not two. " msgstr "" -#: FlatCAMObj.py:3020 FlatCAMObj.py:3925 FlatCAMObj.py:3926 FlatCAMObj.py:3935 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 msgid "Iso" msgstr "" -#: FlatCAMObj.py:3020 FlatCAMObj.py:3269 FlatCAMObj.py:3549 +#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 msgid "Rough" msgstr "" -#: FlatCAMObj.py:3020 +#: FlatCAMObj.py:2984 msgid "Finish" msgstr "" -#: FlatCAMObj.py:3304 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 #: flatcamGUI/FlatCAMGUI.py:1615 flatcamGUI/FlatCAMGUI.py:1951 #: flatcamGUI/ObjectUI.py:999 msgid "Copy" msgstr "" -#: FlatCAMObj.py:3519 +#: FlatCAMObj.py:3483 msgid "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." msgstr "" -#: FlatCAMObj.py:3592 +#: FlatCAMObj.py:3556 msgid "[success] Tool added in Tool Table." msgstr "" -#: FlatCAMObj.py:3597 +#: FlatCAMObj.py:3561 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "" -#: FlatCAMObj.py:3627 FlatCAMObj.py:3637 +#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "" -#: FlatCAMObj.py:3666 +#: FlatCAMObj.py:3630 msgid "[success] Tool was copied in Tool Table." msgstr "" -#: FlatCAMObj.py:3699 +#: FlatCAMObj.py:3663 msgid "[success] Tool was edited in Tool Table." msgstr "" -#: FlatCAMObj.py:3730 FlatCAMObj.py:3740 +#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "" -#: FlatCAMObj.py:3764 +#: FlatCAMObj.py:3728 msgid "[success] Tool was deleted in Tool Table." msgstr "" -#: FlatCAMObj.py:4185 +#: FlatCAMObj.py:4149 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." msgstr "" -#: FlatCAMObj.py:4202 +#: FlatCAMObj.py:4166 msgid "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." msgstr "" -#: FlatCAMObj.py:4229 +#: FlatCAMObj.py:4193 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "" -#: FlatCAMObj.py:4267 +#: FlatCAMObj.py:4231 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "" -#: FlatCAMObj.py:4425 FlatCAMObj.py:4663 +#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 msgid "" "[WARNING] Tool Offset is selected in Tool Table but no value is provided.\n" "Add a Tool Offset or change the Offset Type." msgstr "" -#: FlatCAMObj.py:4544 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4508 flatcamTools/ToolSolderPaste.py:1107 #: flatcamTools/ToolSolderPaste.py:1162 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "" -#: FlatCAMObj.py:4913 FlatCAMObj.py:4923 camlib.py:3335 camlib.py:3344 +#: FlatCAMObj.py:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" -#: FlatCAMObj.py:4961 +#: FlatCAMObj.py:4925 msgid "[success] Geometry Scale done." msgstr "" -#: FlatCAMObj.py:4978 camlib.py:3414 +#: FlatCAMObj.py:4942 camlib.py:3425 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." msgstr "" -#: FlatCAMObj.py:4998 +#: FlatCAMObj.py:4962 msgid "[success] Geometry Offset done." msgstr "" -#: FlatCAMObj.py:5552 FlatCAMObj.py:5557 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "" -#: FlatCAMObj.py:5563 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "" -#: FlatCAMObj.py:5576 +#: FlatCAMObj.py:5540 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "" -#: FlatCAMObj.py:5598 +#: FlatCAMObj.py:5562 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "" -#: FlatCAMObj.py:5715 +#: FlatCAMObj.py:5679 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " "CNCJob object." msgstr "" -#: FlatCAMObj.py:5768 +#: FlatCAMObj.py:5732 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "" -#: FlatCAMObj.py:5781 +#: FlatCAMObj.py:5745 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." msgstr "" -#: FlatCAMObj.py:5788 +#: FlatCAMObj.py:5752 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" -#: FlatCAMObj.py:5803 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5767 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "" -#: FlatCAMObj.py:5823 FlatCAMObj.py:5835 +#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" msgstr "" -#: FlatCAMObj.py:5841 +#: FlatCAMObj.py:5805 msgid "[ERROR] There is no postprocessor file." msgstr "" @@ -1354,83 +1354,83 @@ msgstr "" msgid "[ERROR] Cause of error: %s" msgstr "" -#: camlib.py:198 +#: camlib.py:197 msgid "[ERROR_NOTCL] self.solid_geometry is neither BaseGeometry or list." msgstr "" -#: camlib.py:1381 +#: camlib.py:1391 msgid "[success] Object was mirrored ..." msgstr "" -#: camlib.py:1383 +#: camlib.py:1393 msgid "[ERROR_NOTCL] Failed to mirror. No object selected" msgstr "" -#: camlib.py:1419 +#: camlib.py:1429 msgid "[success] Object was rotated ..." msgstr "" -#: camlib.py:1421 +#: camlib.py:1431 msgid "[ERROR_NOTCL] Failed to rotate. No object selected" msgstr "" -#: camlib.py:1455 +#: camlib.py:1465 msgid "[success] Object was skewed ..." msgstr "" -#: camlib.py:1457 +#: camlib.py:1467 msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "" -#: camlib.py:2717 camlib.py:2802 +#: camlib.py:2727 camlib.py:2812 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "" -#: camlib.py:2718 camlib.py:2803 +#: camlib.py:2728 camlib.py:2813 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" -#: camlib.py:2767 +#: camlib.py:2777 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " "are parser errors. Line number: %s" msgstr "" -#: camlib.py:3159 +#: camlib.py:3169 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" "%s:" msgstr "" -#: camlib.py:3381 +#: camlib.py:3393 msgid "[success] Gerber Scale done." msgstr "" -#: camlib.py:3447 +#: camlib.py:3458 msgid "[success] Gerber Offset done." msgstr "" -#: camlib.py:3501 +#: camlib.py:3512 msgid "[success] Gerber Mirror done." msgstr "" -#: camlib.py:3547 +#: camlib.py:3558 msgid "[success] Gerber Skew done." msgstr "" -#: camlib.py:3585 +#: camlib.py:3596 msgid "[success] Gerber Rotate done." msgstr "" -#: camlib.py:3864 +#: camlib.py:3875 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "" -#: camlib.py:3979 +#: camlib.py:3990 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1441,26 +1441,26 @@ msgid "" "diameters to reflect the real diameters." msgstr "" -#: camlib.py:4444 +#: camlib.py:4455 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" msgstr "" -#: camlib.py:4521 +#: camlib.py:4534 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" "Check the resulting GCode." msgstr "" -#: camlib.py:5060 +#: camlib.py:5073 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "" -#: camlib.py:5130 +#: camlib.py:5143 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1469,27 +1469,27 @@ msgid "" "CNC code (Gcode etc)." msgstr "" -#: camlib.py:5137 camlib.py:5633 camlib.py:5896 +#: camlib.py:5150 camlib.py:5646 camlib.py:5909 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" msgstr "" -#: camlib.py:5366 camlib.py:5463 camlib.py:5521 +#: camlib.py:5379 camlib.py:5476 camlib.py:5534 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "" -#: camlib.py:5468 +#: camlib.py:5481 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "" -#: camlib.py:5621 camlib.py:5884 +#: camlib.py:5634 camlib.py:5897 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." msgstr "" -#: camlib.py:5626 camlib.py:5889 +#: camlib.py:5639 camlib.py:5902 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1498,11 +1498,11 @@ msgid "" "code (Gcode etc)." msgstr "" -#: camlib.py:5638 camlib.py:5901 +#: camlib.py:5651 camlib.py:5914 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "" -#: camlib.py:5642 camlib.py:5905 +#: camlib.py:5655 camlib.py:5918 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1511,31 +1511,31 @@ msgid "" "code (Gcode etc)." msgstr "" -#: camlib.py:5649 camlib.py:5912 +#: camlib.py:5662 camlib.py:5925 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" msgstr "" -#: camlib.py:5779 +#: camlib.py:5792 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "" -#: camlib.py:5785 +#: camlib.py:5798 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." msgstr "" -#: camlib.py:5824 +#: camlib.py:5837 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:6036 +#: camlib.py:6049 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" @@ -8748,22 +8748,22 @@ msgstr "" msgid "Stop" msgstr "" -#: flatcamTools/ToolMeasurement.py:55 -msgid "Dx:" -msgstr "" - -#: flatcamTools/ToolMeasurement.py:58 -msgid "Dy:" -msgstr "" - #: flatcamTools/ToolMeasurement.py:53 flatcamTools/ToolMeasurement.py:70 msgid "This is the measuring Stop point coordinates." msgstr "" +#: flatcamTools/ToolMeasurement.py:55 +msgid "Dx:" +msgstr "" + #: flatcamTools/ToolMeasurement.py:56 flatcamTools/ToolMeasurement.py:74 msgid "This is the distance measured over the X axis." msgstr "" +#: flatcamTools/ToolMeasurement.py:58 +msgid "Dy:" +msgstr "" + #: flatcamTools/ToolMeasurement.py:59 flatcamTools/ToolMeasurement.py:79 msgid "This is the distance measured over the Y axis." msgstr ""