From 32f1c4f8fe20548788a08d25e139680b86fef4ac Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Thu, 20 Jun 2019 19:40:06 +0300 Subject: [PATCH] - fixed Editor Transform Tool in Gerber Editor - added a message in the status bar when copying coordinates to clipboard with SHIFT + LMB click combo - languages update --- FlatCAMApp.py | 5 + README.md | 6 + flatcamEditors/FlatCAMGrbEditor.py | 138 +++--- locale/de/LC_MESSAGES/strings.mo | Bin 305211 -> 305418 bytes locale/de/LC_MESSAGES/strings.po | 696 +++++++++++++------------- locale/en/LC_MESSAGES/strings.mo | Bin 284569 -> 284761 bytes locale/en/LC_MESSAGES/strings.po | 699 +++++++++++++------------- locale/ro/LC_MESSAGES/strings.mo | Bin 303498 -> 303751 bytes locale/ro/LC_MESSAGES/strings.po | 766 +++++++++++++++-------------- locale_template/strings.pot | 691 +++++++++++++------------- 10 files changed, 1540 insertions(+), 1461 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 71d91468..bccbd244 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -5424,6 +5424,7 @@ class App(QtCore.QObject): self.click_noproject = True self.clipboard.setText(self.defaults["global_point_clipboard_format"] % (self.pos[0], self.pos[1])) + self.inform.emit(_("[success] Coordinates copied to clipboard.")) return self.on_mouse_move_over_plot(event, origin_click=True) @@ -5580,6 +5581,10 @@ class App(QtCore.QObject): if self.command_active is None: self.select_objects(key='CTRL') self.delete_hover_shape() + elif modifiers == QtCore.Qt.ShiftModifier: + # if SHIFT was pressed and LMB is clicked then we have a coordinates copy to clipboard + # therefore things should stay as they are + pass else: # If there is no active command (self.command_active is None) then we check if we clicked # on a object by checking the bounding limits against mouse click position diff --git a/README.md b/README.md index b1953abc..c181d969 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,12 @@ CAD program, and create G-Code for Isolation routing. ================================================= +20.06.2019 + +- fixed Editor Transform Tool in Gerber Editor +- added a message in the status bar when copying coordinates to clipboard with SHIFT + LMB click combo +- languages update + 19.06.2019 - milling an Excellon file (holes and/or slots) will now transfer the chosen milling bit diameter to the resulting Geometry object diff --git a/flatcamEditors/FlatCAMGrbEditor.py b/flatcamEditors/FlatCAMGrbEditor.py index cfe66bcd..43c84084 100644 --- a/flatcamEditors/FlatCAMGrbEditor.py +++ b/flatcamEditors/FlatCAMGrbEditor.py @@ -3890,7 +3890,17 @@ class FlatCAMGrbEditor(QtCore.QObject): "%.4f    " % (0, 0)) # Selection with left mouse button - if self.active_tool is not None and event.button is 1: + if self.active_tool is not None: + modifiers = QtWidgets.QApplication.keyboardModifiers() + + # If the SHIFT key is pressed when LMB is clicked then the coordinates are copied to clipboard + if modifiers == QtCore.Qt.ShiftModifier: + self.app.clipboard.setText( + self.app.defaults["global_point_clipboard_format"] % (self.pos[0], self.pos[1]) + ) + self.app.inform.emit(_("[success] Coordinates copied to clipboard.")) + return + # Dispatch event to active_tool self.active_tool.click(self.app.geo_editor.snap(self.pos[0], self.pos[1])) @@ -4406,19 +4416,13 @@ class FlatCAMGrbEditor(QtCore.QObject): if geom_el in selection: geometric_data = geom_el.geo buffered_geom_el = dict() - if 'solid' in geom_el: - buffered_geom_el['solid'] = DrawToolShape( - geometric_data['solid'].buffer(buff_value, join_style=join_style) - ) - if 'follow' in geom_el: - buffered_geom_el['follow'] = DrawToolShape( - geometric_data['follow'].buffer(buff_value, join_style=join_style) - ) - if 'clear' in geom_el: - buffered_geom_el['clear'] = DrawToolShape( - geometric_data['clear'].buffer(buff_value, join_style=join_style) - ) - return buffered_geom_el + if 'solid' in geometric_data: + buffered_geom_el['solid'] = geometric_data['solid'].buffer(buff_value, join_style=join_style) + if 'follow' in geometric_data: + buffered_geom_el['follow'] = geometric_data['follow'].buffer(buff_value, join_style=join_style) + if 'clear' in geometric_data: + buffered_geom_el['clear'] = geometric_data['clear'].buffer(buff_value, join_style=join_style) + return DrawToolShape(buffered_geom_el) else: return geom_el @@ -4468,17 +4472,20 @@ class FlatCAMGrbEditor(QtCore.QObject): if geom_el in selection: geometric_data = geom_el.geo scaled_geom_el = dict() - if 'solid' in geom_el: - scaled_geom_el['solid'] = DrawToolShape( - affinity.scale(geometric_data['solid'], scale_factor, scale_factor, origin='center')) - if 'follow' in geom_el: - scaled_geom_el['follow'] = DrawToolShape( - affinity.scale(geometric_data['follow'], scale_factor, scale_factor, origin='center')) - if 'clear' in geom_el: - scaled_geom_el['clear'] = DrawToolShape( - affinity.scale(geometric_data['clear'], scale_factor, scale_factor, origin='center')) + if 'solid' in geometric_data: + scaled_geom_el['solid'] = affinity.scale( + geometric_data['solid'], scale_factor, scale_factor, origin='center' + ) + if 'follow' in geometric_data: + scaled_geom_el['follow'] = affinity.scale( + geometric_data['follow'], scale_factor, scale_factor, origin='center' + ) + if 'clear' in geometric_data: + scaled_geom_el['clear'] = affinity.scale( + geometric_data['clear'], scale_factor, scale_factor, origin='center' + ) - return scaled_geom_el + return DrawToolShape(scaled_geom_el) else: return geom_el @@ -5230,9 +5237,10 @@ class TransformEditorTool(FlatCAMTool): try: # first get a bounding box to fit all; we use only the 'solids' as those should provide the biggest # bounding box - for el in elem_list: + for el_shape in elem_list: + el = el_shape.geo if 'solid' in el: - xmin, ymin, xmax, ymax = el['solid'].bounds() + xmin, ymin, xmax, ymax = el['solid'].bounds xminlist.append(xmin) yminlist.append(ymin) xmaxlist.append(xmax) @@ -5248,13 +5256,14 @@ class TransformEditorTool(FlatCAMTool): px = 0.5 * (xminimal + xmaximal) py = 0.5 * (yminimal + ymaximal) - for sel_el in elem_list: + for sel_el_shape in elem_list: + sel_el = sel_el_shape.geo if 'solid' in sel_el: - sel_el['solid'].rotate(-num, point=(px, py)) + sel_el['solid'] = affinity.rotate(sel_el['solid'], angle=-num, origin=(px, py)) if 'follow' in sel_el: - sel_el['follow'].rotate(-num, point=(px, py)) + sel_el['follow'] = affinity.rotate(sel_el['follow'], angle=-num, origin=(px, py)) if 'clear' in sel_el: - sel_el['clear'].rotate(-num, point=(px, py)) + sel_el['clear'] = affinity.rotate(sel_el['clear'], angle=-num, origin=(px, py)) self.draw_app.plot_all() self.app.inform.emit(_("[success] Done. Rotate completed.")) @@ -5288,9 +5297,10 @@ class TransformEditorTool(FlatCAMTool): else: # first get a bounding box to fit all; we use only the 'solids' as those should provide the biggest # bounding box - for el in elem_list: + for el_shape in elem_list: + el = el_shape.geo if 'solid' in el: - xmin, ymin, xmax, ymax = el['solid'].bounds() + xmin, ymin, xmax, ymax = el['solid'].bounds xminlist.append(xmin) yminlist.append(ymin) xmaxlist.append(xmax) @@ -5308,22 +5318,23 @@ class TransformEditorTool(FlatCAMTool): self.app.progress.emit(20) # execute mirroring - for sel_el in elem_list: + for sel_el_shape in elem_list: + sel_el = sel_el_shape.geo if axis is 'X': if 'solid' in sel_el: - sel_el['solid'].mirror('X', (px, py)) + sel_el['solid'] = affinity.scale(sel_el['solid'], xfact=1, yfact=-1, origin=(px, py)) if 'follow' in sel_el: - sel_el['follow'].mirror('X', (px, py)) + sel_el['follow'] = affinity.scale(sel_el['follow'], xfact=1, yfact=-1, origin=(px, py)) if 'clear' in sel_el: - sel_el['clear'].mirror('X', (px, py)) + sel_el['clear'] = affinity.scale(sel_el['clear'], xfact=1, yfact=-1, origin=(px, py)) self.app.inform.emit(_('[success] Flip on the Y axis done ...')) elif axis is 'Y': if 'solid' in sel_el: - sel_el['solid'].mirror('Y', (px, py)) + sel_el['solid'] = affinity.scale(sel_el['solid'], xfact=-1, yfact=1, origin=(px, py)) if 'follow' in sel_el: - sel_el['follow'].mirror('Y', (px, py)) + sel_el['follow'] = affinity.scale(sel_el['follow'], xfact=-1, yfact=1, origin=(px, py)) if 'clear' in sel_el: - sel_el['clear'].mirror('Y', (px, py)) + sel_el['clear'] = affinity.scale(sel_el['clear'], xfact=-1, yfact=1, origin=(px, py)) self.app.inform.emit(_('[success] Flip on the X axis done ...')) self.draw_app.plot_all() self.app.progress.emit(100) @@ -5351,9 +5362,10 @@ class TransformEditorTool(FlatCAMTool): try: # first get a bounding box to fit all; we use only the 'solids' as those should provide the biggest # bounding box - for el in elem_list: + for el_shape in elem_list: + el = el_shape.geo if 'solid' in el: - xmin, ymin, xmax, ymax = el['solid'].bounds() + xmin, ymin, xmax, ymax = el['solid'].bounds xminlist.append(xmin) yminlist.append(ymin) @@ -5363,21 +5375,22 @@ class TransformEditorTool(FlatCAMTool): self.app.progress.emit(20) - for sel_el in elem_list: + for sel_el_shape in elem_list: + sel_el = sel_el_shape.geo if axis is 'X': if 'solid' in sel_el: - sel_el['solid'].skew(num, 0, point=(xminimal, yminimal)) + sel_el['solid'] = affinity.skew(sel_el['solid'], num, 0, origin=(xminimal, yminimal)) if 'follow' in sel_el: - sel_el['follow'].skew(num, 0, point=(xminimal, yminimal)) + sel_el['follow'] = affinity.skew(sel_el['follow'], num, 0, origin=(xminimal, yminimal)) if 'clear' in sel_el: - sel_el['clear'].skew(num, 0, point=(xminimal, yminimal)) + sel_el['clear'] = affinity.skew(sel_el['clear'], num, 0, origin=(xminimal, yminimal)) elif axis is 'Y': if 'solid' in sel_el: - sel_el['solid'].skew(0, num, point=(xminimal, yminimal)) + sel_el['solid'] = affinity.skew(sel_el['solid'], 0, num, origin=(xminimal, yminimal)) if 'follow' in sel_el: - sel_el['follow'].skew(0, num, point=(xminimal, yminimal)) + sel_el['follow'] = affinity.skew(sel_el['follow'], 0, num, origin=(xminimal, yminimal)) if 'clear' in sel_el: - sel_el['clear'].skew(0, num, point=(xminimal, yminimal)) + sel_el['clear'] = affinity.skew(sel_el['clear'], 0, num, origin=(xminimal, yminimal)) self.draw_app.plot_all() self.app.inform.emit(_('[success] Skew on the %s axis done ...') % str(axis)) @@ -5410,9 +5423,10 @@ class TransformEditorTool(FlatCAMTool): try: # first get a bounding box to fit all; we use only the 'solids' as those should provide the biggest # bounding box - for el in elem_list: + for el_shape in elem_list: + el = el_shape.geo if 'solid' in el: - xmin, ymin, xmax, ymax = el['solid'].bounds() + xmin, ymin, xmax, ymax = el['solid'].bounds xminlist.append(xmin) yminlist.append(ymin) xmaxlist.append(xmax) @@ -5433,13 +5447,14 @@ class TransformEditorTool(FlatCAMTool): px = 0 py = 0 - for sel_el in elem_list: + for sel_el_shape in elem_list: + sel_el = sel_el_shape.geo if 'solid' in sel_el: - sel_el['solid'].scale(xfactor, yfactor, point=(px, py)) + sel_el['solid'] = affinity.scale(sel_el['solid'], xfactor, yfactor, origin=(px, py)) if 'follow' in sel_el: - sel_el['follow'].scale(xfactor, yfactor, point=(px, py)) + sel_el['follow'] = affinity.scale(sel_el['follow'], xfactor, yfactor, origin=(px, py)) if 'clear' in sel_el: - sel_el['clear'].scale(xfactor, yfactor, point=(px, py)) + sel_el['clear'] = affinity.scale(sel_el['clear'], xfactor, yfactor, origin=(px, py)) self.draw_app.plot_all() self.app.inform.emit(_('[success] Scale on the %s axis done ...') % str(axis)) @@ -5465,21 +5480,22 @@ class TransformEditorTool(FlatCAMTool): try: self.app.progress.emit(20) - for sel_el in elem_list: + for sel_el_shape in elem_list: + sel_el = sel_el_shape.geo if axis is 'X': if 'solid' in sel_el: - sel_el['solid'].offset((num, 0)) + sel_el['solid'] = affinity.translate(sel_el['solid'], num, 0) if 'follow' in sel_el: - sel_el['follow'].offset((num, 0)) + sel_el['follow'] = affinity.translate(sel_el['follow'], num, 0) if 'clear' in sel_el: - sel_el['clear'].offset((num, 0)) + sel_el['clear'] = affinity.translate(sel_el['clear'], num, 0) elif axis is 'Y': if 'solid' in sel_el: - sel_el['solid'].offset((0, num)) + sel_el['solid'] = affinity.translate(sel_el['solid'], 0, num) if 'follow' in sel_el: - sel_el['follow'].offset((0, num)) + sel_el['follow'] = affinity.translate(sel_el['follow'], 0, num) if 'clear' in sel_el: - sel_el['clear'].offset((0, num)) + sel_el['clear'] = affinity.translate(sel_el['clear'], 0, num) self.draw_app.plot_all() self.app.inform.emit(_('[success] Offset on the %s axis done ...') % str(axis)) diff --git a/locale/de/LC_MESSAGES/strings.mo b/locale/de/LC_MESSAGES/strings.mo index 2984db7c9893bd60f97c178862b44faf181b792d..c1c748afb1edaca87a26db90adab5ee80c8647f0 100644 GIT binary patch delta 39470 zcmZAA1$Y(51FzvdIR|%lNC+;$Em$D9yL)hVF9&xk?(P(5k>U^Q-=1{2^(B-^=-aquzD32>ZG2+oXUjuQiCV=P>bl=C~A2*f1e zp!GDSAbtar;RmE|PJ-p8ffN{tct&e>YaUd+Lg>TVm;@W3I@TQ%;s8{8lQ9L?cV@W( z$Jva!;AxD9k1#%dMl}>?g=ruoCMRA5b?0?$yn}TlMk0N&btUS~*I{(rZsUhA9@lqH z6G)7=ZN>-Gh(uaxD#k}$C^f1>xiKl0Ms=(Ss>8iecR1QQAJy(g)T2FSGvJN{=JkKe6$hXnQf1L_gPj_YynC=;qfp*CI{Rjv(cga)E6I0jX25$eJ_Q6qKS zdc*p{>Wyde6UXy=oYWM|OoAFNhZ@Sps9D+tHB>)gT%2KDiMqfxR7d_qJ&MaV{{^bP zC%!QbYSpB&@uFChWl_;jAcTyC2|Z2@Jc;VSSJX0!o5LsX-u19rz59)%aQ6qW_)&6T#z0atTiJa7}=XVkkh)O~_)P=L78ZL+`Sjt)hb)jac za$Qj!8-TjtXjD5hZT=z~UyHi%W>mX-FcTif3R?fK2!xYRESbkCi9_*($8ioLlh&D< z!aSP8*o*iZe2pDanmcTk%5Y1GnGIxF%%Mrhay7Q2<#sXN7co>eyemE8*2YZ~-_%mk3 zOXyd?o6gM692l8+Rn)VrgPQeiQIDb@YN$uq_zbK~e3?!EXpNTM<76N`De93GM{QtL zQSC;cR!gt+tba8)fdpM(9;(6`RQe8^e$2)%VII=&<10*_!90T48O<{eMt38__vDA8 z_LCx+%mhDH*yfWp#KDc<^+mn^EiERA?gB2vzs2KLrubbs5`HM+JI`K zcFum-8fW1W{AS}zLOf1c;?Z(=oT^wIJK{cnS3=?x9BN8S3@>1+_(c^O?z)7`1O?L8a%zdRqVG2~iC0k##3*Rq4LL9?@g`US$D;1w0;=2t8;@DYY&2<5le#dfgXK`4h#H|D zZFAI(bwa;}ZWIAcrpc%woP}v|CF(-QQRQx+?(jZp9e=gyaYN0}CPS4^hgyaOP$OH} z+7>mrhoL$$E0p!Wj=(Y!)?kgoW|DnD-GQ%&=}9R#8#VS3cF%!X>H0IGaAYED$c zy4VC$;qRzNc;3c8+IZ5UtbY|KR@6L#MyQ5*phjRY>Q0uThHN{A;5pP*8c@vRtjBU# z2H#;A7Ax*?HZYm}*ob(J66Rep9-9&0gL+-3@t5>Cvk5do4b^*Gj0wUuJ6R3Z*rhy9 zTjFi7AfCno7_GF&$&DpY%d98X#6zeHCoRJ>#$KpL^9Hr?L@n!avYS;PfqDdoQE$7yP&;3=a&``&9!WaXOfu8BWYpni&{<-F$mYAI(!<{(JQEWf1@7lW7HgZ z@5ULM$d$|pB(SDK-9bLgfF-a#wnYu;0n`qbrn1=qTcXMjLyg!ZR0pPFA)JSrI~P%R z{sQ%=gR5|ZdN#!fXcBh8xi|qe$ud_plcpYOB*tP5+=<#RVplW!LV8qwbyNq2VrLwQ zniFrZ3YM8}%p(qHd%F>W0gpu2-uz>t78tCqWl#i`v<`+XBN;&+cc`5Uxc% z>yM~M5V?-WnT)A$C$2~3x36nPtT(FMSWJnFQImC#O~2_UkdA~msE#DBXYMcv)$?pN zo)0za!%#z42lc30+xQ^Vh)uNdg{TW{u<55zbL?-7jbD*z#PhFjF5I|**_&Hpd@9%|D3f@)x^P5%QmS1zJP?j@=t-iBtV6QVkr7L^`~x{->=b^K0q0&2J?YLfY_ zQ&C&&O3a5(QO_>8k?CMARD-2Z>9tWWu?W=2bwEARp4LIAEq63(#E-bL{+H-;2ugiR>NmT)Lp*pBLYlXT{7tDkMZG1Uu1U90|?L>9-FlwYPq3Yd6 zzb4&t0^RW~YPPm(W-c@sb>T^v7w4iHI&Hm;y1;AeSL7496ScY7%5${fwM%>;mZRK~ z2#?brAER!tbxYR2`;1ze3k^c`d@QPCQ&A%`2i4;>sPbD;>w7=yQ5`|mJB2ED88uS( zumHZc>DgMD{6eT3DbvdDaT*Y)N5Wm)gjsM_YqMStqMqsBs5$Z$vtq(FX0nD^YhfVi zZ7~GLp!SVz7=&k0L;o7p(Ql}cjp}b}5)z^cq(WUV6Y9>3p(bG!)NF5!+DQ7?{Ao6Q z8LER@Fapn^hP*&Kk5e88V}3l2xzN+zjHEvg0rjXTs(~`7W!Mt+jQXNFG}6ZBp@w#i zjc>Q{BbbNui&zSycQDJhs&zW*j<2B}(Z85f>;E+YT_{#Z^D#OFDxMehj7!>hIaI|u zSQI0$HZI2I_ztzq>UT18XAHU@YEdt#S=KYCcA|IIM>W=85(1N$rS+^2y6|;51^RaL zIH8!JyV)?RpkALnP#ufe!wg}3R6Heq#k9zl;so{dIP6)@pkCY{_GtW8!s%OEdxsVgJ3JRl^Wl5V}A2l~xVsh+>sy7L>;mkwT-+=3Ihs|%> zpBp9K3pK)#2C)A1tP>DWgBej71#mQ$#^QJqHHl&mG}c4i@eU@7d1{w@TxJpRUfm~4a@(yFLO zF$&e-c+{ktih5KFPz|p~bzrB>KW5X<+xR~iNd6Pl$i*6IUvkK!^g9^|Xfl;TO`Zy< zXIaJC9M$uls0)rjbzll=1eVzJ-%uUdgL;I2VF2DmP4a)S4SqtEix{PmXZ>{}kcjp9 z6Y7~x9c|X@4$MaU+!*s^wlmhO_jITs3_*3QKB{BwF&*~7oH!3v{{%L{kEorr{y6g} zyI^Fk|2_mXG=r?8tdmi1yVO6R1ac8uc=|fEtYx9?(Mq&%9y#uKB&f556 z)QKV>dwjwvX6MU+y3JI7WH~BiaD?$YFYco5y(tn3a-XoSPENDGpj*`{JjRKd)s z$(a-N{?BjIE2HkH7V1LHP#x}s>WCjR;UpX1hFYdaF*}|?wf_zMx`W7b%m~E8Zp71I z7yKF30nc1x6x4-dp)Qonre{WVFbC=pltJwuwNWG3$=b{MlXb*g*1smz1QJwn3hGfT zMh)EtR72ZQbKs0ke~jw*8=LRUGpi*jY7P}bjc5hbqiT)nV1Lwz{cK$@kM-Y!gta7S z`J|a|RzpWr!5OHEOHm`S19eCHP$O{EdKuO62R8q$^(&?)J@NvRpA9b(55P2umtFXQIFtf)cbu2s-2yv^7~O+^l4m$_fZ{~w8?xuF&~Q%zp;t+uZ-lIO@U09mUw<_ z!4TI+O`2U>%+No;hQ#ClZoY)-jK2~O*=oKGe+v%~pSaCfeY+{2aEJM5*A?55KNB@_ zo}EcdAmL8a^Ngqt<)7*aPT`JCgiUFOdMJHt$$_YcF%C6mQ&3ILMUBmR)L86AjonGq z7+u2v{0BAWcTqdaYt)#3M)qYV@-D_^BMFOkdz@h;)ZAmf-o3P!&#|^{n_(3)cA+Z9IBoJHFih!K48Nd0a2GjaJ}1w`uEb-X^*Dpk zkA=`VXF3{+t%!EQNlM1P=#MyW0@qP{UF{3zW9ML02bQ4jq=sJhIB$s`!jri3in*b&SIrlBS5P0`s$6qN!tabHFo%SN*FDZ74837~0+9Zu z=}=$HK>AYaaV*V+Ut&Hi@VDtmr+>^`7<$`$mG~aD#}2z=Jc*f!C%bF5v~Ud9-q?Xa zMKU&EHT;C7u+lxVSN?3>hb2gVj@dESeUsl5wFOPY;u!F+sb3Q75FdrL@TN7-19O9; z(fw?6jlet##D8e^!VP$tc-}`IXBWnL%qM>C^f+qM{p*Rj)5%Xg4!e#M`I*PrO#1fc z#If@W^ZPPEFZqN({w&N-`sV-4@_dYXtGq<_XCt3&LiAT=_fCZR7?}gLu1lfTd3DrY z*bFuM`(Z!)1^Z)$*Jl4%jM^_&pw{~a)N5)xs+|OH%xf&|8`i%r5MmPwqY9KorPo0< z5P>PNlXWa=k6ejbrrx*4yjYodD;$fPP#aINcV^=%gSvtGsEw)nJJx?<0z*mAo;Vw| zgRMlpXxG{F?WiF;f?FBVv#8}Y_5+WC4eAhT?u33e%XJ)>*8~kG0D~xKtEb4|T z`w3`SwYLeAZ2T7+KZ6>9XQ&>(M~zU_ujUaYLES($RDL+Bd`FN#o;jmoSIzU`9feiR*xCrzSaIk zU9eQF0QZ?zL&ck+?zkiBrPBvBGHX#^@$bO+xCb=?XHbvo4yyiZ)FgLe2e@-2HoCtX zm6U*bUJ5mYol(zd0BY!l+xU3Yg{Py||1s1T?w_$ECW#Z^{s4bCwkQ4+%VNE_0q$1_ zi!hw{AJ~+Ujvg<-@9ypGXrwVWuVG|6&Z>S4}q&6ea9J3K0g6Yw} zo`8n*JZf14q%j4Gp?cZ@bq9-3LwX+dOnrf-;Yt`r+>h$OJ}ikZQRVXnnGUzaip1w( zd3=Cu#eOGu+5q=!po*x9Q&4w!0d;4wg3TPLfEuChs0Q|-MksnZQ?DFqB*&pfW-BWH znN81@KEVBeQx7YUJ`Bri{huVD&tge4m>zdV-T4A+jptB356u|heyALYnw00PpHLSL z&SWNORaCq;HpL~V`T?2E9IApEscsmq^}mFG?&v;hXme&UJ@1Q}Y`>%K{3@#9Oj!fm zpBmRf-N_s*h4)bHWXTrbK9ZiO_P3z6_I%mR9BPB=*dp}jBjALXjQm)YXcw%5dr>2k zIERUM#7)ExqRREjX)bgGwH%}73UEIqXU8!8Z@M$NH5P&fD*)uAG}S^xTA&^fnh z=qPH^M9X9DsE~CKYHl1vZ6J~J8Y`gECtA;-=1#(V=FwHc2E;d^%Eiua+OLkoi4V!| z4{*P=7`Z@z`^}W}s39+bHQAwBVOrwb3-T5uejTIXokHf3JPl=wCSJI(iB~LQMrt

$go&)1iG>lX%8rW<&<~3Fw)v#?1H%)zehP&7CyE>cnSZH++QUuu+&vUydsO z4mD{*OPC9EL2b|$6>9R%u>OT%!~@Ei4uxY+;*(J$6REr%A=HR;ab*@t?$JV(__S<8%2Q|n07 z4Xi`Wfit!2`~RaY5LDX~D2I9!9c_FXYVvGDZKZcmFQpuH%pFBwY2uquL;eBP(MomA zBk7H5Z#8PxpFvIDsP+7&V*PsN4i}=f*nd$MN>JYneN)sUnTCV$G-_w8-XOr;z*b@{ z;+}?PF4RG-qTjI+K0sYKUn65j>ry`fJ=?3O$rYz@fcs^41nQH^PE<#dH8J_EP?Kys z>XAG_JyTA-({0fu|Ux{0K8Ll~Jo@45r0DQ0+ZLz3q~=G>@=6rXt=GQ)>NBA)r~m0n^|O z)U*DAi7-q#!a$7L)-;?Mbt4r~7wBhQjw*Ksb%Xz*IvBql z?Q?ynAOXET8=`tR7*$}2^{CB%hFY!(+MBI96m_9q7>J88H6F13gKEd=V9bEJkxDk+ z6aDJZ90IDi12t=}SYvcF6^f#Uyp?r2Y8@X&JPUia=BwQz$fs7PI%+buM?Lf5sL8q!HRMMz z2|ly&$lXo**-#^01$D!n`~=j{a8$z!P#xKdx`QjIA@lSwL!JTEKm}_%)SMWNg>VDv zjvt~%Hf>LHgJn=R(hap5=GeIZkS*{OweFMlGLx$`YW)vJb?h+u@Fr?5+_5I;ZNBIX zN8NE9)ChF8PD9Os9jFf^7g3MkCA#ZBxQ`j?FjU26sD?)3MGqr_+S7aW3vgaWV`x#6 zX~!^A{szV;?j3HvXibcYr@<8g{7efx%u%LdO4KCF zfqFERkn1|FQ5Cylbo>b;<7n$7)SQ`t8mZq=^>?D`UqH=~Tc~#4U{bE{1dKKpOo6IU z5LK`SY9!jC8Xk;#6pK*HZoBo8&3}U$!9-)sNEAkOuoUVBD`ISHi0VLl^y@->2%W;J9$UAQ!ASv5o5X&=-Ljl`&YV3>wl zE%V=)b`HH^{c8lSlb~hwAF2cK-kNWngrMTZQ5SAx?TH$~@u-f>M%CYm8tSX4@{cec z2D~#Pnh+JwWDWHbP{m59JLq6DMq)zZvrs)=hq|-#s1bXN8scd0O-IvWAn`n?JFbPg zPz!5M)T$YY8kyDDfo0*}MnGF@x=-dkT@zJtIOC%dRC-R-jg&`Sr#|YDcfcfC|3e7GC1Ez|!fQ|+*^MfA26f?oQ5X1( zDwn|Vy6G8E7b=Wurxq%|mCf&qy6^;4y9<%I$XC){CxYuc{}O176+K?}E1lKI?&?Ge z@VZ|c4)A&1&-I7#5anV<@;X`A8PA~R&gaNpcc@cD@wy+;3S&Xi$KrH6h?+C?qk7$q zs1L@c{t)zUC1YANulvu=Dn<9Yv-%=x*55(BM4T92Co>h&p`Kxtn5JAUtWUf-YKPlt zJ&aX|pTgCcI+oWNh)1y;mX2*YI5D=@@AmWv2^wN2j@SK$VYyYN0$V3oee9nPiz`Wio=Mf!y>o}v*SI?h6$3Gc$l>_>g_oX`)mELB+!k7 zv`M}0_kO2g6yn*FnLEjc8sgHZN!Ae6;Z~RqC*lm;gb%SoaJ{dPbpcU^cp+h)|PnC+f9+Bs1$jDuI7&#v|0M ze~URWRu(g4#ZZ%`I;x|MP#qY68tQ2_e;#V6SE9-tL~UTVt&y{uq0fTuD#^t}?nN!D=!MO4OofVPL(PTas2gl({e*h`&Ml(raQ#yR4v-M5sMq}-&S_jr zJbf{9hi6b1j9=VrK&eoVEF|y1|pyn;47hJI@H{ z4nHdaV~3e|O4Jq_f|^VXaXel{EyFe?yzYn3lc;(xQ16DXsAU$Zr1?A%54FE^!n!ya zHTfQ(Uqc-;+!UyQ8&nXrfut&BMxZ8YKbVHi@Fc3i9Hq@r*1){PN1{F-?8Gj(A0seV z8L!g2Q5X6XHEFJ6JA8s_piU+8 z4BO*M;uG;K=C5q>qg65Ql2oXXEQ&$c8Z+Q%)N=Q4AdsEF3Dl(dgz9OOs;1}hQSlV0 zy*vY|L*X`F)5g1^cEZ6nJ{{8#Uyiz=!>C7l$>x8-4*dR!6RVoJK)>o{PalqY2h2y^ z>1OLubVtI*pP(-2)G(g|5~1paqCPKFN9_Y`Pe~-!e^&wN(*S?is3~uc!+osAbYKpeA#E)T0cyR<_o~Dx^2Zy!fls`oBjYD<-dP zEQ6X<-BCl>AN369poa1wYGf{;-hvNpdO#iXh!UbYnhP}&B`_T8Vk4Z3&G0??OB1MH z*UaXHs0P=gHk2c%1}>oH#$(jZ_YPGqem&Entf(6(iYnI*HS2q!Mr06b#Kzh5MX1%Y zx*qFa6}FMk0}r7tSg^h+Pz9CW7&T<=P^)5rbpvX0?z8@hU3lwV#9E}6Y3Oyj5}%9J ziN|d0b$?l{32G!?HfH_n0^TO(j^m(uo(i=rGoT7)w-!f@Om&;z6ji@9sw3S|clHyi zqvNp{&PR9hqDJHiYVLgS6KF*sW>fB*o_5D<#78$XTkICpq`Zv5_!{$L(&lCkR7K7D z2-FwYQI>7 zx}%e*5xR-mA6}qtC{~2m{SiwK)H~)7s)GS7&1cE1Nc(=LB>@e27gUe?Vrra%>fvvw zNw?R=ucA8gz{WqLIugB=>3DLiL_9YZL_ccwZ$mwrw_T5D3W{?ZUoMqW38b!+4G zP;;P-P4A3)*27TGbP{&Jlh_wS+t{z`QT6^s-Pkj%i0`c7ZOw>H!rEH@iwQ&tpaAMy zmEYQXor9!1oy=?a5b7Cz#3Pu#vw6)vMLnWds0)3?K;}@CE?#F3X6ov7cH_U@`23H{ zdzdfR6ZY~t*C^i^{hEyxdYd7vi;A~FZ9qLycRUaSaWrb^R-@MQZq%1xXHm2Loz0Kh z$F!FcACjI8m7ln;`FxQP^~f&uW&LZt|4V`je6bm^`+1!O#8YEA+>KQ+a(^?a>R=?| zD^Yj84%MOGkuh}s#2`F{n!GPj7mPE&EW0$Q53RWeu>N(YU2H}lRKsIY&u}uT;!M=Y ztVB)D&8Q2U!?O4WwIdcCXgX8}GZSx$dURtj3^$`z+ZznQZ+=@KQLT6=9w2p?TBS?G!DQq=;MY);Y7TQi3gkV&ruuBM;nhd#I)y6Nbdf-s=s79cMdIdcs2gcxvbxsp-ZS){x@owK1N;mBWg0n8DZkVs0$TD&80FnUKg_xZ-shL2XdI zQ7^5bsO35bHNboT#qW(Xo~rA-QR}5OcIV^Q*1ufY?=Ep1Myp^ z9WU}Ulb#-R;c!$#wNbOa88*Z|SQXEq>IF|XJ7q}>Cf*Wr;%H+J6{rfEP#4&X8i5n2S^NMsQtwe0jy2!JgHh!QVri_2S{1WV z9r*=w;}%p09?WO`>sdV~L3jQU2Vt}Y<|EZ;)N=7GG!-JDIuH{z2~(o(C4A1e&A1HhYOBvC0zDk)KfwEJJM=dr*(&C~73m zqdIig#$TcC*t^si8?zHnhPtt`_yQYXKJ-^yX1-rH#Ci+&lTmcJ`F`Iw)Vl7t!s~3o zqu2oltu!5bWc97GvmDjYY^agQkKM5%YHsa8b^K4G-?>IW%i=L=vIVR*1>>T6oC-DT zbE2Mg32S-GLA*K^$01l7_hS`Ivc|+)V<_=mSPc#gVn&R=f$#5QDC#SqUr`-+hEp-)uU>xs zLtv)@IPf>~38?5svxN>q-O)+ZGEKM1e0Qq}4&@H!U;)xoZ80yc+SVm_h4klm5s&@u zb^l4mqOIoj+jW~6*)izXESyI`k6=9p;bGKJ|BFlUIX1zm+s(86&-xiP`y=l#rbSK0 zVmJ{i<9NJ|x=y>D#sR3W6({Vp>wgUiYG?~;XwRS~%PmyLo}ea^cbDmTQfpRJy<(^h zr2(p5b5!}xxD$t=9$oR>W@Ia3CE{~;`|XZKf@bA=%z{z(@a!1kJXnnQ>b+*@A7EGF z>GqjNHXRQWue0BL8$RU$uXB|6KX?S!95mkv?S9BC!`rA&PH_*L4o>vjz*5wmZbQxX zQ#SrL>QTHyO}1~S&kIriFy&&SK4hjrja)iZer_8th+0KuP&ZiL#@nGr#6OUL*6V20 zXSOM*t#mqSC^uR6A^-l&If45~-+t8VEGORom>JT*KlvO%16{EYdv?^5=7&xt&v>1e zl>ZHT;L@|^$8kx{xj#4bJ4*;?L&;As(6zokr$_4Z62BDTy=tZ-xTVPeE3@?{~D^_2n3Pw9`&q}KQup9kNL=~;ByP?^7`B@bAiw2KBMfBeC}JVeq^7!o@b-B)`h6`yxzw5qn7Jw z)Q3%9@GVnpc=Y}e0}abMr|C`qM7_= zs0(yKr4L4RXtGUTimJcadJOdlZ(?hV9Np*6jZVnU>UZW4P{tKpg<&zwg&v|l^}ff{ z7&oTR{pgefwNsWxUAPfO!!D=}^+Vmr7)*q-FbzY#9`&L0WNe>vmw3WBJ{~FS??XJF zyP;Hz?{g>7BGh~Q0mj46s4X>i0-yWUYeLkJX1DRGn2vZ`)XQiB>Lb`{RL3`?I(iQE zsP3cQe!hf^q}G2B0qyO%QJ;1TV=XL>+Hj^}Tl^0XVZ%f|XC0F(FtN}5IDImS839jH z^JrqAI*<}|;f$!+ABut482`jU=pR9#LNcGb?oXqJ{6KP_`!cy|eSlF&e{21UTHldV z81tZ3M>ABpt*DXPi@LEhHhvZLXr7=t_9=zWeE%GwPW~3o;{G)w&D=N&gV!_qp%;!ml7?I3D(TtRi<5yrxIsO1+agPB{!kvYh} z|0JLabx^an4Qhz`pl0<*)KE=E4dqhQ(EoxVcm*|?qGmJ~OmEGNnghjApMEP?M_@AI z`>-GSuM*H4sFlg*{_E7MsAt(cvzc7mumGGTW2B@L@1uJ5P0zUTxNO#m+*^Ww&QqbqVjA~*z;`6b9 z*8hD1=P`95Gf7@yapKuS&DPloixQuXy6`zvN1_$>xnJp&L4ER>j)m|T7DjIov!NBo zp2SC?@;{@t_WVUz|GMM31e)V{3|B@m)5HGQfcQadgsF?09c%zLAwC;x<9n=xRl>|p zIv3T^$EdA6sD#h`&gW><&_BjfShghVUxD!@&4tgP-q(r3&E#o{x|8v!jvPfb5M0XV ze)jWY4&rYyFJ>t1bH7{O5Ze*Ih+3XuWqj_J@oQ15=PYXVd@JMkx!)iRDa*4Up%!Xm z8ILtp05f3Ca^{irN8RxbYuxf?C|je-|A{#gA8G_LHupJ0 zaX5CuC@svh?S-v~uRu+rm=Pvk7&Yq`qi*C9PQX$veeQ?Wv)Gk*a4R#}r(t2O|H}lr zV8YgBFCUIYh%d&fcoVh$L)sWSqE^isEQ8NcBbdLfSuLGWBd`YR<4x3~D%j3+Y&>c; zeL%m4u2y^VY<@yL^Rrf`gLwyppe9Rm%!T7opXv5sDBiaQbu?RSBh(z(hZQhOCu1+v z{<6>N>&*Jsaw^x^49x=kg?OAU=9%xZzCx| zx^vhTOLRAreGLvLeyKa_UqjufhjBKl;6?0!#e149b1g;?zlR#~^1Y0cQA2$Rt6_}Z z#zv?ud>v|}o}yk#iTapFJqq?@$-4($8$28&Pv4QGYYrN1*O> zJ?i!R(OP+cX?PJfC;c^QlGYjMbAMDb0`4uo) zH5v6R_oFWO5sRtfQ1bz$4eI6d44Y!*VP;aTL&aaB-Wk=0o7eUPTuA&h>d|%`VYcim z*jwwr*hup-*@EhEwo#@)Q`E9LWc`e~gS?~72y{kWa2fVP-x%|@8-y*0-@|5DZmfAk zt5GBI88s<8jAP&6`py*s;aGgUnN-72cX%AvVde?u{e1~b5U(`RjMPNbKM(s@xV-z00T({D$g4=v-628)`YuMWr7{jf7_&UkzgxtG|K`v`6)P zEC%8h)P*mihTNHNE}RKft|BJI-ZnnTx&!qI=pO2kBwk?Zl|$WF2h`Bd#4xS@-2^mQ zzM}3Vc%k{!+5{^QUxC_kUt)1AxX27$UsOY@P$O~@b!RV8t0CTE^TljMOierj_3VeD zI<^Ac|2N`g0_wnPOpeKxm}i?8gNQdrCs50t8Lr^2R z$$A4dxuY!O(P;e_A)sZ^12wC+peEx})cVe_+>A^FY6KRb@^7LhS&|jzBU)+HyJP|C z(Y!_<##(6}Nqp1>7mkUrH~Lc%7*9aYW{veC1`-cgWqKZr>PThO5RXNTz#3G&KTsp{ zA9^sJ*WvF#v1Q{O60)F<2=&Gu`N&_*zdv-=M5Y3X1IZl4*^0uM$c&CNshkb@S9#7o zwameviF1!9l-)=8kcqng{fGD%+S4(LdT}H1t9YcH#FnJ*ws|wi=QEBIM}M388<{mY zf9B*zK2CEgXjt!Z7NyWZF8-6PNRoR@rCfE=^td8XZyfS%VfUzM%g!QpleX58&y#eD zp^mtu9p(I_h@O8#D()m9+%{0%T9Hcpxvu{mk7@Wgo%wz&Anyfbz901nC*mT>@L$UA zws|qBGmG?Bm=5RI_Jb(ne@*QZ1Ty?^q29K|i#Urswte?lX)Bf@-c99g`g)V?bfauT z(&pN@sKq&qi)wz3JGQg$Ba6w*&{vAKk`m*}WZxCv#_at2fWA^HFJVEpUT;5G_1;7{v0e1YIhqKuA9bT^E&wS*IMwIO(o zvmfcZX+y_fl;zJaxW``7qjIw2_?_z{M&<&UIKyaEM*@sXg$-Dgf&n(&s^!WRcg+g=Po-%xRoQ%ZOxy(iR(~M4c@^zde zj~`69M+Iv`@(0^C>)2}y!K0i*NN>xjO~&Dah0}<{0=8mw6(%!1=}R#Vjc+Dx82Pyg zcOm^e9ncZP`3L7G%6&id$ucWtmv9D9zMd_se0`*9_J7Ozol7?J4h3hB(T?+XdsnKE z&gOq0yoClEVj9ZwGdzbM!Mev0gVV;w_2EFjHp^d5aVpVPIb3AR?4|vU+)P!{-f5Hf z(3lQ=7D`HC{#`czzLxKc+VqcZF5hP*UWfFwSP9FJzMZo;7rn!|kVbtp-je)bq<18| zpKvMC`7yrxKRww%dQYw~pR{jy)=#0>G9ce?(vna&1s5%VtvI)k z_L%r~%JiW9mxR9`sR&2V?iN4)89?g%?>QLTcBYi|EB;9%|552*tcd!t6+d8fjuD@L z{P@&4z(qfjUYHAyAg*Jiz345<>G+j=9Zhiur+*t6g($QF&)PzLXh6p}(sOZ^B!0r? zHK5@VR4mDPg;NJV*LRP9`EL&sbpJbt|HiZvQ3)A2^{3MYQ+^}b;@R>&LAvL`gG2A)Qw}y93-5Ta%-u-O=amoPr~_sXd^fE zr;yemfalL2esPwmYOPFU&Y@kr^EdpAhjfriwdK;P$DjnlT*h8+X)jh|K-bOCl+Tl8mLNs zEE>#+RXFvB0q&6=hdUmKFNxQ{!Q}l%_#*WN(ab!qwVrzQ$*azf$DMN|t|61ZT*OFHU$oY5fS_#WS>+le~Vm zzAn&G9iWZL{OW?UpU5%_e?JltpGanB(o#}!xXoB+%WNeci-wn~gM=4w@+VH5Yt*Yn znRLYC5^qiZ_v0evn-G6S!eGjjp=@2w$@+W~n{zvv50GywIhSz?6%sPcX(^=REb;Hh zf8<}{9Q{23t8+oV1LgimSjjgD@3Q%Ashfeez8^`sRw2$wq`SN7S{fTl7^nQ<0*{GDCw>su(@r?$6VcWb;tdIhaGfWd zyY&2HQ9wsrT*w86*^5l1@!>YSoXSW+wl#wwTbelJ@&1lMrKhUtG!4RTTtm98sT?poSNiSqvh_T^;PSLk%c=DJ&`2ewfecuf^2s=Rs8Py=a-Jd_p9xot`crMC zla%R5-T_V>y@_AP1o-{9tZp=-;cryTPDWbWfnZ7uB)uyQhmsZ*7to6-guS**T+%ji zR<;cuC(QTRoL7_!!DzH`jJyT5d@j;|p)=FS(~%liY8Yx!=p=+F9MNc~oGqJ&GCEpVFHo+(%{xKbCi0HqFwW%U^(L;)13D>OOpQ*C!h|0TpDg_@9GPQk2srA=_40AKm$J! z?_=|Okd}t?z3oUd($iBmF=f8dSR~XDg?jvTFy{=Xjv|x^v^O_~_%qVgWE{SA=?tZ@ zC^j<+;a=pNq5&O;@E!!kOI38~n@O(HJ~NUO49m(x2i*+h`zpZ8?+Lj`ijOzf#7} znSk&nOh%{P<16Y!;w;Vif;{a%PG>3~wnOEyjV31jCKcw8o{KXojrXRJ-^q_do{k(e zFqShJ<@S;Hm2zomt2tpEYf0Bp$Et90&WgG)#}3N*>k*l2FM5UWW|QXx*}Jh(7q4yj zAttBMuB2Yzf>o)1n|OTUzjHRDBS~$W^9bu$Z#!|0@~t@|ajj?ir#rK0?35|vj3C_0 zhI85qLn+M9MgDgbB~+8jeXy_XkTN&e^5I-~C>L!+{1+^3>z*RLD&@b}I#p?-eI&*| zjKKG!4TXQDz~>**a*(!%%3c~fNx_8V-y(m8$`PMQc!|A8VcSql%2y(MjWUbLTWa%f zkrqLk4)+pz{>N-W7V8iScXx}hFOYVdaAX?Pv58v$a%bmBFHVPagrfG5nWWXm>6~el zVcTnNN2VO{L*xa~{%OLaIQ^N)Y(Sv7+Z{f!U^~v-T(GXKsGl>WqtY?bt8gx`>A@JE zx;oP0Db8(#3)=i?gx^qaGw}&rSjS;b{Tgv5b%I}Ac2-kqISGGK;3BM zsF2?_ScClWq%B7Mc&H3@R@jDH5FbEWI{w6jl=)2FT*{BO^}CQh%C=wLtv7Y~v^aVO z%_yZqzt^in(UsIHM=J|CmlJPnYwjnr0C{^T`-b$%w$2TE^-iSaq0aZCB!SJuhuZuC zv~%C)ZzNCGcMj9&P8!<98I#73*o&2*;7jrjaONfNZ`6^H{L17FpzKInb^=Z(FEZs$ z5>AS3?S)jQ6!9UHFF_lrmChQk;Nj=lw#HSu3Kw{!kX8`~(GhjKdNQDzxwr3mMw>`{C-wfXb}{$-RZLTn;uvj1x9PnopOQ9u5>KYTSkj!# zZMNXwDrt}N6sk=l;hce__244^;1SXzbLt2qPe%jJN`&LlXa~w=BA$YHQ_d~Ka}l3J zowMZsZ0iKL9paH^BcUjf&h%^qg})#Fx&@fCRBTNLedOJx%xnr&wvBX9qogHbWWG_R zBYE*{J+;%HyfV~lLb>Lo?Js7zc(RL&fcFzf!QHy}&r)Iyzt;JWhqJoMnjD!lImsDf^Pf-jY_BvjJ(ziTerb_)1tuEFMoV zd8ustur-msnYF}}ar)Ux=jqTl3alnxmb^fl{vVzELSBE)VA3X#w~DkvoH{a4=a%h! zVahBeo|H2k=T=+hlWj}ocW_4i-qUFmdPl-A)DcJnI?~W{9oy->j*m1n(B^d^Z7^x` ziFdMTb*Z16^t+VHOt>;mBQG&$iytnowsiP^BjW-EvtTvOGZacirA78mROk%pgGsBy z8LCD}i$Q)SI=7d&jy7Dh38$B|>6Cj+I3{fsCVvKHy`;q=tvhEXP92@}{997!Iv03C z!SNLQ&E);>ztPDnXk*vNPeS<%q(!HZZ^U)9H#m<-*D;LrhvauA+?TT_=OF4e!!Mk_ zk)MkEbNXRM1tKx%T@6khgUEP6XO43&qrqs{lgi(ZOr$;GOiuZU)NO4qS_Hk+)lr&s zA9e2Hea^<@%|;#9Z22_gzt+cv1|+1U;vP(3pLa#u&{RBaE6k_D3OX~0I*V+Y8f;8Q z4&Z6hb@ucH`*(~xtVh%asO5d-6XRd-s9YBN1?2>1_jH}cx*gMIUP;t zgpMn=jF0#Ro2K-OYMAmm;^RNW58ATp@DE$|XMNfE{rH>2Uno3{i_E3Med3RZXCZu< zjxC~MC*qgzf$c~!;@NFu4`}Em>4Bu>#c`;k9(AMH@>hw!qrKK{4*LziG389BKnfBP z((p$b3&-DVqqdy;i=WY`c#m@*jdj9o)LTY4Cxt!|{)@EboI3In|9<>IcqHwWvmI(` zGmewKOY1+(COjj2fm2633a7T6m~Ja7y$In4bWq0*!s~5#Di`i&%l$zceTl!aohWJB z`HW-8OYlQ`{_+%R!?}mdU@9FVT!nBC&QrvvvLA+oI{=Ml>LMA$0LBr zyx-o?49YaN`T42yh45ALuQN=QIb3M-)FH#o&)5$UD{8AYv$mq(ZK@q7e%IbZ8{6c3 ztJ*3{-QBj%E8^!UyO8{{c$K{Ngm==N$8^K7<@T#0M;Fqc>${=fj|2qHQ}F^O;eLXs zT!==#A9rjZj_p7moJb=J@Cx-RelLh~i0ha{{Sk!YQ!X~~8ua zRVYN_BH~9Vbn%CaZy>EJm3}-T{}BI){4CV1L|R6|zj>!Fo|Ztb$my~BP(Q*tX4+OqVJeg4{`Vwxvr*J6ZdeD8O!n?@tK!rG@B_zKiaUD;H_puktVUnEdHm+!K&Ki_&$LS&cE#MO5DNSMz64y{b$5!IWIA0P!#$Eiy#fOvs7xBSZmb0mCAf4^x8q$VRM@K>Yjr=o| zuSNY5oVS%1Y1o2UTNljobQ|N1p1#M-u(Sb5w#H2xu(D*DE?v5}Y}dJY&sIGGBf4~L z*Q#Y;&n|%x9ouzn(WQC!mLXf$whUMqKWgrrfw>BW=E*&?L7#xY@3B0ihV}{AI<${> z<`K0zBg~g_Yx3g0Pc;H7{;$=}f$cg6wrtlbutA@8JtEq+>fF3V$L4KjzL@Guv^CKb IUxvj02Z$PS{r~^~ delta 39324 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 z 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 selected" msgstr "[selected]{name} ausgewählt" -#: FlatCAMApp.py:5876 +#: FlatCAMApp.py:5882 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -544,112 +548,112 @@ msgstr "" "Wenn Sie ein neues Projekt erstellen, werden diese gelöscht.\n" "Möchten Sie das Projekt speichern?" -#: FlatCAMApp.py:5897 +#: FlatCAMApp.py:5903 msgid "[success] New Project created..." msgstr "[success] Neues Projekt erstellt ..." -#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6019 FlatCAMApp.py:6022 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:6021 +#: FlatCAMApp.py:6027 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Offener Gerber abgebrochen." -#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6048 FlatCAMApp.py:6051 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "Excellon öffnen" -#: FlatCAMApp.py:6050 +#: FlatCAMApp.py:6056 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Offener Excellon abgebrochen." -#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 +#: FlatCAMApp.py:6078 FlatCAMApp.py:6081 msgid "Open G-Code" msgstr "G-Code öffnen" -#: FlatCAMApp.py:6080 +#: FlatCAMApp.py:6086 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Geöffneter G-Code wurde abgebrochen." -#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 +#: FlatCAMApp.py:6104 FlatCAMApp.py:6107 msgid "Open Project" msgstr "Offenes Projekt" -#: FlatCAMApp.py:6109 +#: FlatCAMApp.py:6115 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Projekt abbrechen abgebrochen." -#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 +#: FlatCAMApp.py:6134 FlatCAMApp.py:6137 msgid "Open Configuration File" msgstr "Offene Einstellungsdatei" -#: FlatCAMApp.py:6135 +#: FlatCAMApp.py:6141 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Offene Konfiguration abgebrochen." -#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 -#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 +#: FlatCAMApp.py:6156 FlatCAMApp.py:6407 FlatCAMApp.py:8560 FlatCAMApp.py:8580 +#: FlatCAMApp.py:8601 FlatCAMApp.py:8623 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Kein Objekt ausgewählt" -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 +#: FlatCAMApp.py:6157 FlatCAMApp.py:6408 msgid "Please Select a Geometry object to export" msgstr "Bitte wählen Sie ein Geometrieobjekt zum Exportieren aus" -#: FlatCAMApp.py:6162 +#: FlatCAMApp.py:6168 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:6175 FlatCAMApp.py:6179 +#: FlatCAMApp.py:6181 FlatCAMApp.py:6185 msgid "Export SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:6184 +#: FlatCAMApp.py:6190 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Export SVG abgebrochen." -#: FlatCAMApp.py:6203 +#: FlatCAMApp.py:6209 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:6209 FlatCAMApp.py:6213 +#: FlatCAMApp.py:6215 FlatCAMApp.py:6219 msgid "Export PNG Image" msgstr "PNG-Bild exportieren" -#: FlatCAMApp.py:6218 +#: FlatCAMApp.py:6224 msgid "Export PNG cancelled." msgstr "Export PNG abgebrochen." -#: FlatCAMApp.py:6237 +#: FlatCAMApp.py:6243 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:6242 FlatCAMApp.py:6365 +#: FlatCAMApp.py:6248 FlatCAMApp.py:6371 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:6254 +#: FlatCAMApp.py:6260 msgid "Save Gerber source file" msgstr "Gerber-Quelldatei speichern" -#: FlatCAMApp.py:6259 +#: FlatCAMApp.py:6265 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Gerber Quelldatei speichern abgebrochen." -#: FlatCAMApp.py:6278 +#: FlatCAMApp.py:6284 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -657,22 +661,22 @@ msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt Bitte wählen Sie ein Excellon-Objekt " "zum Exportieren aus." -#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 +#: FlatCAMApp.py:6289 FlatCAMApp.py:6330 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:6291 FlatCAMApp.py:6295 +#: FlatCAMApp.py:6297 FlatCAMApp.py:6301 msgid "Save Excellon source file" msgstr "Speichern Sie die Excellon-Quelldatei" -#: FlatCAMApp.py:6300 +#: FlatCAMApp.py:6306 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Speichern der Excellon-Quelldatei abgebrochen." -#: FlatCAMApp.py:6319 +#: FlatCAMApp.py:6325 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -680,70 +684,70 @@ msgstr "" "[WARNING_NOTCL] Kein Objekt ausgewählt. Bitte wählen Sie ein Excellon-Objekt " "aus, das Sie exportieren möchten." -#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 +#: FlatCAMApp.py:6338 FlatCAMApp.py:6342 msgid "Export Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:6341 +#: FlatCAMApp.py:6347 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Export Excellon wurde abgebrochen." -#: FlatCAMApp.py:6360 +#: FlatCAMApp.py:6366 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:6373 FlatCAMApp.py:6377 +#: FlatCAMApp.py:6379 FlatCAMApp.py:6383 msgid "Export Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:6382 +#: FlatCAMApp.py:6388 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Export Gerber abgebrochen." -#: FlatCAMApp.py:6412 +#: FlatCAMApp.py:6418 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Es können nur Geometrieobjekte verwendet werden." -#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 +#: FlatCAMApp.py:6432 FlatCAMApp.py:6436 msgid "Export DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:6436 +#: FlatCAMApp.py:6442 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Export DXF wurde abgebrochen." -#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 +#: FlatCAMApp.py:6462 FlatCAMApp.py:6465 msgid "Import SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:6468 +#: FlatCAMApp.py:6474 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Open SVG abgebrochen." -#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 +#: FlatCAMApp.py:6493 FlatCAMApp.py:6497 msgid "Import DXF" msgstr "Importieren Sie DXF" -#: FlatCAMApp.py:6500 +#: FlatCAMApp.py:6506 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Open DXF cancelled." -#: FlatCAMApp.py:6518 +#: FlatCAMApp.py:6524 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6538 +#: FlatCAMApp.py:6544 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:6545 +#: FlatCAMApp.py:6551 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -751,25 +755,25 @@ msgstr "" "[WARNING_NOTCL] Es gibt kein ausgewähltes Objekt, für das man seinen " "Quelldateien sehen kann." -#: FlatCAMApp.py:6553 +#: FlatCAMApp.py:6559 msgid "Source Editor" msgstr "Quelleditor" -#: FlatCAMApp.py:6563 +#: FlatCAMApp.py:6569 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 +#: FlatCAMApp.py:6581 FlatCAMApp.py:7723 FlatCAMObj.py:5560 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "Code-Editor" -#: FlatCAMApp.py:6587 +#: FlatCAMApp.py:6593 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:6590 +#: FlatCAMApp.py:6596 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -813,98 +817,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 +#: FlatCAMApp.py:6619 FlatCAMApp.py:6622 msgid "Open TCL script" msgstr "Öffnen Sie das TCL-Skript" -#: FlatCAMApp.py:6624 +#: FlatCAMApp.py:6630 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Open TCL-Skript wurde abgebrochen." -#: FlatCAMApp.py:6636 +#: FlatCAMApp.py:6642 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 msgid "Run TCL script" msgstr "Führen Sie das TCL-Skript aus" -#: FlatCAMApp.py:6673 +#: FlatCAMApp.py:6679 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Das TCL-Skript wird abgebrochen." -#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 +#: FlatCAMApp.py:6729 FlatCAMApp.py:6733 msgid "Save Project As ..." msgstr "Projekt speichern als ..." -#: FlatCAMApp.py:6724 +#: FlatCAMApp.py:6730 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Projekt_{date}" -#: FlatCAMApp.py:6732 +#: FlatCAMApp.py:6738 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Projekt speichern abgebrochen" -#: FlatCAMApp.py:6776 +#: FlatCAMApp.py:6782 msgid "Exporting SVG" msgstr "SVG exportieren" -#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 +#: FlatCAMApp.py:6816 FlatCAMApp.py:6922 FlatCAMApp.py:7037 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] SVG-Datei in exportiert %s" -#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 +#: FlatCAMApp.py:6847 FlatCAMApp.py:6968 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] Kein Objektfeld. Stattdessen verwenden %s" -#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 +#: FlatCAMApp.py:6925 FlatCAMApp.py:7040 msgid "Generating Film ... Please wait." msgstr "Film wird erstellt ... Bitte warten Sie." -#: FlatCAMApp.py:7182 +#: FlatCAMApp.py:7188 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excellon-Datei nach exportiert %s" -#: FlatCAMApp.py:7189 +#: FlatCAMApp.py:7195 msgid "Exporting Excellon" msgstr "Excellon exportieren" -#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 +#: FlatCAMApp.py:7200 FlatCAMApp.py:7207 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Excellon-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7299 +#: FlatCAMApp.py:7305 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Gerber-Datei in exportiert %s" -#: FlatCAMApp.py:7306 +#: FlatCAMApp.py:7312 msgid "Exporting Gerber" msgstr "Gerber exportieren" -#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 +#: FlatCAMApp.py:7317 FlatCAMApp.py:7324 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Gerber-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7358 +#: FlatCAMApp.py:7364 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] DXF-Datei in exportiert %s" -#: FlatCAMApp.py:7364 +#: FlatCAMApp.py:7370 msgid "Exporting DXF" msgstr "DXF exportieren" -#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 +#: FlatCAMApp.py:7375 FlatCAMApp.py:7382 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[WARNING_NOTCL] DXF-Datei konnte nicht exportiert werden." -#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 +#: FlatCAMApp.py:7402 FlatCAMApp.py:7444 FlatCAMApp.py:7488 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -912,99 +916,99 @@ msgstr "" "[ERROR_NOTCL] Nicht unterstützte Art wird als Parameter ausgewählt. Nur " "Geometrie und Gerber werden unterstützt" -#: FlatCAMApp.py:7406 +#: FlatCAMApp.py:7412 msgid "Importing SVG" msgstr "SVG importieren" -#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 -#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7423 FlatCAMApp.py:7465 FlatCAMApp.py:7508 FlatCAMApp.py:7585 +#: FlatCAMApp.py:7646 FlatCAMApp.py:7709 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Geöffnet: %s" -#: FlatCAMApp.py:7448 +#: FlatCAMApp.py:7454 msgid "Importing DXF" msgstr "DXF importieren" -#: FlatCAMApp.py:7490 +#: FlatCAMApp.py:7496 msgid "Importing Image" msgstr "Bild importieren" -#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 +#: FlatCAMApp.py:7537 FlatCAMApp.py:7539 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Datei konnte nicht geöffnet werden: %s" -#: FlatCAMApp.py:7536 +#: FlatCAMApp.py:7542 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Fehler beim Parsen der Datei: {name}. {error}" -#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 +#: FlatCAMApp.py:7549 FlatCAMObj.py:4239 #: 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:7552 +#: FlatCAMApp.py:7558 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:7560 +#: FlatCAMApp.py:7566 msgid "Opening Gerber" msgstr "Gerber öffnen" -#: FlatCAMApp.py:7570 +#: FlatCAMApp.py:7576 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" "[ERROR_NOTCL] Gerber öffnen ist fehlgeschlagen. Wahrscheinlich keine Gerber-" "Datei." -#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7609 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Dies ist keine Excellon-Datei." -#: FlatCAMApp.py:7606 +#: FlatCAMApp.py:7612 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Kann Datei nicht öffnen: %s" -#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7617 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:7624 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7630 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:7627 +#: FlatCAMApp.py:7633 msgid "Opening Excellon." msgstr "Eröffnung Excellon." -#: FlatCAMApp.py:7633 +#: FlatCAMApp.py:7639 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:7670 +#: FlatCAMApp.py:7676 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Gescheitert zu öffnen %s" -#: FlatCAMApp.py:7680 +#: FlatCAMApp.py:7686 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Dies ist kein GCODE" -#: FlatCAMApp.py:7686 +#: FlatCAMApp.py:7692 msgid "Opening G-Code." msgstr "G-Code öffnen." -#: FlatCAMApp.py:7694 +#: FlatCAMApp.py:7700 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 +1019,26 @@ msgstr "" "Der Versuch, ein FlatCAM-CNCJob-Objekt aus einer G-Code-Datei zu erstellen, " "ist während der Verarbeitung fehlgeschlagen" -#: FlatCAMApp.py:7734 +#: FlatCAMApp.py:7740 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Fehler beim Öffnen der Konfigurationsdatei: %s" -#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 +#: FlatCAMApp.py:7766 FlatCAMApp.py:7783 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Projektdatei konnte nicht geöffnet werden: %s" -#: FlatCAMApp.py:7800 +#: FlatCAMApp.py:7806 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Projekt geladen von: %s" -#: FlatCAMApp.py:7905 +#: FlatCAMApp.py:7911 msgid "Available commands:\n" msgstr "Verfügbare Befehle:\n" -#: FlatCAMApp.py:7907 +#: FlatCAMApp.py:7913 msgid "" "\n" "\n" @@ -1046,28 +1050,28 @@ msgstr "" "Geben Sie help für die Verwendung ein.\n" "Beispiel: help open_gerber" -#: FlatCAMApp.py:8057 +#: FlatCAMApp.py:8063 msgid "Shows list of commands." msgstr "Zeigt eine Liste von Befehlen an." -#: FlatCAMApp.py:8114 +#: FlatCAMApp.py:8120 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Fehler beim Laden der letzten Elementliste." -#: FlatCAMApp.py:8121 +#: FlatCAMApp.py:8127 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "" "[ERROR_NOTCL] Liste der letzten Artikel konnte nicht analysiert werden." -#: FlatCAMApp.py:8165 +#: FlatCAMApp.py:8171 msgid "Clear Recent files" msgstr "Letzte Dateien löschen" -#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8188 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr " Liste der Tastenkombinationen " -#: FlatCAMApp.py:8189 +#: FlatCAMApp.py:8195 msgid "" "\n" "

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

" -#: FlatCAMApp.py:8293 +#: FlatCAMApp.py:8302 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:8300 +#: FlatCAMApp.py:8309 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" "[ERROR_NOTCL] Informationen zur neuesten Version konnten nicht analysiert " "werden." -#: FlatCAMApp.py:8310 +#: FlatCAMApp.py:8319 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM ist auf dem neuesten Version!" -#: FlatCAMApp.py:8315 +#: FlatCAMApp.py:8324 msgid "Newer Version Available" msgstr "Neuere Version verfügbar" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8325 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1195,97 +1199,97 @@ msgstr "" "Es gibt eine neuere Version von FlatCAM zum Download:\n" "\n" -#: FlatCAMApp.py:8318 +#: FlatCAMApp.py:8327 msgid "info" msgstr "Info" -#: FlatCAMApp.py:8337 +#: FlatCAMApp.py:8346 msgid "[success] All plots disabled." msgstr "[success] Alle Diagramme sind deaktiviert." -#: FlatCAMApp.py:8343 +#: FlatCAMApp.py:8352 msgid "[success] All non selected plots disabled." msgstr "[success] Alle nicht ausgewählten Diagramme sind deaktiviert." -#: FlatCAMApp.py:8349 +#: FlatCAMApp.py:8358 msgid "[success] All plots enabled." msgstr "[success] Alle Diagramme aktiviert." -#: FlatCAMApp.py:8355 +#: FlatCAMApp.py:8364 msgid "[success] Selected plots enabled..." msgstr "[success] Ausgewählte Grundstücke aktiviert ..." -#: FlatCAMApp.py:8363 +#: FlatCAMApp.py:8372 msgid "[success] Selected plots disabled..." msgstr "[success] Ausgewählte Grundstücke deaktiviert ..." -#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 +#: FlatCAMApp.py:8382 FlatCAMApp.py:8395 msgid "Working ..." msgstr "Arbeiten ..." -#: FlatCAMApp.py:8420 +#: FlatCAMApp.py:8429 msgid "Saving FlatCAM Project" msgstr "FlatCAM-Projekt speichern" -#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 +#: FlatCAMApp.py:8450 FlatCAMApp.py:8481 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Projekt gespeichert in: %s" -#: FlatCAMApp.py:8459 +#: FlatCAMApp.py:8468 #, 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:8466 +#: FlatCAMApp.py:8475 #, 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:8474 +#: FlatCAMApp.py:8483 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Projektdatei konnte nicht gespeichert werden:%s. Versuchen Sie " "es erneut zu speichern." -#: FlatCAMObj.py:202 +#: FlatCAMObj.py:207 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name geändert von {old} zu {new}" -#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 +#: FlatCAMObj.py:553 FlatCAMObj.py:2035 FlatCAMObj.py:3281 FlatCAMObj.py:5457 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 +#: FlatCAMObj.py:565 FlatCAMObj.py:2051 FlatCAMObj.py:3303 FlatCAMObj.py:5463 msgid "Advanced" msgstr "Erweitert" -#: FlatCAMObj.py:920 FlatCAMObj.py:975 +#: FlatCAMObj.py:928 FlatCAMObj.py:983 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Isolationsgeometrie erstellt: %s" -#: FlatCAMObj.py:1154 +#: FlatCAMObj.py:1162 msgid "Plotting Apertures" msgstr "Plotten Apertures" -#: FlatCAMObj.py:1870 flatcamEditors/FlatCAMExcEditor.py:1368 +#: FlatCAMObj.py:1878 flatcamEditors/FlatCAMExcEditor.py:1368 msgid "Total Drills" msgstr "Bohrungen insgesamt" -#: FlatCAMObj.py:1896 flatcamEditors/FlatCAMExcEditor.py:1400 +#: FlatCAMObj.py:1904 flatcamEditors/FlatCAMExcEditor.py:1400 msgid "Total Slots" msgstr "Schlitz insgesamt" -#: 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 +#: FlatCAMObj.py:2107 FlatCAMObj.py:3355 FlatCAMObj.py:3655 FlatCAMObj.py:3842 +#: FlatCAMObj.py:3855 FlatCAMObj.py:3972 FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:5040 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 @@ -1304,25 +1308,25 @@ msgstr "Schlitz insgesamt" msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered, use a number." -#: FlatCAMObj.py:2327 FlatCAMObj.py:2418 FlatCAMObj.py:2540 +#: FlatCAMObj.py:2331 FlatCAMObj.py:2423 FlatCAMObj.py:2546 msgid "" "[ERROR_NOTCL] Please select one or more tools from the list and try again." msgstr "" "[ERROR_NOTCL] Bitte wählen Sie ein oder mehrere Werkzeuge aus der Liste aus " "und versuchen Sie es erneut." -#: FlatCAMObj.py:2334 +#: FlatCAMObj.py:2338 msgid "" "[ERROR_NOTCL] Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" "[ERROR_NOTCL] Das Fräswerkzeug für BOHRER ist größer als die Lochgröße. " "Abgebrochen." -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Tool_nr" msgstr "Werkzeugnummer" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 #: flatcamEditors/FlatCAMExcEditor.py:819 #: flatcamEditors/FlatCAMExcEditor.py:2020 flatcamGUI/ObjectUI.py:556 #: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 @@ -1330,22 +1334,22 @@ msgstr "Werkzeugnummer" msgid "Diameter" msgstr "Durchmesser" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Drills_Nr" msgstr "Bohrnummer" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Slots_Nr" msgstr "Schlitznummer" -#: FlatCAMObj.py:2428 +#: FlatCAMObj.py:2433 msgid "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" "[ERROR_NOTCL] Das Fräswerkzeug für SCHLITZ ist größer als die Lochgröße. " "Abgebrochen." -#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 +#: FlatCAMObj.py:2608 FlatCAMObj.py:4277 FlatCAMObj.py:4493 FlatCAMObj.py:4810 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" @@ -1353,7 +1357,7 @@ msgstr "" "[ERROR_NOTCL] Falsches Wertformat für self.defaults [\"z_pdepth\"] oder self." "options [\"z_pdepth\"]" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 +#: FlatCAMObj.py:2620 FlatCAMObj.py:4289 FlatCAMObj.py:4505 FlatCAMObj.py:4822 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" @@ -1361,12 +1365,12 @@ msgstr "" "[ERROR_NOTCL] Falsches Wertformat für self.defaults [\"feedrate_probe\"] " "oder self.options [\"feedrate_probe\"]" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 +#: FlatCAMObj.py:2652 FlatCAMObj.py:4698 FlatCAMObj.py:4703 FlatCAMObj.py:4853 msgid "Generating CNC Code" msgstr "CNC-Code generieren" -#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 -#: camlib.py:5886 +#: FlatCAMObj.py:2678 FlatCAMObj.py:4999 camlib.py:5167 camlib.py:5626 +#: camlib.py:5889 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1376,62 +1380,62 @@ msgstr "" "muss das Format (x, y) haben.\n" "Aber jetzt gibt es nur einen Wert, nicht zwei." -#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3898 FlatCAMObj.py:3899 FlatCAMObj.py:3908 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3239 FlatCAMObj.py:3520 msgid "Rough" msgstr "Rau" -#: FlatCAMObj.py:2984 +#: FlatCAMObj.py:2990 msgid "Finish" msgstr "Oberfläche" -#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3274 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:3483 +#: FlatCAMObj.py:3490 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:3556 +#: FlatCAMObj.py:3565 msgid "[success] Tool added in Tool Table." msgstr "[success] Werkzeug in der Werkzeugtabelle hinzugefügt." -#: FlatCAMObj.py:3561 +#: FlatCAMObj.py:3570 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "" "[ERROR_NOTCL] Standardwerkzeug hinzugefügt Falsches Wertformat eingegeben." -#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 +#: FlatCAMObj.py:3600 FlatCAMObj.py:3610 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "" "[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Kopieren aus." -#: FlatCAMObj.py:3630 +#: FlatCAMObj.py:3639 msgid "[success] Tool was copied in Tool Table." msgstr "[success] Das Werkzeug wurde in die Werkzeugtabelle kopiert." -#: FlatCAMObj.py:3663 +#: FlatCAMObj.py:3672 msgid "[success] Tool was edited in Tool Table." msgstr "[success] Das Werkzeug wurde in der Werkzeugtabelle bearbeitet." -#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 +#: FlatCAMObj.py:3703 FlatCAMObj.py:3713 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "" "[WARNING_NOTCL] Fehlgeschlagen. Wählen Sie ein Werkzeug zum Löschen aus." -#: FlatCAMObj.py:3728 +#: FlatCAMObj.py:3737 msgid "[success] Tool was deleted in Tool Table." msgstr "[success] Werkzeug wurde in der Werkzeugtabelle gelöscht." -#: FlatCAMObj.py:4149 +#: FlatCAMObj.py:4158 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." @@ -1439,24 +1443,24 @@ msgstr "" "[WARNING_NOTCL] Diese Geometrie kann nicht verarbeitet werden, da es sich um " "%s Geometrie handelt." -#: FlatCAMObj.py:4166 +#: FlatCAMObj.py:4175 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:4193 +#: FlatCAMObj.py:4202 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "" "[ERROR_NOTCL] Gescheitert. Kein Werkzeug in der Werkzeugtabelle " "ausgewählt ..." -#: FlatCAMObj.py:4231 +#: FlatCAMObj.py:4240 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:4398 FlatCAMObj.py:4636 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 +1469,22 @@ msgstr "" "jedoch kein Wert angegeben.\n" "Fügen Sie einen Werkzeugversatz hinzu oder ändern Sie den Versatztyp." -#: FlatCAMObj.py:4508 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4517 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:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 +#: FlatCAMObj.py:4886 FlatCAMObj.py:4896 camlib.py:3348 camlib.py:3357 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:4925 +#: FlatCAMObj.py:4934 msgid "[success] Geometry Scale done." msgstr "[success] Geometrie Skalierung fertig." -#: FlatCAMObj.py:4942 camlib.py:3425 +#: FlatCAMObj.py:4951 camlib.py:3426 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1488,29 +1492,29 @@ msgstr "" "[ERROR_NOTCL] Ein (x, y) Wertepaar wird benötigt. Wahrscheinlich haben Sie " "im Feld Offset nur einen Wert eingegeben." -#: FlatCAMObj.py:4962 +#: FlatCAMObj.py:4971 msgid "[success] Geometry Offset done." msgstr "[success] Geometrie Offset fertig." -#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5525 FlatCAMObj.py:5530 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "Maschinencode exportieren ..." -#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5536 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." -#: FlatCAMObj.py:5540 +#: FlatCAMObj.py:5549 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Maschinencode-Datei gespeichert in: %s" -#: FlatCAMObj.py:5562 +#: FlatCAMObj.py:5571 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5679 +#: FlatCAMObj.py:5688 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1519,11 +1523,11 @@ msgstr "" "[WARNING_NOTCL] Dieses CNC-Auftrag Objekt kann nicht verarbeitet werden, da " "es sich um ein %s CNC-Auftrag Objekt handelt." -#: FlatCAMObj.py:5732 +#: FlatCAMObj.py:5741 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:5745 +#: FlatCAMObj.py:5754 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1531,17 +1535,17 @@ msgstr "" "[ERROR_NOTCL] Abgebrochen. Der benutzerdefinierte Code zum Ändern des " "Werkzeugs ist aktiviert, aber er ist leer." -#: FlatCAMObj.py:5752 +#: FlatCAMObj.py:5761 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:5767 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5776 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] Keine solche Datei oder Ordner" -#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 +#: FlatCAMObj.py:5796 FlatCAMObj.py:5808 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1549,7 +1553,7 @@ msgstr "" "[WARNING_NOTCL] Die verwendete Postprozessor-Datei muss im Namen enthalten " "sein: 'toolchange_custom'" -#: FlatCAMObj.py:5805 +#: FlatCAMObj.py:5814 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Es gibt keine Postprozessor-Datei." @@ -1592,18 +1596,18 @@ msgstr "[success] Objekt war schief ..." msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Fehler beim Neigen Kein Objekt ausgewählt" -#: camlib.py:2727 camlib.py:2812 +#: camlib.py:2728 camlib.py:2813 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Koordinaten fehlen, Zeile wird ignoriert: %s" -#: camlib.py:2728 camlib.py:2813 +#: camlib.py:2729 camlib.py:2814 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:2777 +#: camlib.py:2778 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1612,7 +1616,7 @@ msgstr "" "[ERROR] Region hat nicht genug Punkte. Die Datei wird verarbeitet, es treten " "jedoch Parserfehler auf. Linien Nummer: %s" -#: camlib.py:3169 +#: camlib.py:3170 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1621,32 +1625,32 @@ msgstr "" "[ERROR] Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3393 +#: camlib.py:3394 msgid "[success] Gerber Scale done." msgstr "[success] Gerber-Skalierung abgeschlossen." -#: camlib.py:3458 +#: camlib.py:3459 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset fertig." -#: camlib.py:3512 +#: camlib.py:3513 msgid "[success] Gerber Mirror done." msgstr "[success] Gerber Mirror fertig." -#: camlib.py:3558 +#: camlib.py:3559 msgid "[success] Gerber Skew done." msgstr "[success] Gerber-Versatz fertig." -#: camlib.py:3596 +#: camlib.py:3597 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber drehen fertig." -#: camlib.py:3875 +#: camlib.py:3878 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Dies ist die GCODE-Marke: %s" -#: camlib.py:3990 +#: camlib.py:3993 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1663,7 +1667,7 @@ msgstr "" "Der Benutzer muss das resultierende Excellon-Objekt bearbeiten und die " "Durchmesser ändern, um die tatsächlichen Durchmesser widerzuspiegeln." -#: camlib.py:4455 +#: camlib.py:4458 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1672,7 +1676,7 @@ msgstr "" "[ERROR] Fehler beim Excellon-Parser.\n" "Parsing fehlgeschlagen. Zeile {l_nr}: {line}\n" -#: camlib.py:4534 +#: camlib.py:4537 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1682,12 +1686,12 @@ msgstr "" "da kein Werkzeug zugeordnet wurde.\n" "Überprüfen Sie den resultierenden GCode." -#: camlib.py:5073 +#: camlib.py:5076 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Es gibt keinen solchen Parameter: %s" -#: camlib.py:5143 +#: camlib.py:5146 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1702,7 +1706,7 @@ msgstr "" "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5150 camlib.py:5646 camlib.py:5909 +#: camlib.py:5153 camlib.py:5649 camlib.py:5912 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1710,15 +1714,15 @@ msgstr "" "[WARNING] Der Parameter Cut Z ist Null. Es wird kein Schnitt ausgeführt, da " "die %s Datei übersprungen wird" -#: camlib.py:5379 camlib.py:5476 camlib.py:5534 +#: camlib.py:5382 camlib.py:5479 camlib.py:5537 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] Die geladene Excellon-Datei hat keine Bohrer ..." -#: camlib.py:5481 +#: camlib.py:5484 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Falscher Optimierungstyp ausgewählt." -#: camlib.py:5634 camlib.py:5897 +#: camlib.py:5637 camlib.py:5900 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1726,7 +1730,7 @@ msgstr "" "[ERROR_NOTCL] Der Parameter Cut_Z ist None oder Null. Höchstwahrscheinlich " "eine schlechte Kombination anderer Parameter." -#: camlib.py:5639 camlib.py:5902 +#: camlib.py:5642 camlib.py:5905 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1741,11 +1745,11 @@ msgstr "" "einen negativen Wert. \n" "Überprüfen Sie den resultierenden CNC-Code (Gcode usw.)." -#: camlib.py:5651 camlib.py:5914 +#: camlib.py:5654 camlib.py:5917 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:5655 camlib.py:5918 +#: camlib.py:5658 camlib.py:5921 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1759,7 +1763,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:5662 camlib.py:5925 +#: camlib.py:5665 camlib.py:5928 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1767,12 +1771,12 @@ msgstr "" "[WARNING] Der Parameter Z-Weg ist Null. Dies ist gefährlich, da die %s Datei " "übersprungen wird" -#: camlib.py:5792 +#: camlib.py:5795 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Eine Geometrie erwartet,%s erhalten" -#: camlib.py:5798 +#: camlib.py:5801 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1780,7 +1784,7 @@ msgstr "" "[ERROR_NOTCL] Der Versuch, einen CNC-Auftrag aus einem Geometrieobjekt ohne " "solid_geometry zu generieren." -#: camlib.py:5837 +#: camlib.py:5840 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1790,7 +1794,7 @@ msgstr "" "current_geometry zu verwenden.\n" "Erhöhen Sie den Wert (im Modul) und versuchen Sie es erneut." -#: camlib.py:6049 +#: camlib.py:6052 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" "[ERROR_NOTCL] In der SolderPaste-Geometrie sind keine Werkzeugdaten " @@ -2048,7 +2052,7 @@ msgstr "Abstand = Abstand zwischen Elementen des Arrays." #: flatcamEditors/FlatCAMGeoEditor.py:665 #: flatcamEditors/FlatCAMGrbEditor.py:2550 #: flatcamEditors/FlatCAMGrbEditor.py:2586 -#: flatcamEditors/FlatCAMGrbEditor.py:4580 flatcamGUI/FlatCAMGUI.py:5107 +#: flatcamEditors/FlatCAMGrbEditor.py:4588 flatcamGUI/FlatCAMGUI.py:5107 #: flatcamTools/ToolTransform.py:68 msgid "Angle:" msgstr "Winkel:" @@ -2131,7 +2135,7 @@ msgid "[success] Done. Drill(s) deleted." msgstr "[success] Erledigt. Bohrer gelöscht." #: flatcamEditors/FlatCAMExcEditor.py:2705 -#: flatcamEditors/FlatCAMGrbEditor.py:4340 +#: flatcamEditors/FlatCAMGrbEditor.py:4350 msgid "Click on the circular array Center position" msgstr "Klicken Sie auf die kreisförmige Anordnung in der Mitte" @@ -2198,7 +2202,7 @@ msgstr "Pufferwerkzeug" #: flatcamEditors/FlatCAMGeoEditor.py:2700 #: flatcamEditors/FlatCAMGeoEditor.py:2726 #: flatcamEditors/FlatCAMGeoEditor.py:2752 -#: flatcamEditors/FlatCAMGrbEditor.py:4392 +#: flatcamEditors/FlatCAMGrbEditor.py:4402 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2376,53 +2380,53 @@ msgstr "Werkzeuge" #: flatcamEditors/FlatCAMGeoEditor.py:617 #: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4531 -#: flatcamEditors/FlatCAMGrbEditor.py:4916 flatcamGUI/FlatCAMGUI.py:654 +#: flatcamEditors/FlatCAMGrbEditor.py:4539 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 flatcamGUI/FlatCAMGUI.py:654 #: flatcamGUI/FlatCAMGUI.py:1879 flatcamTools/ToolTransform.py:398 msgid "Transform Tool" msgstr "Werkzeug Umwandeln" #: flatcamEditors/FlatCAMGeoEditor.py:618 #: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4532 -#: flatcamEditors/FlatCAMGrbEditor.py:4594 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGrbEditor.py:4540 +#: flatcamEditors/FlatCAMGrbEditor.py:4602 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Drehen" #: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4533 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGrbEditor.py:4541 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Neigung/Schere" #: flatcamEditors/FlatCAMGeoEditor.py:620 #: flatcamEditors/FlatCAMGrbEditor.py:2471 -#: flatcamEditors/FlatCAMGrbEditor.py:4534 flatcamGUI/FlatCAMGUI.py:718 +#: flatcamEditors/FlatCAMGrbEditor.py:4542 flatcamGUI/FlatCAMGUI.py:718 #: flatcamGUI/FlatCAMGUI.py:1947 flatcamGUI/ObjectUI.py:100 #: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Skalieren" #: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4535 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGrbEditor.py:4543 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Spiegeln (Flip)" #: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4536 flatcamGUI/ObjectUI.py:127 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 flatcamGUI/ObjectUI.py:127 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 #: flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Versatz" #: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4548 +#: flatcamEditors/FlatCAMGrbEditor.py:4556 #, python-format msgid "Editor %s" msgstr "Editor %s" #: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4582 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGrbEditor.py:4590 flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2435,7 +2439,7 @@ msgstr "" "Negative Zahlen für CCW-Bewegung." #: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4596 +#: flatcamEditors/FlatCAMGrbEditor.py:4604 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2446,14 +2450,14 @@ msgstr "" "der Begrenzungsrahmen für alle ausgewählten Formen." #: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4619 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGrbEditor.py:4627 flatcamTools/ToolTransform.py:107 msgid "Angle X:" msgstr "Winkel X:" #: flatcamEditors/FlatCAMGeoEditor.py:706 #: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4621 -#: flatcamEditors/FlatCAMGrbEditor.py:4639 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGrbEditor.py:4629 +#: flatcamEditors/FlatCAMGrbEditor.py:4647 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2463,14 +2467,14 @@ msgstr "" "Float-Nummer zwischen -360 und 359." #: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4630 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Neigung X" #: flatcamEditors/FlatCAMGeoEditor.py:717 #: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4632 -#: flatcamEditors/FlatCAMGrbEditor.py:4650 +#: flatcamEditors/FlatCAMGrbEditor.py:4640 +#: flatcamEditors/FlatCAMGrbEditor.py:4658 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2481,34 +2485,34 @@ msgstr "" "der Begrenzungsrahmen für alle ausgewählten Formen." #: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4637 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGrbEditor.py:4645 flatcamTools/ToolTransform.py:125 msgid "Angle Y:" msgstr "Winkel Y:" #: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4648 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGrbEditor.py:4656 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Neigung Y" #: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4676 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGrbEditor.py:4684 flatcamTools/ToolTransform.py:164 msgid "Factor X:" msgstr "Faktor X:" #: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4678 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:166 msgid "Factor for Scale action over X axis." msgstr "Faktor für die Skalierungsaktion über der X-Achse." #: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGrbEditor.py:4694 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Maßstab X" #: flatcamEditors/FlatCAMGeoEditor.py:773 #: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4688 -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4696 +#: flatcamEditors/FlatCAMGrbEditor.py:4713 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2519,28 +2523,28 @@ msgstr "" "das Kontrollkästchen Skalenreferenz." #: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4693 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGrbEditor.py:4701 flatcamTools/ToolTransform.py:181 msgid "Factor Y:" msgstr "Faktor Y:" #: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4695 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:183 msgid "Factor for Scale action over Y axis." msgstr "Faktor für die Skalierungsaktion über der Y-Achse." #: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGrbEditor.py:4711 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Maßstab Y" #: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4712 flatcamGUI/FlatCAMGUI.py:6441 +#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6441 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Verknüpfung" #: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4714 +#: flatcamEditors/FlatCAMGrbEditor.py:4722 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2549,13 +2553,13 @@ msgstr "" "Verwenden des Skalierungsfaktors X für beide Achsen." #: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6449 +#: flatcamEditors/FlatCAMGrbEditor.py:4728 flatcamGUI/FlatCAMGUI.py:6449 #: flatcamTools/ToolTransform.py:208 msgid "Scale Reference" msgstr "Skalenreferenz" #: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4722 +#: flatcamEditors/FlatCAMGrbEditor.py:4730 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2568,24 +2572,24 @@ msgstr "" "der ausgewählten Formen, wenn nicht markiert." #: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4751 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:4759 flatcamTools/ToolTransform.py:238 msgid "Value X:" msgstr "Wert X:" #: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4753 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:240 msgid "Value for Offset action on X axis." msgstr "Wert für die Offset-Aktion auf der X-Achse." #: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:248 msgid "Offset X" msgstr "Versatz X" #: flatcamEditors/FlatCAMGeoEditor.py:847 #: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4763 -#: flatcamEditors/FlatCAMGrbEditor.py:4781 +#: flatcamEditors/FlatCAMGrbEditor.py:4771 +#: flatcamEditors/FlatCAMGrbEditor.py:4789 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2596,29 +2600,29 @@ msgstr "" "der Begrenzungsrahmen für alle ausgewählten Formen.\n" #: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 flatcamTools/ToolTransform.py:255 msgid "Value Y:" msgstr "Wert Y:" #: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4771 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:257 msgid "Value for Offset action on Y axis." msgstr "Wert für die Offset-Aktion auf der Y-Achse." #: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGrbEditor.py:4787 flatcamTools/ToolTransform.py:265 msgid "Offset Y" msgstr "Versatz Y" #: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:4810 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:295 msgid "Flip on X" msgstr "Flip auf X" #: flatcamEditors/FlatCAMGeoEditor.py:896 #: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:4812 #: flatcamEditors/FlatCAMGrbEditor.py:4820 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2627,17 +2631,17 @@ msgstr "" "Erzeugt keine neue Form." #: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 flatcamTools/ToolTransform.py:303 msgid "Flip on Y" msgstr "Flip auf Y" #: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:4827 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGrbEditor.py:4835 flatcamTools/ToolTransform.py:312 msgid "Ref Pt" msgstr "Ref. Pt" #: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 +#: flatcamEditors/FlatCAMGrbEditor.py:4837 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2661,12 +2665,12 @@ msgstr "" "Punkt-Eingabefeld und klicken Sie auf X (Y) drehen" #: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:4841 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:325 msgid "Point:" msgstr "Punkt:" #: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:4843 +#: flatcamEditors/FlatCAMGrbEditor.py:4851 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2678,7 +2682,7 @@ msgstr "" "Das 'y' in (x, y) wird verwendet, wenn Flip auf Y verwendet wird." #: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:4855 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGrbEditor.py:4863 flatcamTools/ToolTransform.py:339 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2690,261 +2694,261 @@ msgstr "" "einzufügen." #: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:4980 +#: flatcamEditors/FlatCAMGrbEditor.py:4988 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformation abgebrochen Keine Form ausgewählt" #: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5000 flatcamTools/ToolTransform.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:5008 flatcamTools/ToolTransform.py:468 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Drehen eingegeben, verwenden Sie eine " "Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5043 flatcamTools/ToolTransform.py:502 +#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:502 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Skew X eingegeben, verwenden Sie eine " "Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5070 flatcamTools/ToolTransform.py:520 +#: flatcamEditors/FlatCAMGrbEditor.py:5078 flatcamTools/ToolTransform.py:520 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Skew Y eingegeben, verwenden Sie eine " "Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5097 flatcamTools/ToolTransform.py:538 +#: flatcamEditors/FlatCAMGrbEditor.py:5105 flatcamTools/ToolTransform.py:538 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Falsches Wertformat für Waage X eingegeben, verwenden Sie eine " "Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5138 flatcamTools/ToolTransform.py:572 +#: flatcamEditors/FlatCAMGrbEditor.py:5146 flatcamTools/ToolTransform.py:572 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Falsches Werteformat für Skala Y eingegeben, verwenden Sie " "eine Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5176 flatcamTools/ToolTransform.py:601 +#: flatcamEditors/FlatCAMGrbEditor.py:5184 flatcamTools/ToolTransform.py:601 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Falsches Wertformat für Offset X eingegeben, verwenden Sie " "eine Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5202 flatcamTools/ToolTransform.py:619 +#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:619 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Falsches Wertformat für Offset Y eingegeben, verwenden Sie " "eine Zahl." #: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5225 +#: flatcamEditors/FlatCAMGrbEditor.py:5233 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt Bitte wählen Sie eine Form zum Drehen " "aus!" #: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5228 flatcamTools/ToolTransform.py:640 +#: flatcamEditors/FlatCAMGrbEditor.py:5236 flatcamTools/ToolTransform.py:640 msgid "Appying Rotate" msgstr "Anwenden Drehen" #: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5259 +#: flatcamEditors/FlatCAMGrbEditor.py:5269 msgid "[success] Done. Rotate completed." msgstr "[success] Erledigt. Drehen abgeschlossen." #: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5278 +#: flatcamEditors/FlatCAMGrbEditor.py:5288 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt Bitte wähle eine Form zum Umdrehen!" #: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5281 flatcamTools/ToolTransform.py:691 +#: flatcamEditors/FlatCAMGrbEditor.py:5291 flatcamTools/ToolTransform.py:691 msgid "Applying Flip" msgstr "Flip anwenden" #: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5318 flatcamTools/ToolTransform.py:733 +#: flatcamEditors/FlatCAMGrbEditor.py:5330 flatcamTools/ToolTransform.py:733 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Flip auf der Y-Achse erledigt ..." #: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5326 flatcamTools/ToolTransform.py:742 +#: flatcamEditors/FlatCAMGrbEditor.py:5338 flatcamTools/ToolTransform.py:742 msgid "[success] Flip on the X axis done ..." msgstr "[success] Flip auf der X-Achse erledigt ..." #: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5346 +#: flatcamEditors/FlatCAMGrbEditor.py:5358 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt. Bitte wählen Sie eine Form zum " "Scheren / Schrägstellen!" #: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5349 flatcamTools/ToolTransform.py:760 +#: flatcamEditors/FlatCAMGrbEditor.py:5361 flatcamTools/ToolTransform.py:760 msgid "Applying Skew" msgstr "Anwenden von Skew" #: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5382 flatcamTools/ToolTransform.py:791 +#: flatcamEditors/FlatCAMGrbEditor.py:5396 flatcamTools/ToolTransform.py:791 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Neigung auf der %s Achse abgeschlossen ..." #: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:795 +#: flatcamEditors/FlatCAMGrbEditor.py:5400 flatcamTools/ToolTransform.py:795 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde die Neigung-Aktion nicht ausgeführt." #: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5405 +#: flatcamEditors/FlatCAMGrbEditor.py:5419 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt. Bitte wählen Sie eine zu skalierende " "Form!" #: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5408 flatcamTools/ToolTransform.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:809 msgid "Applying Scale" msgstr "Maßstab anwenden" #: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5444 flatcamTools/ToolTransform.py:848 +#: flatcamEditors/FlatCAMGrbEditor.py:5460 flatcamTools/ToolTransform.py:848 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Skalieren auf der %s Achse fertig ..." #: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5447 flatcamTools/ToolTransform.py:851 +#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:851 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde die Skalieren Aktion nicht ausgeführt." #: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5460 +#: flatcamEditors/FlatCAMGrbEditor.py:5476 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Keine Form ausgewählt. Bitte wählen Sie eine Form zum " "Versetzen!" #: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:861 +#: flatcamEditors/FlatCAMGrbEditor.py:5479 flatcamTools/ToolTransform.py:861 msgid "Applying Offset" msgstr "Offsetdruck anwenden" #: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5484 flatcamTools/ToolTransform.py:880 +#: flatcamEditors/FlatCAMGrbEditor.py:5501 flatcamTools/ToolTransform.py:880 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Offsetdruck auf der %s Achse fertiggestellt ..." #: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5488 flatcamTools/ToolTransform.py:884 +#: flatcamEditors/FlatCAMGrbEditor.py:5505 flatcamTools/ToolTransform.py:884 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "" "[ERROR_NOTCL] Aufgrund von %s wurde die Offsetdruck Aktion nicht ausgeführt." #: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5492 +#: flatcamEditors/FlatCAMGrbEditor.py:5509 msgid "Rotate ..." msgstr "Drehen ..." #: flatcamEditors/FlatCAMGeoEditor.py:1478 #: flatcamEditors/FlatCAMGeoEditor.py:1535 #: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 -#: flatcamEditors/FlatCAMGrbEditor.py:5550 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 #: flatcamEditors/FlatCAMGrbEditor.py:5567 +#: flatcamEditors/FlatCAMGrbEditor.py:5584 msgid "Enter an Angle Value (degrees):" msgstr "Geben Sie einen Winkelwert (Grad) ein:" #: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5502 +#: flatcamEditors/FlatCAMGrbEditor.py:5519 msgid "[success] Geometry shape rotate done..." msgstr "[success] Geometrieform drehen fertig ..." #: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5507 +#: flatcamEditors/FlatCAMGrbEditor.py:5524 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Geometrieform drehen abgebrochen ..." #: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5513 +#: flatcamEditors/FlatCAMGrbEditor.py:5530 msgid "Offset on X axis ..." msgstr "Versatz auf der X-Achse ..." #: flatcamEditors/FlatCAMGeoEditor.py:1499 #: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5514 -#: flatcamEditors/FlatCAMGrbEditor.py:5533 +#: flatcamEditors/FlatCAMGrbEditor.py:5531 +#: flatcamEditors/FlatCAMGrbEditor.py:5550 #, python-format msgid "Enter a distance Value (%s):" msgstr "Geben Sie einen Abstand ein (%s):" #: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5523 +#: flatcamEditors/FlatCAMGrbEditor.py:5540 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Geometrieformversatz auf der X-Achse erfolgt ..." #: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5527 +#: flatcamEditors/FlatCAMGrbEditor.py:5544 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz X abgebrochen ..." #: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 +#: flatcamEditors/FlatCAMGrbEditor.py:5549 msgid "Offset on Y axis ..." msgstr "Versatz auf der Y-Achse ..." #: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5542 +#: flatcamEditors/FlatCAMGrbEditor.py:5559 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Geometrieformversatz auf Y-Achse erfolgt ..." #: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5546 +#: flatcamEditors/FlatCAMGrbEditor.py:5563 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz Y abgebrochen ..." #: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5549 +#: flatcamEditors/FlatCAMGrbEditor.py:5566 msgid "Skew on X axis ..." msgstr "Neigung auf der X-Achse ..." #: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5559 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Geometrieformversatz auf X-Achse ..." #: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 +#: flatcamEditors/FlatCAMGrbEditor.py:5580 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz X abgebrochen ..." #: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5566 +#: flatcamEditors/FlatCAMGrbEditor.py:5583 msgid "Skew on Y axis ..." msgstr "Neigung auf der Y-Achse ..." #: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5576 +#: flatcamEditors/FlatCAMGrbEditor.py:5593 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Geometrieformversatz auf Y-Achse erfolgt ..." #: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5580 +#: flatcamEditors/FlatCAMGrbEditor.py:5597 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Geometrieformversatz Y abgebrochen ..." @@ -3102,7 +3106,7 @@ msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Puffer abgebrochen. Keine Form ausgewählt." #: flatcamEditors/FlatCAMGeoEditor.py:2711 -#: flatcamEditors/FlatCAMGrbEditor.py:4442 +#: flatcamEditors/FlatCAMGrbEditor.py:4447 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Erledigt. Pufferwerkzeug abgeschlossen." @@ -3419,23 +3423,23 @@ msgid "Apertures Table for the Gerber Object." msgstr "Blendentabelle für das Gerberobjekt." #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Code" msgstr "Code" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 msgid "Type" msgstr "Typ" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Size" msgstr "Größe" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Dim" msgstr "Maße" @@ -3683,16 +3687,16 @@ msgstr "[success] Gerber-Bearbeitung ist beendet." msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Abgebrochen. Es ist keine Blende ausgewählt" -#: flatcamEditors/FlatCAMGrbEditor.py:4270 +#: flatcamEditors/FlatCAMGrbEditor.py:4280 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" "[ERROR_NOTCL] ist fehlgeschlagen. Es ist keine Blendengeometrie ausgewählt." -#: flatcamEditors/FlatCAMGrbEditor.py:4278 +#: flatcamEditors/FlatCAMGrbEditor.py:4288 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Fertig. Blendengeometrie gelöscht." -#: flatcamEditors/FlatCAMGrbEditor.py:4427 +#: flatcamEditors/FlatCAMGrbEditor.py:4431 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -3700,7 +3704,17 @@ msgstr "" "[WARNING_NOTCL] Keine Blende zum Puffern Wählen Sie mindestens eine Blende " "und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:4456 +#: flatcamEditors/FlatCAMGrbEditor.py:4444 +#, python-format +#| msgid "[ERROR_NOTCL] Failed to open %s" +msgid "" +"[ERROR_NOTCL] Failed.\n" +"%s" +msgstr "" +"[ERROR_NOTCL] Gescheitert.\n" +"%s" + +#: flatcamEditors/FlatCAMGrbEditor.py:4461 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -3708,7 +3722,7 @@ msgstr "" "[WARNING_NOTCL] Der Skalierungsfaktor ist nicht vorhanden oder das Format " "ist falsch. Fügen Sie es hinzu und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:4486 +#: flatcamEditors/FlatCAMGrbEditor.py:4494 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -3716,7 +3730,7 @@ msgstr "" "[WARNING_NOTCL] Keine zu skalierende Blende Wählen Sie mindestens eine " "Blende und versuchen Sie es erneut." -#: flatcamEditors/FlatCAMGrbEditor.py:4502 +#: flatcamEditors/FlatCAMGrbEditor.py:4510 msgid "[success] Done. Scale Tool completed." msgstr "[success] Erledigt. Skalierungswerkzeug abgeschlossen." diff --git a/locale/en/LC_MESSAGES/strings.mo b/locale/en/LC_MESSAGES/strings.mo index 87f7810f0fb74f4d7924b42d8a1ca0a6e0c7635f..ee9dba4f739ab0900bf6e79f1f5dedc962b832cf 100644 GIT binary patch delta 39461 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 delta 39324 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 selected" msgstr "[selected]{name} selected" -#: FlatCAMApp.py:5876 +#: FlatCAMApp.py:5882 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -527,106 +532,106 @@ msgstr "" "Creating a New project will delete them.\n" "Do you want to Save the project?" -#: FlatCAMApp.py:5897 +#: FlatCAMApp.py:5903 msgid "[success] New Project created..." msgstr "[success] New Project created..." -#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6019 FlatCAMApp.py:6022 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "Open Gerber" -#: FlatCAMApp.py:6021 +#: FlatCAMApp.py:6027 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "[WARNING_NOTCL] Open Gerber cancelled." -#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6048 FlatCAMApp.py:6051 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "Open Excellon" -#: FlatCAMApp.py:6050 +#: FlatCAMApp.py:6056 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "[WARNING_NOTCL] Open Excellon cancelled." -#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 +#: FlatCAMApp.py:6078 FlatCAMApp.py:6081 msgid "Open G-Code" msgstr "Open G-Code" -#: FlatCAMApp.py:6080 +#: FlatCAMApp.py:6086 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "[WARNING_NOTCL] Open G-Code cancelled." -#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 +#: FlatCAMApp.py:6104 FlatCAMApp.py:6107 msgid "Open Project" msgstr "Open Project" -#: FlatCAMApp.py:6109 +#: FlatCAMApp.py:6115 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "[WARNING_NOTCL] Open Project cancelled." -#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 +#: FlatCAMApp.py:6134 FlatCAMApp.py:6137 msgid "Open Configuration File" msgstr "Open Configuration File" -#: FlatCAMApp.py:6135 +#: FlatCAMApp.py:6141 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Open Config cancelled." -#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 -#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 +#: FlatCAMApp.py:6156 FlatCAMApp.py:6407 FlatCAMApp.py:8560 FlatCAMApp.py:8580 +#: FlatCAMApp.py:8601 FlatCAMApp.py:8623 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] No object selected." -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 +#: FlatCAMApp.py:6157 FlatCAMApp.py:6408 msgid "Please Select a Geometry object to export" msgstr "Please Select a Geometry object to export" -#: FlatCAMApp.py:6162 +#: FlatCAMApp.py:6168 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:6175 FlatCAMApp.py:6179 +#: FlatCAMApp.py:6181 FlatCAMApp.py:6185 msgid "Export SVG" msgstr "Export SVG" -#: FlatCAMApp.py:6184 +#: FlatCAMApp.py:6190 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Export SVG cancelled." -#: FlatCAMApp.py:6203 +#: FlatCAMApp.py:6209 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:6209 FlatCAMApp.py:6213 +#: FlatCAMApp.py:6215 FlatCAMApp.py:6219 msgid "Export PNG Image" msgstr "Export PNG Image" -#: FlatCAMApp.py:6218 +#: FlatCAMApp.py:6224 msgid "Export PNG cancelled." msgstr "Export PNG cancelled." -#: FlatCAMApp.py:6237 +#: FlatCAMApp.py:6243 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:6242 FlatCAMApp.py:6365 +#: FlatCAMApp.py:6248 FlatCAMApp.py:6371 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:6254 +#: FlatCAMApp.py:6260 msgid "Save Gerber source file" msgstr "Save Gerber source file" -#: FlatCAMApp.py:6259 +#: FlatCAMApp.py:6265 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "[WARNING_NOTCL] Save Gerber source file cancelled." -#: FlatCAMApp.py:6278 +#: FlatCAMApp.py:6284 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -634,21 +639,21 @@ msgstr "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." -#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 +#: FlatCAMApp.py:6289 FlatCAMApp.py:6330 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:6291 FlatCAMApp.py:6295 +#: FlatCAMApp.py:6297 FlatCAMApp.py:6301 msgid "Save Excellon source file" msgstr "Save Excellon source file" -#: FlatCAMApp.py:6300 +#: FlatCAMApp.py:6306 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "[WARNING_NOTCL] Saving Excellon source file cancelled." -#: FlatCAMApp.py:6319 +#: FlatCAMApp.py:6325 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -656,68 +661,68 @@ msgstr "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." -#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 +#: FlatCAMApp.py:6338 FlatCAMApp.py:6342 msgid "Export Excellon" msgstr "Export Excellon" -#: FlatCAMApp.py:6341 +#: FlatCAMApp.py:6347 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Export Excellon cancelled." -#: FlatCAMApp.py:6360 +#: FlatCAMApp.py:6366 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:6373 FlatCAMApp.py:6377 +#: FlatCAMApp.py:6379 FlatCAMApp.py:6383 msgid "Export Gerber" msgstr "Export Gerber" -#: FlatCAMApp.py:6382 +#: FlatCAMApp.py:6388 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Export Gerber cancelled." -#: FlatCAMApp.py:6412 +#: FlatCAMApp.py:6418 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Only Geometry objects can be used." -#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 +#: FlatCAMApp.py:6432 FlatCAMApp.py:6436 msgid "Export DXF" msgstr "Export DXF" -#: FlatCAMApp.py:6436 +#: FlatCAMApp.py:6442 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Export DXF cancelled." -#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 +#: FlatCAMApp.py:6462 FlatCAMApp.py:6465 msgid "Import SVG" msgstr "Import SVG" -#: FlatCAMApp.py:6468 +#: FlatCAMApp.py:6474 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Open SVG cancelled." -#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 +#: FlatCAMApp.py:6493 FlatCAMApp.py:6497 msgid "Import DXF" msgstr "Import DXF" -#: FlatCAMApp.py:6500 +#: FlatCAMApp.py:6506 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "[WARNING_NOTCL] Open DXF cancelled." -#: FlatCAMApp.py:6518 +#: FlatCAMApp.py:6524 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6538 +#: FlatCAMApp.py:6544 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:6545 +#: FlatCAMApp.py:6551 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." @@ -725,25 +730,25 @@ msgstr "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." -#: FlatCAMApp.py:6553 +#: FlatCAMApp.py:6559 msgid "Source Editor" msgstr "Source Editor" -#: FlatCAMApp.py:6563 +#: FlatCAMApp.py:6569 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 +#: FlatCAMApp.py:6581 FlatCAMApp.py:7723 FlatCAMObj.py:5560 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "Code Editor" -#: FlatCAMApp.py:6587 +#: FlatCAMApp.py:6593 msgid "Script Editor" msgstr "Script Editor" -#: FlatCAMApp.py:6590 +#: FlatCAMApp.py:6596 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -787,98 +792,98 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 +#: FlatCAMApp.py:6619 FlatCAMApp.py:6622 msgid "Open TCL script" msgstr "Open TCL script" -#: FlatCAMApp.py:6624 +#: FlatCAMApp.py:6630 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "[WARNING_NOTCL] Open TCL script cancelled." -#: FlatCAMApp.py:6636 +#: FlatCAMApp.py:6642 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 msgid "Run TCL script" msgstr "Run TCL script" -#: FlatCAMApp.py:6673 +#: FlatCAMApp.py:6679 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "[WARNING_NOTCL] Run TCL script cancelled." -#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 +#: FlatCAMApp.py:6729 FlatCAMApp.py:6733 msgid "Save Project As ..." msgstr "Save Project As ..." -#: FlatCAMApp.py:6724 +#: FlatCAMApp.py:6730 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Project_{date}" -#: FlatCAMApp.py:6732 +#: FlatCAMApp.py:6738 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "[WARNING_NOTCL] Save Project cancelled." -#: FlatCAMApp.py:6776 +#: FlatCAMApp.py:6782 msgid "Exporting SVG" msgstr "Exporting SVG" -#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 +#: FlatCAMApp.py:6816 FlatCAMApp.py:6922 FlatCAMApp.py:7037 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] SVG file exported to %s" -#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 +#: FlatCAMApp.py:6847 FlatCAMApp.py:6968 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "[WARNING_NOTCL] No object Box. Using instead %s" -#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 +#: FlatCAMApp.py:6925 FlatCAMApp.py:7040 msgid "Generating Film ... Please wait." msgstr "Generating Film ... Please wait." -#: FlatCAMApp.py:7182 +#: FlatCAMApp.py:7188 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Excellon file exported to %s" -#: FlatCAMApp.py:7189 +#: FlatCAMApp.py:7195 msgid "Exporting Excellon" msgstr "Exporting Excellon" -#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 +#: FlatCAMApp.py:7200 FlatCAMApp.py:7207 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Could not export Excellon file." -#: FlatCAMApp.py:7299 +#: FlatCAMApp.py:7305 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Gerber file exported to %s" -#: FlatCAMApp.py:7306 +#: FlatCAMApp.py:7312 msgid "Exporting Gerber" msgstr "Exporting Gerber" -#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 +#: FlatCAMApp.py:7317 FlatCAMApp.py:7324 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Could not export Gerber file." -#: FlatCAMApp.py:7358 +#: FlatCAMApp.py:7364 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] DXF file exported to %s" -#: FlatCAMApp.py:7364 +#: FlatCAMApp.py:7370 msgid "Exporting DXF" msgstr "Exporting DXF" -#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 +#: FlatCAMApp.py:7375 FlatCAMApp.py:7382 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Could not export DXF file." -#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 +#: FlatCAMApp.py:7402 FlatCAMApp.py:7444 FlatCAMApp.py:7488 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -886,95 +891,95 @@ msgstr "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" -#: FlatCAMApp.py:7406 +#: FlatCAMApp.py:7412 msgid "Importing SVG" msgstr "Importing SVG" -#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 -#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7423 FlatCAMApp.py:7465 FlatCAMApp.py:7508 FlatCAMApp.py:7585 +#: FlatCAMApp.py:7646 FlatCAMApp.py:7709 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Opened: %s" -#: FlatCAMApp.py:7448 +#: FlatCAMApp.py:7454 msgid "Importing DXF" msgstr "Importing DXF" -#: FlatCAMApp.py:7490 +#: FlatCAMApp.py:7496 msgid "Importing Image" msgstr "Importing Image" -#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 +#: FlatCAMApp.py:7537 FlatCAMApp.py:7539 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Failed to open file: %s" -#: FlatCAMApp.py:7536 +#: FlatCAMApp.py:7542 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "[ERROR_NOTCL] Failed to parse file: {name}. {error}" -#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 +#: FlatCAMApp.py:7549 FlatCAMObj.py:4239 #: 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:7552 +#: FlatCAMApp.py:7558 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:7560 +#: FlatCAMApp.py:7566 msgid "Opening Gerber" msgstr "Opening Gerber" -#: FlatCAMApp.py:7570 +#: FlatCAMApp.py:7576 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." -#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7609 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] This is not Excellon file." -#: FlatCAMApp.py:7606 +#: FlatCAMApp.py:7612 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Cannot open file: %s" -#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7617 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:7624 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7630 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:7627 +#: FlatCAMApp.py:7633 msgid "Opening Excellon." msgstr "Opening Excellon." -#: FlatCAMApp.py:7633 +#: FlatCAMApp.py:7639 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:7670 +#: FlatCAMApp.py:7676 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Failed to open %s" -#: FlatCAMApp.py:7680 +#: FlatCAMApp.py:7686 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] This is not GCODE" -#: FlatCAMApp.py:7686 +#: FlatCAMApp.py:7692 msgid "Opening G-Code." msgstr "Opening G-Code." -#: FlatCAMApp.py:7694 +#: FlatCAMApp.py:7700 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 +989,26 @@ msgstr "" " Attempting to create a FlatCAM CNCJob Object from G-Code file failed during " "processing" -#: FlatCAMApp.py:7734 +#: FlatCAMApp.py:7740 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "[ERROR_NOTCL] Failed to open config file: %s" -#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 +#: FlatCAMApp.py:7766 FlatCAMApp.py:7783 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "[ERROR_NOTCL] Failed to open project file: %s" -#: FlatCAMApp.py:7800 +#: FlatCAMApp.py:7806 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Project loaded from: %s" -#: FlatCAMApp.py:7905 +#: FlatCAMApp.py:7911 msgid "Available commands:\n" msgstr "Available commands:\n" -#: FlatCAMApp.py:7907 +#: FlatCAMApp.py:7913 msgid "" "\n" "\n" @@ -1015,27 +1020,27 @@ msgstr "" "Type help for usage.\n" " Example: help open_gerber" -#: FlatCAMApp.py:8057 +#: FlatCAMApp.py:8063 msgid "Shows list of commands." msgstr "Shows list of commands." -#: FlatCAMApp.py:8114 +#: FlatCAMApp.py:8120 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Failed to load recent item list." -#: FlatCAMApp.py:8121 +#: FlatCAMApp.py:8127 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Failed to parse recent item list." -#: FlatCAMApp.py:8165 +#: FlatCAMApp.py:8171 msgid "Clear Recent files" msgstr "Clear Recent files" -#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8188 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr "Shortcut Key List" -#: FlatCAMApp.py:8189 +#: FlatCAMApp.py:8195 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1131,23 +1136,23 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8293 +#: FlatCAMApp.py:8302 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "[WARNING_NOTCL] Failed checking for latest version. Could not connect." -#: FlatCAMApp.py:8300 +#: FlatCAMApp.py:8309 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "[ERROR_NOTCL] Could not parse information about latest version." -#: FlatCAMApp.py:8310 +#: FlatCAMApp.py:8319 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM is up to date!" -#: FlatCAMApp.py:8315 +#: FlatCAMApp.py:8324 msgid "Newer Version Available" msgstr "Newer Version Available" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8325 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1155,92 +1160,92 @@ msgstr "" "There is a newer version of FlatCAM available for download:\n" "\n" -#: FlatCAMApp.py:8318 +#: FlatCAMApp.py:8327 msgid "info" msgstr "info" -#: FlatCAMApp.py:8337 +#: FlatCAMApp.py:8346 msgid "[success] All plots disabled." msgstr "[success] All plots disabled." -#: FlatCAMApp.py:8343 +#: FlatCAMApp.py:8352 msgid "[success] All non selected plots disabled." msgstr "[success] All non selected plots disabled." -#: FlatCAMApp.py:8349 +#: FlatCAMApp.py:8358 msgid "[success] All plots enabled." msgstr "[success] All plots enabled." -#: FlatCAMApp.py:8355 +#: FlatCAMApp.py:8364 msgid "[success] Selected plots enabled..." msgstr "[success] Selected plots enabled..." -#: FlatCAMApp.py:8363 +#: FlatCAMApp.py:8372 msgid "[success] Selected plots disabled..." msgstr "[success] Selected plots disabled..." -#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 +#: FlatCAMApp.py:8382 FlatCAMApp.py:8395 msgid "Working ..." msgstr "Working ..." -#: FlatCAMApp.py:8420 +#: FlatCAMApp.py:8429 msgid "Saving FlatCAM Project" msgstr "Saving FlatCAM Project" -#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 +#: FlatCAMApp.py:8450 FlatCAMApp.py:8481 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Project saved to: %s" -#: FlatCAMApp.py:8459 +#: FlatCAMApp.py:8468 #, 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:8466 +#: FlatCAMApp.py:8475 #, 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:8474 +#: FlatCAMApp.py:8483 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." -#: FlatCAMObj.py:202 +#: FlatCAMObj.py:207 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Name changed from {old} to {new}" -#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 +#: FlatCAMObj.py:553 FlatCAMObj.py:2035 FlatCAMObj.py:3281 FlatCAMObj.py:5457 msgid "Basic" msgstr "Basic" -#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 +#: FlatCAMObj.py:565 FlatCAMObj.py:2051 FlatCAMObj.py:3303 FlatCAMObj.py:5463 msgid "Advanced" msgstr "Advanced" -#: FlatCAMObj.py:920 FlatCAMObj.py:975 +#: FlatCAMObj.py:928 FlatCAMObj.py:983 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Isolation geometry created: %s" -#: FlatCAMObj.py:1154 +#: FlatCAMObj.py:1162 msgid "Plotting Apertures" msgstr "Plotting Apertures" -#: FlatCAMObj.py:1870 flatcamEditors/FlatCAMExcEditor.py:1368 +#: FlatCAMObj.py:1878 flatcamEditors/FlatCAMExcEditor.py:1368 msgid "Total Drills" msgstr "Total Drills" -#: FlatCAMObj.py:1896 flatcamEditors/FlatCAMExcEditor.py:1400 +#: FlatCAMObj.py:1904 flatcamEditors/FlatCAMExcEditor.py:1400 msgid "Total Slots" msgstr "Total Slots" -#: 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 +#: FlatCAMObj.py:2107 FlatCAMObj.py:3355 FlatCAMObj.py:3655 FlatCAMObj.py:3842 +#: FlatCAMObj.py:3855 FlatCAMObj.py:3972 FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:5040 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 @@ -1259,23 +1264,23 @@ msgstr "Total Slots" msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered, use a number." -#: FlatCAMObj.py:2327 FlatCAMObj.py:2418 FlatCAMObj.py:2540 +#: FlatCAMObj.py:2331 FlatCAMObj.py:2423 FlatCAMObj.py:2546 msgid "" "[ERROR_NOTCL] Please select one or more tools from the list and try again." msgstr "" "[ERROR_NOTCL] Please select one or more tools from the list and try again." -#: FlatCAMObj.py:2334 +#: FlatCAMObj.py:2338 msgid "" "[ERROR_NOTCL] Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" "[ERROR_NOTCL] Milling tool for DRILLS is larger than hole size. Cancelled." -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Tool_nr" msgstr "Tool_nr" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 #: flatcamEditors/FlatCAMExcEditor.py:819 #: flatcamEditors/FlatCAMExcEditor.py:2020 flatcamGUI/ObjectUI.py:556 #: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 @@ -1283,21 +1288,21 @@ msgstr "Tool_nr" msgid "Diameter" msgstr "Diameter" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Drills_Nr" msgstr "Drills_Nr" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Slots_Nr" msgstr "Slots_Nr" -#: FlatCAMObj.py:2428 +#: FlatCAMObj.py:2433 msgid "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." -#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 +#: FlatCAMObj.py:2608 FlatCAMObj.py:4277 FlatCAMObj.py:4493 FlatCAMObj.py:4810 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" @@ -1305,7 +1310,7 @@ msgstr "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 +#: FlatCAMObj.py:2620 FlatCAMObj.py:4289 FlatCAMObj.py:4505 FlatCAMObj.py:4822 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" @@ -1313,12 +1318,12 @@ msgstr "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 +#: FlatCAMObj.py:2652 FlatCAMObj.py:4698 FlatCAMObj.py:4703 FlatCAMObj.py:4853 msgid "Generating CNC Code" msgstr "Generating CNC Code" -#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 -#: camlib.py:5886 +#: FlatCAMObj.py:2678 FlatCAMObj.py:4999 camlib.py:5167 camlib.py:5626 +#: camlib.py:5889 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1328,77 +1333,77 @@ msgstr "" "format (x, y) \n" "but now there is only one value, not two. " -#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3898 FlatCAMObj.py:3899 FlatCAMObj.py:3908 msgid "Iso" msgstr "Iso" -#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3239 FlatCAMObj.py:3520 msgid "Rough" msgstr "Rough" -#: FlatCAMObj.py:2984 +#: FlatCAMObj.py:2990 msgid "Finish" msgstr "Finish" -#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3274 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:3483 +#: FlatCAMObj.py:3490 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:3556 +#: FlatCAMObj.py:3565 msgid "[success] Tool added in Tool Table." msgstr "[success] Tool added in Tool Table." -#: FlatCAMObj.py:3561 +#: FlatCAMObj.py:3570 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "[ERROR_NOTCL] Default Tool added. Wrong value format entered." -#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 +#: FlatCAMObj.py:3600 FlatCAMObj.py:3610 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "[WARNING_NOTCL] Failed. Select a tool to copy." -#: FlatCAMObj.py:3630 +#: FlatCAMObj.py:3639 msgid "[success] Tool was copied in Tool Table." msgstr "[success] Tool was copied in Tool Table." -#: FlatCAMObj.py:3663 +#: FlatCAMObj.py:3672 msgid "[success] Tool was edited in Tool Table." msgstr "[success] Tool was edited in Tool Table." -#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 +#: FlatCAMObj.py:3703 FlatCAMObj.py:3713 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Failed. Select a tool to delete." -#: FlatCAMObj.py:3728 +#: FlatCAMObj.py:3737 msgid "[success] Tool was deleted in Tool Table." msgstr "[success] Tool was deleted in Tool Table." -#: FlatCAMObj.py:4149 +#: FlatCAMObj.py:4158 #, 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:4166 +#: FlatCAMObj.py:4175 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:4193 +#: FlatCAMObj.py:4202 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." -#: FlatCAMObj.py:4231 +#: FlatCAMObj.py:4240 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:4398 FlatCAMObj.py:4636 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 +1411,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:4508 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4517 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:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 +#: FlatCAMObj.py:4886 FlatCAMObj.py:4896 camlib.py:3348 camlib.py:3357 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:4925 +#: FlatCAMObj.py:4934 msgid "[success] Geometry Scale done." msgstr "[success] Geometry Scale done." -#: FlatCAMObj.py:4942 camlib.py:3425 +#: FlatCAMObj.py:4951 camlib.py:3426 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1427,29 +1432,29 @@ msgstr "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." -#: FlatCAMObj.py:4962 +#: FlatCAMObj.py:4971 msgid "[success] Geometry Offset done." msgstr "[success] Geometry Offset done." -#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5525 FlatCAMObj.py:5530 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "Export Machine Code ..." -#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5536 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Export Machine Code cancelled ..." -#: FlatCAMObj.py:5540 +#: FlatCAMObj.py:5549 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Machine Code file saved to: %s" -#: FlatCAMObj.py:5562 +#: FlatCAMObj.py:5571 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5679 +#: FlatCAMObj.py:5688 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1458,11 +1463,11 @@ msgstr "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " "CNCJob object." -#: FlatCAMObj.py:5732 +#: FlatCAMObj.py:5741 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:5745 +#: FlatCAMObj.py:5754 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1470,15 +1475,15 @@ msgstr "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." -#: FlatCAMObj.py:5752 +#: FlatCAMObj.py:5761 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "[success] Toolchange G-code was replaced by a custom code." -#: FlatCAMObj.py:5767 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5776 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "[WARNING_NOTCL] No such file or directory" -#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 +#: FlatCAMObj.py:5796 FlatCAMObj.py:5808 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1486,7 +1491,7 @@ msgstr "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" -#: FlatCAMObj.py:5805 +#: FlatCAMObj.py:5814 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] There is no postprocessor file." @@ -1528,16 +1533,16 @@ msgstr "[success] Object was skewed ..." msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Failed to skew. No object selected" -#: camlib.py:2727 camlib.py:2812 +#: camlib.py:2728 camlib.py:2813 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordinates missing, line ignored: %s" -#: camlib.py:2728 camlib.py:2813 +#: camlib.py:2729 camlib.py:2814 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" -#: camlib.py:2777 +#: camlib.py:2778 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1546,7 +1551,7 @@ msgstr "" "[ERROR] Region does not have enough points. File will be processed but there " "are parser errors. Line number: %s" -#: camlib.py:3169 +#: camlib.py:3170 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1555,32 +1560,32 @@ msgstr "" "[ERROR]Gerber Parser ERROR.\n" "%s:" -#: camlib.py:3393 +#: camlib.py:3394 msgid "[success] Gerber Scale done." msgstr "[success] Gerber Scale done." -#: camlib.py:3458 +#: camlib.py:3459 msgid "[success] Gerber Offset done." msgstr "[success] Gerber Offset done." -#: camlib.py:3512 +#: camlib.py:3513 msgid "[success] Gerber Mirror done." msgstr "[success] Gerber Mirror done." -#: camlib.py:3558 +#: camlib.py:3559 msgid "[success] Gerber Skew done." msgstr "[success] Gerber Skew done." -#: camlib.py:3596 +#: camlib.py:3597 msgid "[success] Gerber Rotate done." msgstr "[success] Gerber Rotate done." -#: camlib.py:3875 +#: camlib.py:3878 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] This is GCODE mark: %s" -#: camlib.py:3990 +#: camlib.py:3993 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1597,7 +1602,7 @@ msgstr "" "The user needs to edit the resulting Excellon object and change the " "diameters to reflect the real diameters." -#: camlib.py:4455 +#: camlib.py:4458 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1606,7 +1611,7 @@ msgstr "" "[ERROR] Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" -#: camlib.py:4534 +#: camlib.py:4537 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1616,12 +1621,12 @@ msgstr "" "not having a tool associated.\n" "Check the resulting GCode." -#: camlib.py:5073 +#: camlib.py:5076 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] There is no such parameter: %s" -#: camlib.py:5143 +#: camlib.py:5146 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1635,22 +1640,22 @@ msgstr "" "therefore the app will convert the value to negative. Check the resulting " "CNC code (Gcode etc)." -#: camlib.py:5150 camlib.py:5646 camlib.py:5909 +#: camlib.py:5153 camlib.py:5649 camlib.py:5912 #, 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:5379 camlib.py:5476 camlib.py:5534 +#: camlib.py:5382 camlib.py:5479 camlib.py:5537 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] The loaded Excellon file has no drills ..." -#: camlib.py:5481 +#: camlib.py:5484 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Wrong optimization type selected." -#: camlib.py:5634 camlib.py:5897 +#: camlib.py:5637 camlib.py:5900 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1658,7 +1663,7 @@ msgstr "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." -#: camlib.py:5639 camlib.py:5902 +#: camlib.py:5642 camlib.py:5905 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1672,11 +1677,11 @@ msgstr "" "therefore the app will convert the value to negative.Check the resulting CNC " "code (Gcode etc)." -#: camlib.py:5651 camlib.py:5914 +#: camlib.py:5654 camlib.py:5917 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Travel Z parameter is None or zero." -#: camlib.py:5655 camlib.py:5918 +#: camlib.py:5658 camlib.py:5921 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1690,19 +1695,19 @@ msgstr "" "therefore the app will convert the value to positive.Check the resulting CNC " "code (Gcode etc)." -#: camlib.py:5662 camlib.py:5925 +#: camlib.py:5665 camlib.py:5928 #, 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:5792 +#: camlib.py:5795 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR]Expected a Geometry, got %s" -#: camlib.py:5798 +#: camlib.py:5801 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1710,7 +1715,7 @@ msgstr "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." -#: camlib.py:5837 +#: camlib.py:5840 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1720,7 +1725,7 @@ msgstr "" "current_geometry.\n" "Raise the value (in module) and try again." -#: camlib.py:6049 +#: camlib.py:6052 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." @@ -1969,7 +1974,7 @@ msgstr "Pitch = Distance between elements of the array." #: flatcamEditors/FlatCAMGeoEditor.py:665 #: flatcamEditors/FlatCAMGrbEditor.py:2550 #: flatcamEditors/FlatCAMGrbEditor.py:2586 -#: flatcamEditors/FlatCAMGrbEditor.py:4580 flatcamGUI/FlatCAMGUI.py:5107 +#: flatcamEditors/FlatCAMGrbEditor.py:4588 flatcamGUI/FlatCAMGUI.py:5107 #: flatcamTools/ToolTransform.py:68 msgid "Angle:" msgstr "Angle:" @@ -2049,7 +2054,7 @@ msgid "[success] Done. Drill(s) deleted." msgstr "[success] Done. Drill(s) deleted." #: flatcamEditors/FlatCAMExcEditor.py:2705 -#: flatcamEditors/FlatCAMGrbEditor.py:4340 +#: flatcamEditors/FlatCAMGrbEditor.py:4350 msgid "Click on the circular array Center position" msgstr "Click on the circular array Center position" @@ -2115,7 +2120,7 @@ msgstr "Buffer Tool" #: flatcamEditors/FlatCAMGeoEditor.py:2700 #: flatcamEditors/FlatCAMGeoEditor.py:2726 #: flatcamEditors/FlatCAMGeoEditor.py:2752 -#: flatcamEditors/FlatCAMGrbEditor.py:4392 +#: flatcamEditors/FlatCAMGrbEditor.py:4402 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2288,53 +2293,53 @@ msgstr "Tools" #: flatcamEditors/FlatCAMGeoEditor.py:617 #: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4531 -#: flatcamEditors/FlatCAMGrbEditor.py:4916 flatcamGUI/FlatCAMGUI.py:654 +#: flatcamEditors/FlatCAMGrbEditor.py:4539 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 flatcamGUI/FlatCAMGUI.py:654 #: flatcamGUI/FlatCAMGUI.py:1879 flatcamTools/ToolTransform.py:398 msgid "Transform Tool" msgstr "Transform Tool" #: flatcamEditors/FlatCAMGeoEditor.py:618 #: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4532 -#: flatcamEditors/FlatCAMGrbEditor.py:4594 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGrbEditor.py:4540 +#: flatcamEditors/FlatCAMGrbEditor.py:4602 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Rotate" #: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4533 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGrbEditor.py:4541 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Skew/Shear" #: flatcamEditors/FlatCAMGeoEditor.py:620 #: flatcamEditors/FlatCAMGrbEditor.py:2471 -#: flatcamEditors/FlatCAMGrbEditor.py:4534 flatcamGUI/FlatCAMGUI.py:718 +#: flatcamEditors/FlatCAMGrbEditor.py:4542 flatcamGUI/FlatCAMGUI.py:718 #: flatcamGUI/FlatCAMGUI.py:1947 flatcamGUI/ObjectUI.py:100 #: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Scale" #: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4535 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGrbEditor.py:4543 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Mirror (Flip)" #: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4536 flatcamGUI/ObjectUI.py:127 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 flatcamGUI/ObjectUI.py:127 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 #: flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Offset" #: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4548 +#: flatcamEditors/FlatCAMGrbEditor.py:4556 #, python-format msgid "Editor %s" msgstr "Editor %s" #: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4582 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGrbEditor.py:4590 flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2347,7 +2352,7 @@ msgstr "" "Negative numbers for CCW motion." #: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4596 +#: flatcamEditors/FlatCAMGrbEditor.py:4604 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2358,14 +2363,14 @@ msgstr "" "the bounding box for all selected shapes." #: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4619 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGrbEditor.py:4627 flatcamTools/ToolTransform.py:107 msgid "Angle X:" msgstr "Angle X:" #: flatcamEditors/FlatCAMGeoEditor.py:706 #: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4621 -#: flatcamEditors/FlatCAMGrbEditor.py:4639 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGrbEditor.py:4629 +#: flatcamEditors/FlatCAMGrbEditor.py:4647 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2375,14 +2380,14 @@ msgstr "" "Float number between -360 and 359." #: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4630 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Skew X" #: flatcamEditors/FlatCAMGeoEditor.py:717 #: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4632 -#: flatcamEditors/FlatCAMGrbEditor.py:4650 +#: flatcamEditors/FlatCAMGrbEditor.py:4640 +#: flatcamEditors/FlatCAMGrbEditor.py:4658 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2393,34 +2398,34 @@ msgstr "" "the bounding box for all selected shapes." #: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4637 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGrbEditor.py:4645 flatcamTools/ToolTransform.py:125 msgid "Angle Y:" msgstr "Angle Y:" #: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4648 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGrbEditor.py:4656 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Skew Y" #: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4676 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGrbEditor.py:4684 flatcamTools/ToolTransform.py:164 msgid "Factor X:" msgstr "Factor X:" #: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4678 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:166 msgid "Factor for Scale action over X axis." msgstr "Factor for Scale action over X axis." #: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGrbEditor.py:4694 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Scale X" #: flatcamEditors/FlatCAMGeoEditor.py:773 #: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4688 -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4696 +#: flatcamEditors/FlatCAMGrbEditor.py:4713 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2431,28 +2436,28 @@ msgstr "" "the Scale reference checkbox state." #: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4693 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGrbEditor.py:4701 flatcamTools/ToolTransform.py:181 msgid "Factor Y:" msgstr "Factor Y:" #: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4695 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:183 msgid "Factor for Scale action over Y axis." msgstr "Factor for Scale action over Y axis." #: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGrbEditor.py:4711 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Scale Y" #: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4712 flatcamGUI/FlatCAMGUI.py:6441 +#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6441 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Link" #: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4714 +#: flatcamEditors/FlatCAMGrbEditor.py:4722 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2461,13 +2466,13 @@ msgstr "" "using the Scale Factor X for both axis." #: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6449 +#: flatcamEditors/FlatCAMGrbEditor.py:4728 flatcamGUI/FlatCAMGUI.py:6449 #: flatcamTools/ToolTransform.py:208 msgid "Scale Reference" msgstr "Scale Reference" #: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4722 +#: flatcamEditors/FlatCAMGrbEditor.py:4730 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2480,24 +2485,24 @@ msgstr "" "of the selected shapes when unchecked." #: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4751 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:4759 flatcamTools/ToolTransform.py:238 msgid "Value X:" msgstr "Value X:" #: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4753 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:240 msgid "Value for Offset action on X axis." msgstr "Value for Offset action on X axis." #: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:248 msgid "Offset X" msgstr "Offset X" #: flatcamEditors/FlatCAMGeoEditor.py:847 #: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4763 -#: flatcamEditors/FlatCAMGrbEditor.py:4781 +#: flatcamEditors/FlatCAMGrbEditor.py:4771 +#: flatcamEditors/FlatCAMGrbEditor.py:4789 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2508,29 +2513,29 @@ msgstr "" "the bounding box for all selected shapes.\n" #: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 flatcamTools/ToolTransform.py:255 msgid "Value Y:" msgstr "Value Y:" #: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4771 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:257 msgid "Value for Offset action on Y axis." msgstr "Value for Offset action on Y axis." #: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGrbEditor.py:4787 flatcamTools/ToolTransform.py:265 msgid "Offset Y" msgstr "Offset Y" #: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:4810 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:295 msgid "Flip on X" msgstr "Flip on X" #: flatcamEditors/FlatCAMGeoEditor.py:896 #: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:4812 #: flatcamEditors/FlatCAMGrbEditor.py:4820 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2539,17 +2544,17 @@ msgstr "" "Does not create a new shape." #: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 flatcamTools/ToolTransform.py:303 msgid "Flip on Y" msgstr "Flip on Y" #: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:4827 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGrbEditor.py:4835 flatcamTools/ToolTransform.py:312 msgid "Ref Pt" msgstr "Ref Pt" #: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 +#: flatcamEditors/FlatCAMGrbEditor.py:4837 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2572,12 +2577,12 @@ msgstr "" "Point Entry field and click Flip on X(Y)" #: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:4841 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:325 msgid "Point:" msgstr "Point:" #: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:4843 +#: flatcamEditors/FlatCAMGrbEditor.py:4851 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2588,7 +2593,7 @@ msgstr "" "the 'y' in (x, y) will be used when using Flip on Y." #: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:4855 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGrbEditor.py:4863 flatcamTools/ToolTransform.py:339 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2599,236 +2604,236 @@ msgstr "" "SHIFT key. Then click Add button to insert." #: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:4980 +#: flatcamEditors/FlatCAMGrbEditor.py:4988 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "[WARNING_NOTCL] Transformation cancelled. No shape selected." #: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5000 flatcamTools/ToolTransform.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:5008 flatcamTools/ToolTransform.py:468 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5043 flatcamTools/ToolTransform.py:502 +#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:502 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5070 flatcamTools/ToolTransform.py:520 +#: flatcamEditors/FlatCAMGrbEditor.py:5078 flatcamTools/ToolTransform.py:520 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5097 flatcamTools/ToolTransform.py:538 +#: flatcamEditors/FlatCAMGrbEditor.py:5105 flatcamTools/ToolTransform.py:538 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5138 flatcamTools/ToolTransform.py:572 +#: flatcamEditors/FlatCAMGrbEditor.py:5146 flatcamTools/ToolTransform.py:572 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5176 flatcamTools/ToolTransform.py:601 +#: flatcamEditors/FlatCAMGrbEditor.py:5184 flatcamTools/ToolTransform.py:601 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5202 flatcamTools/ToolTransform.py:619 +#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:619 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." #: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5225 +#: flatcamEditors/FlatCAMGrbEditor.py:5233 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" #: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5228 flatcamTools/ToolTransform.py:640 +#: flatcamEditors/FlatCAMGrbEditor.py:5236 flatcamTools/ToolTransform.py:640 msgid "Appying Rotate" msgstr "Appying Rotate" #: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5259 +#: flatcamEditors/FlatCAMGrbEditor.py:5269 msgid "[success] Done. Rotate completed." msgstr "[success] Done. Rotate completed." #: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5278 +#: flatcamEditors/FlatCAMGrbEditor.py:5288 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" #: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5281 flatcamTools/ToolTransform.py:691 +#: flatcamEditors/FlatCAMGrbEditor.py:5291 flatcamTools/ToolTransform.py:691 msgid "Applying Flip" msgstr "Applying Flip" #: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5318 flatcamTools/ToolTransform.py:733 +#: flatcamEditors/FlatCAMGrbEditor.py:5330 flatcamTools/ToolTransform.py:733 msgid "[success] Flip on the Y axis done ..." msgstr "[success] Flip on the Y axis done ..." #: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5326 flatcamTools/ToolTransform.py:742 +#: flatcamEditors/FlatCAMGrbEditor.py:5338 flatcamTools/ToolTransform.py:742 msgid "[success] Flip on the X axis done ..." msgstr "[success] Flip on the X axis done ..." #: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5346 +#: flatcamEditors/FlatCAMGrbEditor.py:5358 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" #: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5349 flatcamTools/ToolTransform.py:760 +#: flatcamEditors/FlatCAMGrbEditor.py:5361 flatcamTools/ToolTransform.py:760 msgid "Applying Skew" msgstr "Applying Skew" #: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5382 flatcamTools/ToolTransform.py:791 +#: flatcamEditors/FlatCAMGrbEditor.py:5396 flatcamTools/ToolTransform.py:791 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Skew on the %s axis done ..." #: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:795 +#: flatcamEditors/FlatCAMGrbEditor.py:5400 flatcamTools/ToolTransform.py:795 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Skew action was not executed." #: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5405 +#: flatcamEditors/FlatCAMGrbEditor.py:5419 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" #: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5408 flatcamTools/ToolTransform.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:809 msgid "Applying Scale" msgstr "Applying Scale" #: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5444 flatcamTools/ToolTransform.py:848 +#: flatcamEditors/FlatCAMGrbEditor.py:5460 flatcamTools/ToolTransform.py:848 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Scale on the %s axis done ..." #: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5447 flatcamTools/ToolTransform.py:851 +#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:851 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Scale action was not executed." #: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5460 +#: flatcamEditors/FlatCAMGrbEditor.py:5476 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" #: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:861 +#: flatcamEditors/FlatCAMGrbEditor.py:5479 flatcamTools/ToolTransform.py:861 msgid "Applying Offset" msgstr "Applying Offset" #: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5484 flatcamTools/ToolTransform.py:880 +#: flatcamEditors/FlatCAMGrbEditor.py:5501 flatcamTools/ToolTransform.py:880 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Offset on the %s axis done ..." #: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5488 flatcamTools/ToolTransform.py:884 +#: flatcamEditors/FlatCAMGrbEditor.py:5505 flatcamTools/ToolTransform.py:884 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "[ERROR_NOTCL] Due of %s, Offset action was not executed." #: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5492 +#: flatcamEditors/FlatCAMGrbEditor.py:5509 msgid "Rotate ..." msgstr "Rotate ..." #: flatcamEditors/FlatCAMGeoEditor.py:1478 #: flatcamEditors/FlatCAMGeoEditor.py:1535 #: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 -#: flatcamEditors/FlatCAMGrbEditor.py:5550 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 #: flatcamEditors/FlatCAMGrbEditor.py:5567 +#: flatcamEditors/FlatCAMGrbEditor.py:5584 msgid "Enter an Angle Value (degrees):" msgstr "Enter an Angle Value (degrees):" #: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5502 +#: flatcamEditors/FlatCAMGrbEditor.py:5519 msgid "[success] Geometry shape rotate done..." msgstr "[success] Geometry shape rotate done..." #: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5507 +#: flatcamEditors/FlatCAMGrbEditor.py:5524 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "[WARNING_NOTCL] Geometry shape rotate cancelled..." #: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5513 +#: flatcamEditors/FlatCAMGrbEditor.py:5530 msgid "Offset on X axis ..." msgstr "Offset on X axis ..." #: flatcamEditors/FlatCAMGeoEditor.py:1499 #: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5514 -#: flatcamEditors/FlatCAMGrbEditor.py:5533 +#: flatcamEditors/FlatCAMGrbEditor.py:5531 +#: flatcamEditors/FlatCAMGrbEditor.py:5550 #, python-format msgid "Enter a distance Value (%s):" msgstr "Enter a distance Value (%s):" #: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5523 +#: flatcamEditors/FlatCAMGrbEditor.py:5540 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Geometry shape offset on X axis done..." #: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5527 +#: flatcamEditors/FlatCAMGrbEditor.py:5544 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "[WARNING_NOTCL] Geometry shape offset X cancelled..." #: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 +#: flatcamEditors/FlatCAMGrbEditor.py:5549 msgid "Offset on Y axis ..." msgstr "Offset on Y axis ..." #: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5542 +#: flatcamEditors/FlatCAMGrbEditor.py:5559 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Geometry shape offset on Y axis done..." #: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5546 +#: flatcamEditors/FlatCAMGrbEditor.py:5563 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "[WARNING_NOTCL] Geometry shape offset Y cancelled..." #: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5549 +#: flatcamEditors/FlatCAMGrbEditor.py:5566 msgid "Skew on X axis ..." msgstr "Skew on X axis ..." #: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5559 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Geometry shape skew on X axis done..." #: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 +#: flatcamEditors/FlatCAMGrbEditor.py:5580 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "[WARNING_NOTCL] Geometry shape skew X cancelled..." #: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5566 +#: flatcamEditors/FlatCAMGrbEditor.py:5583 msgid "Skew on Y axis ..." msgstr "Skew on Y axis ..." #: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5576 +#: flatcamEditors/FlatCAMGrbEditor.py:5593 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Geometry shape skew on Y axis done..." #: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5580 +#: flatcamEditors/FlatCAMGrbEditor.py:5597 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[WARNING_NOTCL] Geometry shape skew Y cancelled..." @@ -2981,7 +2986,7 @@ msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "[WARNING_NOTCL] Buffer cancelled. No shape selected." #: flatcamEditors/FlatCAMGeoEditor.py:2711 -#: flatcamEditors/FlatCAMGrbEditor.py:4442 +#: flatcamEditors/FlatCAMGrbEditor.py:4447 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Done. Buffer Tool completed." @@ -3289,23 +3294,23 @@ msgid "Apertures Table for the Gerber Object." msgstr "Apertures Table for the Gerber Object." #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Code" msgstr "Code" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 msgid "Type" msgstr "Type" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Size" msgstr "Size" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Dim" msgstr "Dim" @@ -3553,15 +3558,15 @@ msgstr "[success] Gerber editing finished." msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Cancelled. No aperture is selected" -#: flatcamEditors/FlatCAMGrbEditor.py:4270 +#: flatcamEditors/FlatCAMGrbEditor.py:4280 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "[ERROR_NOTCL] Failed. No aperture geometry is selected." -#: flatcamEditors/FlatCAMGrbEditor.py:4278 +#: flatcamEditors/FlatCAMGrbEditor.py:4288 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Done. Apertures geometry deleted." -#: flatcamEditors/FlatCAMGrbEditor.py:4427 +#: flatcamEditors/FlatCAMGrbEditor.py:4431 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." @@ -3569,7 +3574,17 @@ msgstr "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." -#: flatcamEditors/FlatCAMGrbEditor.py:4456 +#: flatcamEditors/FlatCAMGrbEditor.py:4444 +#, python-format +#| msgid "[ERROR_NOTCL] Failed to open %s" +msgid "" +"[ERROR_NOTCL] Failed.\n" +"%s" +msgstr "" +"[ERROR_NOTCL] Failed.\n" +"%s" + +#: flatcamEditors/FlatCAMGrbEditor.py:4461 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -3577,7 +3592,7 @@ msgstr "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." -#: flatcamEditors/FlatCAMGrbEditor.py:4486 +#: flatcamEditors/FlatCAMGrbEditor.py:4494 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -3585,7 +3600,7 @@ msgstr "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." -#: flatcamEditors/FlatCAMGrbEditor.py:4502 +#: flatcamEditors/FlatCAMGrbEditor.py:4510 msgid "[success] Done. Scale Tool completed." msgstr "[success] Done. Scale Tool completed." @@ -6476,7 +6491,6 @@ msgstr "" "but require more RAM usage and more processing time." #: flatcamGUI/FlatCAMGUI.py:3992 -#| msgid "Geometry General" msgid "Gerber General" msgstr "Gerber General" @@ -9592,7 +9606,6 @@ msgstr "" "like to add to the beginning of the generated file." #: flatcamGUI/ObjectUI.py:1502 -#| msgid "Append to CNC Code" msgid "Append to CNC Code:" msgstr "Append to CNC Code:" diff --git a/locale/ro/LC_MESSAGES/strings.mo b/locale/ro/LC_MESSAGES/strings.mo index 921af0e22eebdaf2799189c380a1fbe601d9414d..8ba91a203f0d8d05ae69c9aa4d1769c63bb3ad59 100644 GIT binary patch delta 40055 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 delta 39793 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şiere recente< pentru a fi salvat " "a eșuat." -#: FlatCAMApp.py:2984 camlib.py:4454 +#: FlatCAMApp.py:2984 camlib.py:4457 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 " @@ -232,7 +232,7 @@ msgstr "" "FlatCAM are fişiere/obiecte care au fost modificate. \n" "Dorești să Salvezi proiectul?" -#: FlatCAMApp.py:3401 FlatCAMApp.py:5879 +#: FlatCAMApp.py:3401 FlatCAMApp.py:5885 msgid "Save changes" msgstr "Salvează modificarile." @@ -283,8 +283,8 @@ msgstr "[success] Un obiect Geometrie a fost convertit la tipul MultiGeo." msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "[success] Un obiect Geometrie a fost convertit la tipul SingleGeo ." -#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6154 FlatCAMApp.py:6165 -#: FlatCAMApp.py:6405 FlatCAMApp.py:6415 +#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6160 FlatCAMApp.py:6171 +#: FlatCAMApp.py:6411 FlatCAMApp.py:6421 msgid "Ok" msgstr "Ok" @@ -295,7 +295,7 @@ msgstr "[success] Conversie unitati la %s" #: FlatCAMApp.py:3789 msgid "[WARNING_NOTCL] Units conversion cancelled." -msgstr "[WARNING_NOTCL] Conversia unitatilor este anulata." +msgstr "[WARNING_NOTCL] Conversia unitatilor este anulată." #: FlatCAMApp.py:4441 msgid "Open file" @@ -330,7 +330,7 @@ msgstr "" #: 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 ..." +msgstr "[WARNING_NOTCL] Adăugarea unei unelte anulată ..." #: FlatCAMApp.py:4568 msgid "" @@ -376,8 +376,8 @@ msgstr "Coordonate gresite. Introduceți coordonatele in format X,Y." #: flatcamEditors/FlatCAMGrbEditor.py:1141 #: flatcamEditors/FlatCAMGrbEditor.py:1409 #: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:3950 -#: flatcamEditors/FlatCAMGrbEditor.py:3964 flatcamGUI/FlatCAMGUI.py:2414 +#: flatcamEditors/FlatCAMGrbEditor.py:3960 +#: flatcamEditors/FlatCAMGrbEditor.py:3974 flatcamGUI/FlatCAMGUI.py:2414 #: flatcamGUI/FlatCAMGUI.py:2426 msgid "[success] Done." msgstr "[success] Executat." @@ -407,7 +407,7 @@ msgstr "[success] Oglindire pe axa Y executată." #: FlatCAMApp.py:5045 FlatCAMApp.py:5085 #: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5331 flatcamTools/ToolTransform.py:748 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 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." @@ -438,7 +438,7 @@ msgid "[success] Rotation done." msgstr "[success] Rotaţie executată." #: FlatCAMApp.py:5133 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamTools/ToolTransform.py:677 +#: flatcamEditors/FlatCAMGrbEditor.py:5272 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." @@ -459,13 +459,13 @@ msgstr "[WARNING_NOTCL] Nici-un obiect selectat pentru Deformare pe axa Y." msgid "[success] Skew on Y axis done." msgstr "[success] Deformare pe axa Y executată." -#: FlatCAMApp.py:5265 +#: FlatCAMApp.py:5266 msgid "Grid On/Off" msgstr "Grid On/Off" -#: FlatCAMApp.py:5278 flatcamEditors/FlatCAMGeoEditor.py:937 +#: FlatCAMApp.py:5279 flatcamEditors/FlatCAMGeoEditor.py:937 #: flatcamEditors/FlatCAMGrbEditor.py:2381 -#: flatcamEditors/FlatCAMGrbEditor.py:4853 flatcamGUI/ObjectUI.py:991 +#: flatcamEditors/FlatCAMGrbEditor.py:4861 flatcamGUI/ObjectUI.py:991 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:208 #: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 #: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:479 @@ -473,7 +473,7 @@ msgstr "Grid On/Off" msgid "Add" msgstr "Adaugă" -#: FlatCAMApp.py:5279 FlatCAMObj.py:3270 +#: FlatCAMApp.py:5280 FlatCAMObj.py:3276 #: 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,68 @@ msgstr "Adaugă" msgid "Delete" msgstr "Șterge" -#: FlatCAMApp.py:5292 +#: FlatCAMApp.py:5293 msgid "New Grid ..." msgstr "Grid nou ..." -#: FlatCAMApp.py:5293 +#: FlatCAMApp.py:5294 msgid "Enter a Grid Value:" msgstr "Introduceti of valoare pt Grid:" -#: FlatCAMApp.py:5301 FlatCAMApp.py:5328 +#: FlatCAMApp.py:5302 FlatCAMApp.py:5329 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:5307 +#: FlatCAMApp.py:5308 msgid "[success] New Grid added ..." msgstr "[success] O noua valoare pt Grila a fost adăugată..." -#: FlatCAMApp.py:5310 +#: FlatCAMApp.py:5311 msgid "[WARNING_NOTCL] Grid already exists ..." -msgstr "[WARNING_NOTCL] Grila exista deja." +msgstr "[WARNING_NOTCL] Grila există deja." -#: FlatCAMApp.py:5313 +#: FlatCAMApp.py:5314 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." -msgstr "[WARNING_NOTCL] Adăugarea unei valori de Grila a fost anulata ..." +msgstr "[WARNING_NOTCL] Adăugarea unei valori de Grilă a fost anulată ..." -#: FlatCAMApp.py:5335 +#: FlatCAMApp.py:5336 msgid "[ERROR_NOTCL] Grid Value does not exist ..." -msgstr "[ERROR_NOTCL] Valoarea Grilei nu exista ..." +msgstr "[ERROR_NOTCL] Valoarea Grilei nu există ..." -#: FlatCAMApp.py:5338 +#: FlatCAMApp.py:5339 msgid "[success] Grid Value deleted ..." -msgstr "[success] Valoarea Grila a fost stearsa." +msgstr "[success] Valoarea Grila a fost stearsă." -#: FlatCAMApp.py:5341 +#: FlatCAMApp.py:5342 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." -msgstr "[WARNING_NOTCL] Ștergerea unei valori de Grila a fost anulata ..." +msgstr "[WARNING_NOTCL] Ștergerea unei valori de Grilă a fost anulată ..." -#: FlatCAMApp.py:5380 +#: FlatCAMApp.py:5381 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:5384 +#: FlatCAMApp.py:5385 msgid "Name copied on clipboard ..." msgstr "Numele a fost copiat pe Clipboard ..." -#: 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 +#: FlatCAMApp.py:5427 flatcamEditors/FlatCAMGrbEditor.py:3901 +msgid "[success] Coordinates copied to clipboard." +msgstr "[success] Coordonatele au fost copiate in clipboard." + +#: FlatCAMApp.py:5683 FlatCAMApp.py:5686 FlatCAMApp.py:5689 FlatCAMApp.py:5692 +#: FlatCAMApp.py:5707 FlatCAMApp.py:5710 FlatCAMApp.py:5713 FlatCAMApp.py:5716 +#: FlatCAMApp.py:5756 FlatCAMApp.py:5759 FlatCAMApp.py:5762 FlatCAMApp.py:5765 #: 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:5876 +#: FlatCAMApp.py:5882 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -549,111 +553,111 @@ msgstr "" "Crearea unui nou Proiect le va șterge..\n" "Doriti să Salvati proiectul curentt?" -#: FlatCAMApp.py:5897 +#: FlatCAMApp.py:5903 msgid "[success] New Project created..." msgstr "[success] Un nou Proiect a fost creat..." -#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6019 FlatCAMApp.py:6022 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "Încarcă Gerber" -#: FlatCAMApp.py:6021 +#: FlatCAMApp.py:6027 msgid "[WARNING_NOTCL] Open Gerber cancelled." -msgstr "[WARNING_NOTCL] Incărcarea unui fişier Gerber este anulata." +msgstr "[WARNING_NOTCL] Incărcarea unui fişier Gerber este anulată." -#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6048 FlatCAMApp.py:6051 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "Încarcă Excellon" -#: FlatCAMApp.py:6050 +#: FlatCAMApp.py:6056 msgid "[WARNING_NOTCL] Open Excellon cancelled." -msgstr "[WARNING_NOTCL] Incărcarea unui fişier Excellon este anulata." +msgstr "[WARNING_NOTCL] Incărcarea unui fişier Excellon este anulată." -#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 +#: FlatCAMApp.py:6078 FlatCAMApp.py:6081 msgid "Open G-Code" msgstr "Încarcă G-Code" -#: FlatCAMApp.py:6080 +#: FlatCAMApp.py:6086 msgid "[WARNING_NOTCL] Open G-Code cancelled." -msgstr "[WARNING_NOTCL] Incărcarea unui fişier G-Code este anulata." +msgstr "[WARNING_NOTCL] Incărcarea unui fişier G-Code este anulată." -#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 +#: FlatCAMApp.py:6104 FlatCAMApp.py:6107 msgid "Open Project" msgstr "Încarcă Project" -#: FlatCAMApp.py:6109 +#: FlatCAMApp.py:6115 msgid "[WARNING_NOTCL] Open Project cancelled." -msgstr "[WARNING_NOTCL] Incărcarea unui Proiect a fost anulata." +msgstr "[WARNING_NOTCL] Incărcarea unui Proiect a fost anulată." -#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 +#: FlatCAMApp.py:6134 FlatCAMApp.py:6137 msgid "Open Configuration File" msgstr "Încarcă un fişier de Configurare" -#: FlatCAMApp.py:6135 +#: FlatCAMApp.py:6141 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "[WARNING_NOTCL] Incărcarea unui fişier de Configurare este anulată." -#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 -#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 +#: FlatCAMApp.py:6156 FlatCAMApp.py:6407 FlatCAMApp.py:8560 FlatCAMApp.py:8580 +#: FlatCAMApp.py:8601 FlatCAMApp.py:8623 msgid "[WARNING_NOTCL] No object selected." msgstr "[WARNING_NOTCL] Nici-un obiect selectat." -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 +#: FlatCAMApp.py:6157 FlatCAMApp.py:6408 msgid "Please Select a Geometry object to export" msgstr "Selectează un obiect Geometrie pentru export" -#: FlatCAMApp.py:6162 +#: FlatCAMApp.py:6168 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:6175 FlatCAMApp.py:6179 +#: FlatCAMApp.py:6181 FlatCAMApp.py:6185 msgid "Export SVG" msgstr "Exporta SVG" -#: FlatCAMApp.py:6184 +#: FlatCAMApp.py:6190 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "[WARNING_NOTCL] Exportul SVG este anulat." -#: FlatCAMApp.py:6203 +#: FlatCAMApp.py:6209 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:6209 FlatCAMApp.py:6213 +#: FlatCAMApp.py:6215 FlatCAMApp.py:6219 msgid "Export PNG Image" msgstr "Exporta imagine PNG" -#: FlatCAMApp.py:6218 +#: FlatCAMApp.py:6224 msgid "Export PNG cancelled." msgstr "Exportul imagine PNG este anulat." -#: FlatCAMApp.py:6237 +#: FlatCAMApp.py:6243 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:6242 FlatCAMApp.py:6365 +#: FlatCAMApp.py:6248 FlatCAMApp.py:6371 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:6254 +#: FlatCAMApp.py:6260 msgid "Save Gerber source file" msgstr "Salvează codul sursa Gerber ca fişier" -#: FlatCAMApp.py:6259 +#: FlatCAMApp.py:6265 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." -msgstr "[WARNING_NOTCL] Salvarea codului sursa Gerber este anulata." +msgstr "[WARNING_NOTCL] Salvarea codului sursa Gerber este anulată." -#: FlatCAMApp.py:6278 +#: FlatCAMApp.py:6284 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." @@ -661,22 +665,22 @@ msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Excellon " "pentru export." -#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 +#: FlatCAMApp.py:6289 FlatCAMApp.py:6330 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:6291 FlatCAMApp.py:6295 +#: FlatCAMApp.py:6297 FlatCAMApp.py:6301 msgid "Save Excellon source file" msgstr "Salvează codul sursa Excellon ca fişier" -#: FlatCAMApp.py:6300 +#: FlatCAMApp.py:6306 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." -msgstr "[WARNING_NOTCL] Salvarea codului sursa Excellon este anulata." +msgstr "[WARNING_NOTCL] Salvarea codului sursa Excellon este anulată." -#: FlatCAMApp.py:6319 +#: FlatCAMApp.py:6325 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." @@ -684,94 +688,94 @@ msgstr "" "[WARNING_NOTCL] Nici-un obiect selectat. Selectează un obiect Excellon " "pentru export." -#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 +#: FlatCAMApp.py:6338 FlatCAMApp.py:6342 msgid "Export Excellon" msgstr "Exporta Excellon" -#: FlatCAMApp.py:6341 +#: FlatCAMApp.py:6347 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "[WARNING_NOTCL] Exportul Excellon anulat." -#: FlatCAMApp.py:6360 +#: FlatCAMApp.py:6366 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:6373 FlatCAMApp.py:6377 +#: FlatCAMApp.py:6379 FlatCAMApp.py:6383 msgid "Export Gerber" msgstr "Exporta Gerber" -#: FlatCAMApp.py:6382 +#: FlatCAMApp.py:6388 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "[WARNING_NOTCL] Exportul Gerber este anulat." -#: FlatCAMApp.py:6412 +#: FlatCAMApp.py:6418 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "[ERROR_NOTCL] Doar obiecte tip Geometrie pot fi folosite." -#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 +#: FlatCAMApp.py:6432 FlatCAMApp.py:6436 msgid "Export DXF" msgstr "Exporta DXF" -#: FlatCAMApp.py:6436 +#: FlatCAMApp.py:6442 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "[WARNING_NOTCL] Exportul DXF anulat." -#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 +#: FlatCAMApp.py:6462 FlatCAMApp.py:6465 msgid "Import SVG" msgstr "Importa SVG" -#: FlatCAMApp.py:6468 +#: FlatCAMApp.py:6474 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "[WARNING_NOTCL] Importul SVG anulat." -#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 +#: FlatCAMApp.py:6493 FlatCAMApp.py:6497 msgid "Import DXF" msgstr "Importa DXF" -#: FlatCAMApp.py:6500 +#: FlatCAMApp.py:6506 msgid "[WARNING_NOTCL] Open DXF cancelled." -msgstr "[WARNING_NOTCL] Incărcarea fişier DXF anulata." +msgstr "[WARNING_NOTCL] Incărcarea fişier DXF anulată." -#: FlatCAMApp.py:6518 +#: FlatCAMApp.py:6524 #, python-format msgid "%s" msgstr "%s" -#: FlatCAMApp.py:6538 +#: FlatCAMApp.py:6544 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:6545 +#: FlatCAMApp.py:6551 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:6553 +#: FlatCAMApp.py:6559 msgid "Source Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:6563 +#: FlatCAMApp.py:6569 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "[ERROR]App.on_view_source() -->%s" -#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 +#: FlatCAMApp.py:6581 FlatCAMApp.py:7723 FlatCAMObj.py:5560 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "Editor Cod" -#: FlatCAMApp.py:6587 +#: FlatCAMApp.py:6593 msgid "Script Editor" msgstr "Editor Script." -#: FlatCAMApp.py:6590 +#: FlatCAMApp.py:6596 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -815,99 +819,99 @@ msgstr "" "#\n" "\n" -#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 +#: FlatCAMApp.py:6619 FlatCAMApp.py:6622 msgid "Open TCL script" msgstr "Încarcă TCL script" -#: FlatCAMApp.py:6624 +#: FlatCAMApp.py:6630 msgid "[WARNING_NOTCL] Open TCL script cancelled." -msgstr "[WARNING_NOTCL] Incărcarea TCL script anulata." +msgstr "[WARNING_NOTCL] Incărcarea TCL script anulată." -#: FlatCAMApp.py:6636 +#: FlatCAMApp.py:6642 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "[ERROR]App.on_fileopenscript() -->%s" -#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 msgid "Run TCL script" msgstr "Ruleaza TCL script" -#: FlatCAMApp.py:6673 +#: FlatCAMApp.py:6679 msgid "[WARNING_NOTCL] Run TCL script cancelled." -msgstr "[WARNING_NOTCL] Rularea fisierului Script a fost anulata." +msgstr "[WARNING_NOTCL] Rularea fisierului Script a fost anulată." -#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 +#: FlatCAMApp.py:6729 FlatCAMApp.py:6733 msgid "Save Project As ..." msgstr "Salvează Proiectul ca ..." -#: FlatCAMApp.py:6724 +#: FlatCAMApp.py:6730 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "{l_save}/Proiect_{date}" -#: FlatCAMApp.py:6732 +#: FlatCAMApp.py:6738 msgid "[WARNING_NOTCL] Save Project cancelled." -msgstr "[WARNING_NOTCL] Salvarea Proiect anulata." +msgstr "[WARNING_NOTCL] Salvarea Proiect anulată." -#: FlatCAMApp.py:6776 +#: FlatCAMApp.py:6782 msgid "Exporting SVG" msgstr "SVG in curs de export" -#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 +#: FlatCAMApp.py:6816 FlatCAMApp.py:6922 FlatCAMApp.py:7037 #, python-format msgid "[success] SVG file exported to %s" msgstr "[success] Fişier SVG exportat in %s" -#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 +#: FlatCAMApp.py:6847 FlatCAMApp.py:6968 #, 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:6919 FlatCAMApp.py:7034 +#: FlatCAMApp.py:6925 FlatCAMApp.py:7040 msgid "Generating Film ... Please wait." msgstr "Filmul se generează ... Aşteaptă!" -#: FlatCAMApp.py:7182 +#: FlatCAMApp.py:7188 #, python-format msgid "[success] Excellon file exported to %s" msgstr "[success] Fişierul Excellon exportat in %s" -#: FlatCAMApp.py:7189 +#: FlatCAMApp.py:7195 msgid "Exporting Excellon" msgstr "Excellon in curs de export" -#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 +#: FlatCAMApp.py:7200 FlatCAMApp.py:7207 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "[ERROR_NOTCL] Fişierul Excellon nu a putut fi exportat." -#: FlatCAMApp.py:7299 +#: FlatCAMApp.py:7305 #, python-format msgid "[success] Gerber file exported to %s" msgstr "[success] Fişier Gerber exportat in %s" -#: FlatCAMApp.py:7306 +#: FlatCAMApp.py:7312 msgid "Exporting Gerber" msgstr "Gerber in curs de export" -#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 +#: FlatCAMApp.py:7317 FlatCAMApp.py:7324 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "[ERROR_NOTCL] Fişierul Gerber nu a putut fi exportat." -#: FlatCAMApp.py:7358 +#: FlatCAMApp.py:7364 #, python-format msgid "[success] DXF file exported to %s" msgstr "[success] Fişierul DXF exportat in %s" -#: FlatCAMApp.py:7364 +#: FlatCAMApp.py:7370 msgid "Exporting DXF" msgstr "DXF in curs de export" -#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 +#: FlatCAMApp.py:7375 FlatCAMApp.py:7382 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "[[WARNING_NOTCL]] Fişierul DXF nu a putut fi exportat." -#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 +#: FlatCAMApp.py:7402 FlatCAMApp.py:7444 FlatCAMApp.py:7488 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" @@ -915,102 +919,102 @@ msgstr "" "[ERROR_NOTCL] Typul parametrului nu este compatibil. Doar Geometrie is " "Gerber sunt acceptate." -#: FlatCAMApp.py:7406 +#: FlatCAMApp.py:7412 msgid "Importing SVG" msgstr "SVG in curs de ia fi importat" -#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 -#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7423 FlatCAMApp.py:7465 FlatCAMApp.py:7508 FlatCAMApp.py:7585 +#: FlatCAMApp.py:7646 FlatCAMApp.py:7709 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "[success] Incărcat: %s" -#: FlatCAMApp.py:7448 +#: FlatCAMApp.py:7454 msgid "Importing DXF" msgstr "DXF in curs de a fi importat" -#: FlatCAMApp.py:7490 +#: FlatCAMApp.py:7496 msgid "Importing Image" msgstr "Imaginea in curs de a fi importata" -#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 +#: FlatCAMApp.py:7537 FlatCAMApp.py:7539 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "[ERROR_NOTCL] Eşec in incărcarea fişierului %s" -#: FlatCAMApp.py:7536 +#: FlatCAMApp.py:7542 #, 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:7543 FlatCAMObj.py:4230 +#: FlatCAMApp.py:7549 FlatCAMObj.py:4239 #: 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:7552 +#: FlatCAMApp.py:7558 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:7560 +#: FlatCAMApp.py:7566 msgid "Opening Gerber" msgstr "Gerber in curs de incărcare" -#: FlatCAMApp.py:7570 +#: FlatCAMApp.py:7576 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:7603 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7609 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "[ERROR_NOTCL] Acesta nu este un fişier Excellon." -#: FlatCAMApp.py:7606 +#: FlatCAMApp.py:7612 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "[ERROR_NOTCL] Fişierul %s nu se poate incărca." -#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7617 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:7624 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7630 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:7627 +#: FlatCAMApp.py:7633 msgid "Opening Excellon." msgstr "Excellon in curs de incărcare" -#: FlatCAMApp.py:7633 +#: FlatCAMApp.py:7639 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:7670 +#: FlatCAMApp.py:7676 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "[ERROR_NOTCL] Incărcarea fişierului %s a eșuat." -#: FlatCAMApp.py:7680 +#: FlatCAMApp.py:7686 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "[ERROR_NOTCL] Acest obiect nu este de tip GCode" -#: FlatCAMApp.py:7686 +#: FlatCAMApp.py:7692 msgid "Opening G-Code." msgstr "G-Code in curs de incărcare" -#: FlatCAMApp.py:7694 +#: FlatCAMApp.py:7700 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 +1025,26 @@ msgstr "" "Incercarea de a crea un obiect CNCJob din G-Code a eșuat in timpul " "procesarii." -#: FlatCAMApp.py:7734 +#: FlatCAMApp.py:7740 #, 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:7760 FlatCAMApp.py:7777 +#: FlatCAMApp.py:7766 FlatCAMApp.py:7783 #, 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:7800 +#: FlatCAMApp.py:7806 #, python-format msgid "[success] Project loaded from: %s" msgstr "[success] Proeictul a fost incărcat din: %s" -#: FlatCAMApp.py:7905 +#: FlatCAMApp.py:7911 msgid "Available commands:\n" msgstr "Comenzi disponibile:\n" -#: FlatCAMApp.py:7907 +#: FlatCAMApp.py:7913 msgid "" "\n" "\n" @@ -1052,27 +1056,27 @@ msgstr "" "Introduceți help pentru utilizare.\n" "Exemplu: help open_gerber" -#: FlatCAMApp.py:8057 +#: FlatCAMApp.py:8063 msgid "Shows list of commands." msgstr "Arata o lista de comenzi." -#: FlatCAMApp.py:8114 +#: FlatCAMApp.py:8120 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "[ERROR_NOTCL] Eşec in incărcarea listei cu obiecte recente." -#: FlatCAMApp.py:8121 +#: FlatCAMApp.py:8127 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "[ERROR_NOTCL] Eşec in parsarea listei cu obiecte recente." -#: FlatCAMApp.py:8165 +#: FlatCAMApp.py:8171 msgid "Clear Recent files" msgstr "Sterge fişierele recente" -#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8188 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr "Lista cu taste Shortcut" -#: FlatCAMApp.py:8189 +#: FlatCAMApp.py:8195 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1169,27 +1173,27 @@ msgstr "" "\n" " " -#: FlatCAMApp.py:8293 +#: FlatCAMApp.py:8302 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:8300 +#: FlatCAMApp.py:8309 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:8310 +#: FlatCAMApp.py:8319 msgid "[success] FlatCAM is up to date!" msgstr "[success] FlatCAM este la ultima versiune!" -#: FlatCAMApp.py:8315 +#: FlatCAMApp.py:8324 msgid "Newer Version Available" msgstr "O nouă versiune este disponibila" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8325 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" @@ -1197,97 +1201,97 @@ msgstr "" "O nouă versiune de FlatCAM este disponibilă pentru download::\n" "\n" -#: FlatCAMApp.py:8318 +#: FlatCAMApp.py:8327 msgid "info" msgstr "Informaţie" -#: FlatCAMApp.py:8337 +#: FlatCAMApp.py:8346 msgid "[success] All plots disabled." msgstr "[success] Toate afişările sunt dezactivate." -#: FlatCAMApp.py:8343 +#: FlatCAMApp.py:8352 msgid "[success] All non selected plots disabled." msgstr "[success] Toate afişările care nu sunt selectate sunt dezactivate." -#: FlatCAMApp.py:8349 +#: FlatCAMApp.py:8358 msgid "[success] All plots enabled." msgstr "[success] Toate afişările sunt activate." -#: FlatCAMApp.py:8355 +#: FlatCAMApp.py:8364 msgid "[success] Selected plots enabled..." msgstr "[success] Toate afişările sunt activate..." -#: FlatCAMApp.py:8363 +#: FlatCAMApp.py:8372 msgid "[success] Selected plots disabled..." msgstr "[success] Toate afişările sunt dezactivate..." -#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 +#: FlatCAMApp.py:8382 FlatCAMApp.py:8395 msgid "Working ..." msgstr "Se lucrează..." -#: FlatCAMApp.py:8420 +#: FlatCAMApp.py:8429 msgid "Saving FlatCAM Project" msgstr "Proiectul FlatCAM este in curs de salvare" -#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 +#: FlatCAMApp.py:8450 FlatCAMApp.py:8481 #, python-format msgid "[success] Project saved to: %s" msgstr "[success] Proiectul s-a salvat in: %s" -#: FlatCAMApp.py:8459 +#: FlatCAMApp.py:8468 #, 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:8466 +#: FlatCAMApp.py:8475 #, 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:8474 +#: FlatCAMApp.py:8483 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" "[ERROR_NOTCL] Salvarea proiectului a eșuat: %s. Incearcă să il salvezi din " "nou." -#: FlatCAMObj.py:202 +#: FlatCAMObj.py:207 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "[success] Numele schimbat din {old} in {new}" -#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 +#: FlatCAMObj.py:553 FlatCAMObj.py:2035 FlatCAMObj.py:3281 FlatCAMObj.py:5457 msgid "Basic" msgstr "Baza" -#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 +#: FlatCAMObj.py:565 FlatCAMObj.py:2051 FlatCAMObj.py:3303 FlatCAMObj.py:5463 msgid "Advanced" msgstr "Avansat" -#: FlatCAMObj.py:920 FlatCAMObj.py:975 +#: FlatCAMObj.py:928 FlatCAMObj.py:983 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "[success] Geometria de izolare creată: %s" -#: FlatCAMObj.py:1154 +#: FlatCAMObj.py:1162 msgid "Plotting Apertures" msgstr "Aperturile sunt in curs de afișare" -#: FlatCAMObj.py:1870 flatcamEditors/FlatCAMExcEditor.py:1368 +#: FlatCAMObj.py:1878 flatcamEditors/FlatCAMExcEditor.py:1368 msgid "Total Drills" msgstr "Nr. Tot. Op. Găurire" -#: FlatCAMObj.py:1896 flatcamEditors/FlatCAMExcEditor.py:1400 +#: FlatCAMObj.py:1904 flatcamEditors/FlatCAMExcEditor.py:1400 msgid "Total Slots" msgstr "Nr. Tot. Sloturi" -#: 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 +#: FlatCAMObj.py:2107 FlatCAMObj.py:3355 FlatCAMObj.py:3655 FlatCAMObj.py:3842 +#: FlatCAMObj.py:3855 FlatCAMObj.py:3972 FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:5040 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 @@ -1306,25 +1310,25 @@ msgstr "Nr. Tot. Sloturi" msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "[ERROR_NOTCL] O valoare gresita a fost introdusa. Foloseşte un număr." -#: FlatCAMObj.py:2327 FlatCAMObj.py:2418 FlatCAMObj.py:2540 +#: FlatCAMObj.py:2331 FlatCAMObj.py:2423 FlatCAMObj.py:2546 msgid "" "[ERROR_NOTCL] Please select one or more tools from the list and try again." msgstr "" "[ERROR_NOTCL] Selectează una sau mai multe unelte din lista și încearcă din " "nou." -#: FlatCAMObj.py:2334 +#: FlatCAMObj.py:2338 msgid "" "[ERROR_NOTCL] Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" "[ERROR_NOTCL] Anulat. Freza pt frezarea găurilor este mai mare decat " "diametrul găurii." -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Tool_nr" msgstr "Nr. Unealtă" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 #: flatcamEditors/FlatCAMExcEditor.py:819 #: flatcamEditors/FlatCAMExcEditor.py:2020 flatcamGUI/ObjectUI.py:556 #: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 @@ -1332,21 +1336,21 @@ msgstr "Nr. Unealtă" msgid "Diameter" msgstr "Diametru" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Drills_Nr" msgstr "Nr. gaura" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Slots_Nr" msgstr "Nr. slot" -#: FlatCAMObj.py:2428 +#: FlatCAMObj.py:2433 msgid "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" "[ERROR_NOTCL] Anulat. Freza este mai mare decat diametrul slotului de frezat." -#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 +#: FlatCAMObj.py:2608 FlatCAMObj.py:4277 FlatCAMObj.py:4493 FlatCAMObj.py:4810 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" @@ -1354,7 +1358,7 @@ msgstr "" "[ERROR_NOTCL] Valoare gresita pt self.defaults[\"z_pdepth\"] sau self." "options[\"z_pdepth\"]" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 +#: FlatCAMObj.py:2620 FlatCAMObj.py:4289 FlatCAMObj.py:4505 FlatCAMObj.py:4822 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" @@ -1362,12 +1366,12 @@ msgstr "" "[ERROR_NOTCL] Valoare gresita pt self.defaults[\"feedrate_probe\"] sau self." "options[\"feedrate_probe\"]" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 +#: FlatCAMObj.py:2652 FlatCAMObj.py:4698 FlatCAMObj.py:4703 FlatCAMObj.py:4853 msgid "Generating CNC Code" msgstr "CNC Code in curs de generare" -#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 -#: camlib.py:5886 +#: FlatCAMObj.py:2678 FlatCAMObj.py:4999 camlib.py:5167 camlib.py:5626 +#: camlib.py:5889 msgid "" "[ERROR]The Toolchange X,Y field in Edit -> Preferences has to be in the " "format (x, y) \n" @@ -1377,58 +1381,58 @@ msgstr "" "să fie in formatul (x, y) \n" "dar are o singură valoare in loc de doua. " -#: FlatCAMObj.py:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3898 FlatCAMObj.py:3899 FlatCAMObj.py:3908 msgid "Iso" msgstr "Izo." -#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3239 FlatCAMObj.py:3520 msgid "Rough" msgstr "Grosier" -#: FlatCAMObj.py:2984 +#: FlatCAMObj.py:2990 msgid "Finish" msgstr "Finisare" -#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3274 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:3483 +#: FlatCAMObj.py:3490 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:3556 +#: FlatCAMObj.py:3565 msgid "[success] Tool added in Tool Table." msgstr "[success] Unealtă adăugată in Tabela de Unelte." -#: FlatCAMObj.py:3561 +#: FlatCAMObj.py:3570 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:3591 FlatCAMObj.py:3601 +#: FlatCAMObj.py:3600 FlatCAMObj.py:3610 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "[WARNING_NOTCL] Eșuat. Selectează o unealtă pt copiere." -#: FlatCAMObj.py:3630 +#: FlatCAMObj.py:3639 msgid "[success] Tool was copied in Tool Table." msgstr "[success] Unealta a fost copiata in Tabela de Unelte." -#: FlatCAMObj.py:3663 +#: FlatCAMObj.py:3672 msgid "[success] Tool was edited in Tool Table." msgstr "[success] Unealta a fost editata in Tabela de Unelte." -#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 +#: FlatCAMObj.py:3703 FlatCAMObj.py:3713 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "[WARNING_NOTCL] Eșuat. Selectează o unealtă pentru ștergere." -#: FlatCAMObj.py:3728 +#: FlatCAMObj.py:3737 msgid "[success] Tool was deleted in Tool Table." msgstr "[success] Unealta a fost stearsa din Tabela de Unelte." -#: FlatCAMObj.py:4149 +#: FlatCAMObj.py:4158 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." @@ -1436,23 +1440,23 @@ msgstr "" "[WARNING_NOTCL] Acest obiect Geometrie nu poate fi procesar decoarece este " "Geometrie %s." -#: FlatCAMObj.py:4166 +#: FlatCAMObj.py:4175 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:4193 +#: FlatCAMObj.py:4202 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:4231 +#: FlatCAMObj.py:4240 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" -#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:4398 FlatCAMObj.py:4636 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 +1465,21 @@ msgstr "" "val. nu este oferita.\n" "Adaugă un ofset pt unealtă sau schimbă Tipul Ofset." -#: FlatCAMObj.py:4508 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4517 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:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 +#: FlatCAMObj.py:4886 FlatCAMObj.py:4896 camlib.py:3348 camlib.py:3357 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:4925 +#: FlatCAMObj.py:4934 msgid "[success] Geometry Scale done." msgstr "[success] Scalare Geometrie executată." -#: FlatCAMObj.py:4942 camlib.py:3425 +#: FlatCAMObj.py:4951 camlib.py:3426 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." @@ -1483,29 +1487,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:4962 +#: FlatCAMObj.py:4971 msgid "[success] Geometry Offset done." msgstr "[success] Ofset Geometrie executat." -#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5525 FlatCAMObj.py:5530 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "Exporta CNC Cod Masina ..." -#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5536 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "[WARNING_NOTCL] Exportul codului masina CNC a fost anulat ..." -#: FlatCAMObj.py:5540 +#: FlatCAMObj.py:5549 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "[success] Fişierul cu cod CNC este salvat in: %s" -#: FlatCAMObj.py:5562 +#: FlatCAMObj.py:5571 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" -#: FlatCAMObj.py:5679 +#: FlatCAMObj.py:5688 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " @@ -1514,11 +1518,11 @@ msgstr "" "[WARNING_NOTCL] Acest obiect CNCJob nu poate fi procesar deoarece este un " "obiect CNCJob tip %s." -#: FlatCAMObj.py:5732 +#: FlatCAMObj.py:5741 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:5745 +#: FlatCAMObj.py:5754 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." @@ -1526,17 +1530,17 @@ msgstr "" "[ERROR_NOTCL] Anulat. Codul G-Code din Macro-ul Schimbare unealtă este " "activat dar nuc contine nimic." -#: FlatCAMObj.py:5752 +#: FlatCAMObj.py:5761 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:5767 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5776 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:5787 FlatCAMObj.py:5799 +#: FlatCAMObj.py:5796 FlatCAMObj.py:5808 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" @@ -1544,7 +1548,7 @@ msgstr "" "[WARNING_NOTCL] Postprocesorul folosit trebuie să aibă in numele sau: " "'toolchange_custom'" -#: FlatCAMObj.py:5805 +#: FlatCAMObj.py:5814 msgid "[ERROR] There is no postprocessor file." msgstr "[ERROR] Nu exista nici-un fişier postprocesor." @@ -1587,17 +1591,17 @@ msgstr "[success] Obiectul a fost deformat ..." msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "[ERROR_NOTCL] Deformare eșuata. Nici-un obiect nu este selectat ..." -#: camlib.py:2727 camlib.py:2812 +#: camlib.py:2728 camlib.py:2813 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "[WARNING] Coordonatele lipsesc, linia este ignorata: %s" -#: camlib.py:2728 camlib.py:2813 +#: camlib.py:2729 camlib.py:2814 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:2777 +#: camlib.py:2778 #, python-format msgid "" "[ERROR] Region does not have enough points. File will be processed but there " @@ -1606,7 +1610,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:3169 +#: camlib.py:3170 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" @@ -1615,32 +1619,32 @@ msgstr "" "[ERROR] Eroare in parserul Gerber.\n" "%s:" -#: camlib.py:3393 +#: camlib.py:3394 msgid "[success] Gerber Scale done." msgstr "[success] Scalarea Gerber efectuata." -#: camlib.py:3458 +#: camlib.py:3459 msgid "[success] Gerber Offset done." msgstr "[success] Offsetare Gerber efectuata." -#: camlib.py:3512 +#: camlib.py:3513 msgid "[success] Gerber Mirror done." msgstr "[success] Oglindirea Gerber efectuata." -#: camlib.py:3558 +#: camlib.py:3559 msgid "[success] Gerber Skew done." msgstr "[success] Deformarea Gerber efectuata." -#: camlib.py:3596 +#: camlib.py:3597 msgid "[success] Gerber Rotate done." msgstr "[success] Rotatia Gerber efectuata." -#: camlib.py:3875 +#: camlib.py:3878 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "[ERROR_NOTCL] Acesta este un marcaj Gerber: %s" -#: camlib.py:3990 +#: camlib.py:3993 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1656,7 +1660,7 @@ msgstr "" "Userul trebuie să editeze obictul Excellon rezultat si sa ajusteze " "diametrele a.i sa reflecte diametrele reale." -#: camlib.py:4455 +#: camlib.py:4458 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" @@ -1666,7 +1670,7 @@ msgstr "" "Parsare eșuata. Linia {l_nr}: {line}\n" "\n" -#: camlib.py:4534 +#: camlib.py:4537 msgid "" "[WARNING] Excellon.create_geometry() -> a drill location was skipped due of " "not having a tool associated.\n" @@ -1676,12 +1680,12 @@ msgstr "" "deoarece nu are o unealtă asociata.\n" "Verifică codul G-Code rezultat." -#: camlib.py:5073 +#: camlib.py:5076 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "[ERROR] Nu exista un asemenea parametru: %s" -#: camlib.py:5143 +#: camlib.py:5146 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1694,7 +1698,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:5150 camlib.py:5646 camlib.py:5909 +#: camlib.py:5153 camlib.py:5649 camlib.py:5912 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" @@ -1702,15 +1706,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:5379 camlib.py:5476 camlib.py:5534 +#: camlib.py:5382 camlib.py:5479 camlib.py:5537 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "[ERROR_NOTCL] Fişierul Excellon incărcat nu are găuri ..." -#: camlib.py:5481 +#: camlib.py:5484 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "[ERROR_NOTCL] Un tip de optimizare incorrect a fost selectat." -#: camlib.py:5634 camlib.py:5897 +#: camlib.py:5637 camlib.py:5900 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." @@ -1718,7 +1722,7 @@ msgstr "" "[ERROR_NOTCL] Parametrul >Z tăiere< este None sau zero. Cel mai probabil o " "combinaţie nefericita de parametri." -#: camlib.py:5639 camlib.py:5902 +#: camlib.py:5642 camlib.py:5905 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1731,11 +1735,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:5651 camlib.py:5914 +#: camlib.py:5654 camlib.py:5917 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "[ERROR_NOTCL] Parametrul >Z deplasare< este None sau zero." -#: camlib.py:5655 camlib.py:5918 +#: camlib.py:5658 camlib.py:5921 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1749,7 +1753,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:5662 camlib.py:5925 +#: camlib.py:5665 camlib.py:5928 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" @@ -1757,12 +1761,12 @@ msgstr "" "[WARNING] Parametrul >Z deplasare< este zero. Aceasta este periculos, prin " "urmare fişierul %s nu se procesează." -#: camlib.py:5792 +#: camlib.py:5795 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "[ERROR] Se astepta o Geometrie, am primit in schimb %s" -#: camlib.py:5798 +#: camlib.py:5801 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." @@ -1770,7 +1774,7 @@ msgstr "" "[ERROR_NOTCL] Se încearcă generarea unui CNC Job dintr-un obiect Geometrie " "fără atributul solid_geometry." -#: camlib.py:5837 +#: camlib.py:5840 msgid "" "[ERROR_NOTCL] The Tool Offset value is too negative to use for the " "current_geometry.\n" @@ -1780,7 +1784,7 @@ msgstr "" "fi folosita. \n" "Mareste valoarea absoluta și încearcă din nou." -#: camlib.py:6049 +#: camlib.py:6052 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." @@ -2039,7 +2043,7 @@ msgstr "Pas = Distanta între elementele ariei." #: flatcamEditors/FlatCAMGeoEditor.py:665 #: flatcamEditors/FlatCAMGrbEditor.py:2550 #: flatcamEditors/FlatCAMGrbEditor.py:2586 -#: flatcamEditors/FlatCAMGrbEditor.py:4580 flatcamGUI/FlatCAMGUI.py:5107 +#: flatcamEditors/FlatCAMGrbEditor.py:4588 flatcamGUI/FlatCAMGUI.py:5107 #: flatcamTools/ToolTransform.py:68 msgid "Angle:" msgstr "Unghi:" @@ -2123,7 +2127,7 @@ msgid "[success] Done. Drill(s) deleted." msgstr "[success] Executat. Operatiile de găurire șterse." #: flatcamEditors/FlatCAMExcEditor.py:2705 -#: flatcamEditors/FlatCAMGrbEditor.py:4340 +#: flatcamEditors/FlatCAMGrbEditor.py:4350 msgid "Click on the circular array Center position" msgstr "Click pe punctul de Centru al ariei circulare." @@ -2189,7 +2193,7 @@ msgstr "Unealta Bufer" #: flatcamEditors/FlatCAMGeoEditor.py:2700 #: flatcamEditors/FlatCAMGeoEditor.py:2726 #: flatcamEditors/FlatCAMGeoEditor.py:2752 -#: flatcamEditors/FlatCAMGrbEditor.py:4392 +#: flatcamEditors/FlatCAMGrbEditor.py:4402 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2328,7 +2332,7 @@ msgstr "Unealta Paint" #: flatcamEditors/FlatCAMGeoEditor.py:563 msgid "[WARNING_NOTCL] Paint cancelled. No shape selected." -msgstr "[WARNING_NOTCL] Operaţie Paint anulata. Nici-o forma selectată." +msgstr "[WARNING_NOTCL] Operaţie Paint anulată. Nici-o forma selectată." #: flatcamEditors/FlatCAMGeoEditor.py:574 flatcamTools/ToolCutOut.py:355 #: flatcamTools/ToolCutOut.py:518 flatcamTools/ToolCutOut.py:657 @@ -2365,53 +2369,53 @@ msgstr "Unelte" #: flatcamEditors/FlatCAMGeoEditor.py:617 #: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4531 -#: flatcamEditors/FlatCAMGrbEditor.py:4916 flatcamGUI/FlatCAMGUI.py:654 +#: flatcamEditors/FlatCAMGrbEditor.py:4539 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 flatcamGUI/FlatCAMGUI.py:654 #: flatcamGUI/FlatCAMGUI.py:1879 flatcamTools/ToolTransform.py:398 msgid "Transform Tool" msgstr "Unealta Transformare" #: flatcamEditors/FlatCAMGeoEditor.py:618 #: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4532 -#: flatcamEditors/FlatCAMGrbEditor.py:4594 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGrbEditor.py:4540 +#: flatcamEditors/FlatCAMGrbEditor.py:4602 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "Rotaţie" #: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4533 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGrbEditor.py:4541 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "Deformare" #: flatcamEditors/FlatCAMGeoEditor.py:620 #: flatcamEditors/FlatCAMGrbEditor.py:2471 -#: flatcamEditors/FlatCAMGrbEditor.py:4534 flatcamGUI/FlatCAMGUI.py:718 +#: flatcamEditors/FlatCAMGrbEditor.py:4542 flatcamGUI/FlatCAMGUI.py:718 #: flatcamGUI/FlatCAMGUI.py:1947 flatcamGUI/ObjectUI.py:100 #: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "Scalare" #: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4535 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGrbEditor.py:4543 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "Oglindire" #: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4536 flatcamGUI/ObjectUI.py:127 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 flatcamGUI/ObjectUI.py:127 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 #: flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "Ofset" #: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4548 +#: flatcamEditors/FlatCAMGrbEditor.py:4556 #, python-format msgid "Editor %s" msgstr "Editor %s" #: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4582 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGrbEditor.py:4590 flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2423,7 +2427,7 @@ msgstr "" "Numerele negative inseamna o mișcare in sens invers ace ceasornic." #: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4596 +#: flatcamEditors/FlatCAMGrbEditor.py:4604 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2435,14 +2439,14 @@ msgstr "" "toate formele selectate." #: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4619 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGrbEditor.py:4627 flatcamTools/ToolTransform.py:107 msgid "Angle X:" msgstr "Unghi X:" #: flatcamEditors/FlatCAMGeoEditor.py:706 #: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4621 -#: flatcamEditors/FlatCAMGrbEditor.py:4639 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGrbEditor.py:4629 +#: flatcamEditors/FlatCAMGrbEditor.py:4647 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2452,14 +2456,14 @@ msgstr "" "Ia valori Reale între -360 and 359 grade." #: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4630 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "Deformare X" #: flatcamEditors/FlatCAMGeoEditor.py:717 #: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4632 -#: flatcamEditors/FlatCAMGrbEditor.py:4650 +#: flatcamEditors/FlatCAMGrbEditor.py:4640 +#: flatcamEditors/FlatCAMGrbEditor.py:4658 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2471,34 +2475,34 @@ msgstr "" "toate formele selectate." #: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4637 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGrbEditor.py:4645 flatcamTools/ToolTransform.py:125 msgid "Angle Y:" msgstr "Unghi Y:" #: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4648 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGrbEditor.py:4656 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "Deformare Y" #: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4676 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGrbEditor.py:4684 flatcamTools/ToolTransform.py:164 msgid "Factor X:" msgstr "Factor X:" #: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4678 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:166 msgid "Factor for Scale action over X axis." msgstr "Factor pentru scalarea pe axa X" #: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGrbEditor.py:4694 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "Scalează X" #: flatcamEditors/FlatCAMGeoEditor.py:773 #: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4688 -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4696 +#: flatcamEditors/FlatCAMGrbEditor.py:4713 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2509,28 +2513,28 @@ msgstr "" "starea checkbox-ului >Referința scalare<." #: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4693 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGrbEditor.py:4701 flatcamTools/ToolTransform.py:181 msgid "Factor Y:" msgstr "Factor Y:" #: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4695 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:183 msgid "Factor for Scale action over Y axis." msgstr "Factor pentru scalarea pe axa Y." #: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGrbEditor.py:4711 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "Scalează Y" #: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4712 flatcamGUI/FlatCAMGUI.py:6441 +#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6441 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "Legatura" #: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4714 +#: flatcamEditors/FlatCAMGrbEditor.py:4722 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." @@ -2539,13 +2543,13 @@ msgstr "" "folsoind factorul: Factor X pentru ambele axe." #: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6449 +#: flatcamEditors/FlatCAMGrbEditor.py:4728 flatcamGUI/FlatCAMGUI.py:6449 #: flatcamTools/ToolTransform.py:208 msgid "Scale Reference" msgstr "Referința scalare" #: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4722 +#: flatcamEditors/FlatCAMGrbEditor.py:4730 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2559,24 +2563,24 @@ msgstr "" "bifat și este originea când este bifat." #: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4751 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:4759 flatcamTools/ToolTransform.py:238 msgid "Value X:" msgstr "Valoare X:" #: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4753 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:240 msgid "Value for Offset action on X axis." msgstr "Valoare pentru deplasarea pe axa X." #: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:248 msgid "Offset X" msgstr "Ofset pe X" #: flatcamEditors/FlatCAMGeoEditor.py:847 #: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4763 -#: flatcamEditors/FlatCAMGrbEditor.py:4781 +#: flatcamEditors/FlatCAMGrbEditor.py:4771 +#: flatcamEditors/FlatCAMGrbEditor.py:4789 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2588,29 +2592,29 @@ msgstr "" "toate formele selectate.\n" #: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 flatcamTools/ToolTransform.py:255 msgid "Value Y:" msgstr "Valoare Y:" #: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4771 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:257 msgid "Value for Offset action on Y axis." msgstr "Valoare pentru deplasarea pe axa Y." #: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGrbEditor.py:4787 flatcamTools/ToolTransform.py:265 msgid "Offset Y" msgstr "Ofset pe Y" #: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:4810 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:295 msgid "Flip on X" msgstr "Oglindește pe X" #: flatcamEditors/FlatCAMGeoEditor.py:896 #: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:4812 #: flatcamEditors/FlatCAMGrbEditor.py:4820 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." @@ -2619,17 +2623,17 @@ msgstr "" "Nu crează noi forme." #: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 flatcamTools/ToolTransform.py:303 msgid "Flip on Y" msgstr "Oglindește pe Y" #: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:4827 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGrbEditor.py:4835 flatcamTools/ToolTransform.py:312 msgid "Ref Pt" msgstr "Pt ref" #: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 +#: flatcamEditors/FlatCAMGrbEditor.py:4837 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2653,12 +2657,12 @@ msgstr "" "La final click pe >Oglindește pe X(Y)<." #: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:4841 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:325 msgid "Point:" msgstr "Punct:" #: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:4843 +#: flatcamEditors/FlatCAMGrbEditor.py:4851 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2669,7 +2673,7 @@ msgstr "" "și valoarea 'y' in (x, y) va fi folosita când se face oglindire pe Y." #: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:4855 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGrbEditor.py:4863 flatcamTools/ToolTransform.py:339 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2681,259 +2685,259 @@ msgstr "" "La final, apasa butonul >Adaugă< pt a le insera." #: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:4980 +#: flatcamEditors/FlatCAMGrbEditor.py:4988 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." -msgstr "[WARNING_NOTCL] Transformare anulata. Nici-o forma nu este selectată." +msgstr "[WARNING_NOTCL] Transformare anulată. Nici-o formă nu este selectată." #: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5000 flatcamTools/ToolTransform.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:5008 flatcamTools/ToolTransform.py:468 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Rotaţie, foloseşte un număr " "Real." #: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5043 flatcamTools/ToolTransform.py:502 +#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:502 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Deformare X, foloseşte un " "număr Real." #: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5070 flatcamTools/ToolTransform.py:520 +#: flatcamEditors/FlatCAMGrbEditor.py:5078 flatcamTools/ToolTransform.py:520 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Deformare Y, foloseşte un " "număr Real." #: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5097 flatcamTools/ToolTransform.py:538 +#: flatcamEditors/FlatCAMGrbEditor.py:5105 flatcamTools/ToolTransform.py:538 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Scalare X, foloseşte un " "număr Real." #: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5138 flatcamTools/ToolTransform.py:572 +#: flatcamEditors/FlatCAMGrbEditor.py:5146 flatcamTools/ToolTransform.py:572 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Scalare Y, foloseşte un " "număr Real." #: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5176 flatcamTools/ToolTransform.py:601 +#: flatcamEditors/FlatCAMGrbEditor.py:5184 flatcamTools/ToolTransform.py:601 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Ofset pe X, foloseşte un " "număr Real." #: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5202 flatcamTools/ToolTransform.py:619 +#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:619 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" "[ERROR_NOTCL] Valoare incorecta intodusa pentru Ofset pe Y, foloseşte un " "număr Real." #: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5225 +#: flatcamEditors/FlatCAMGrbEditor.py:5233 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Rotaţie!" #: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5228 flatcamTools/ToolTransform.py:640 +#: flatcamEditors/FlatCAMGrbEditor.py:5236 flatcamTools/ToolTransform.py:640 msgid "Appying Rotate" msgstr "Execuţie Rotaţie" #: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5259 +#: flatcamEditors/FlatCAMGrbEditor.py:5269 msgid "[success] Done. Rotate completed." msgstr "[success] Executat. Rotaţie finalizata." #: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5278 +#: flatcamEditors/FlatCAMGrbEditor.py:5288 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Oglindire!" #: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5281 flatcamTools/ToolTransform.py:691 +#: flatcamEditors/FlatCAMGrbEditor.py:5291 flatcamTools/ToolTransform.py:691 msgid "Applying Flip" msgstr "Execuţie Oglindire" #: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5318 flatcamTools/ToolTransform.py:733 +#: flatcamEditors/FlatCAMGrbEditor.py:5330 flatcamTools/ToolTransform.py:733 msgid "[success] Flip on the Y axis done ..." msgstr "Oglindirea pe axa X efectuata ..." #: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5326 flatcamTools/ToolTransform.py:742 +#: flatcamEditors/FlatCAMGrbEditor.py:5338 flatcamTools/ToolTransform.py:742 msgid "[success] Flip on the X axis done ..." msgstr "Oglindirea pe axa Y efectuata ..." #: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5346 +#: flatcamEditors/FlatCAMGrbEditor.py:5358 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Deformare!" #: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5349 flatcamTools/ToolTransform.py:760 +#: flatcamEditors/FlatCAMGrbEditor.py:5361 flatcamTools/ToolTransform.py:760 msgid "Applying Skew" msgstr "Execuţie Deformare" #: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5382 flatcamTools/ToolTransform.py:791 +#: flatcamEditors/FlatCAMGrbEditor.py:5396 flatcamTools/ToolTransform.py:791 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "[success] Deformarea pe axa %s executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:795 +#: flatcamEditors/FlatCAMGrbEditor.py:5400 flatcamTools/ToolTransform.py:795 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." -msgstr "[ERROR_NOTCL] Datorita erorii: %s, Deformarea a fost anulata." +msgstr "[ERROR_NOTCL] Datorită erorii: %s, Deformarea a fost anulată." #: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5405 +#: flatcamEditors/FlatCAMGrbEditor.py:5419 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Scalare!" #: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5408 flatcamTools/ToolTransform.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:809 msgid "Applying Scale" msgstr "Execuţie Scalare" #: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5444 flatcamTools/ToolTransform.py:848 +#: flatcamEditors/FlatCAMGrbEditor.py:5460 flatcamTools/ToolTransform.py:848 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "[success] Scalarea pe axa %s executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5447 flatcamTools/ToolTransform.py:851 +#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:851 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." -msgstr "[ERROR_NOTCL] Datorita erorii: %s, Scalarea a fost anulata ..." +msgstr "[ERROR_NOTCL] Datorită erorii: %s, Scalarea a fost anulată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5460 +#: flatcamEditors/FlatCAMGrbEditor.py:5476 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" "[WARNING_NOTCL] Nici-o forma nu este selectată. Selectează o forma pentru a " "putea face Ofset!" #: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:861 +#: flatcamEditors/FlatCAMGrbEditor.py:5479 flatcamTools/ToolTransform.py:861 msgid "Applying Offset" msgstr "Execuţie Ofset" #: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5484 flatcamTools/ToolTransform.py:880 +#: flatcamEditors/FlatCAMGrbEditor.py:5501 flatcamTools/ToolTransform.py:880 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "[success] Deplasarea pe axa %s executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5488 flatcamTools/ToolTransform.py:884 +#: flatcamEditors/FlatCAMGrbEditor.py:5505 flatcamTools/ToolTransform.py:884 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." -msgstr "[ERROR_NOTCL] Datorita erorii: %s, Deplasarea a fost anulata." +msgstr "[ERROR_NOTCL] Datorită erorii: %s, Deplasarea a fost anulată." #: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5492 +#: flatcamEditors/FlatCAMGrbEditor.py:5509 msgid "Rotate ..." msgstr "Rotaţie ..." #: flatcamEditors/FlatCAMGeoEditor.py:1478 #: flatcamEditors/FlatCAMGeoEditor.py:1535 #: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 -#: flatcamEditors/FlatCAMGrbEditor.py:5550 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 #: flatcamEditors/FlatCAMGrbEditor.py:5567 +#: flatcamEditors/FlatCAMGrbEditor.py:5584 msgid "Enter an Angle Value (degrees):" msgstr "Introdu o valoare in grade pt Unghi:" #: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5502 +#: flatcamEditors/FlatCAMGrbEditor.py:5519 msgid "[success] Geometry shape rotate done..." msgstr "[success] Rotatia formei geometrice executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5507 +#: flatcamEditors/FlatCAMGrbEditor.py:5524 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." -msgstr "[WARNING_NOTCL] Rotatia formei geometrice anulata ..." +msgstr "[WARNING_NOTCL] Rotatia formei geometrice anulată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5513 +#: flatcamEditors/FlatCAMGrbEditor.py:5530 msgid "Offset on X axis ..." msgstr "Ofset pe axa X ..." #: flatcamEditors/FlatCAMGeoEditor.py:1499 #: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5514 -#: flatcamEditors/FlatCAMGrbEditor.py:5533 +#: flatcamEditors/FlatCAMGrbEditor.py:5531 +#: flatcamEditors/FlatCAMGrbEditor.py:5550 #, python-format msgid "Enter a distance Value (%s):" msgstr "Introdu of valoare pt Distanta (%s):" #: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5523 +#: flatcamEditors/FlatCAMGrbEditor.py:5540 msgid "[success] Geometry shape offset on X axis done..." msgstr "[success] Deplasarea formei geometrice pe axa X executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5527 +#: flatcamEditors/FlatCAMGrbEditor.py:5544 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." -msgstr "[WARNING_NOTCL] Deplasarea formei geometrice pe axa X anulata ..." +msgstr "[WARNING_NOTCL] Deplasarea formei geometrice pe axa X anulată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 +#: flatcamEditors/FlatCAMGrbEditor.py:5549 msgid "Offset on Y axis ..." msgstr "Ofset pe axa Y ..." #: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5542 +#: flatcamEditors/FlatCAMGrbEditor.py:5559 msgid "[success] Geometry shape offset on Y axis done..." msgstr "[success] Deplasarea formei geometrice pe axa Y executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5546 +#: flatcamEditors/FlatCAMGrbEditor.py:5563 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." -msgstr "[WARNING_NOTCL] Deplasarea formei geometrice pe axa Y anulata ..." +msgstr "[WARNING_NOTCL] Deplasarea formei geometrice pe axa Y anulată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5549 +#: flatcamEditors/FlatCAMGrbEditor.py:5566 msgid "Skew on X axis ..." msgstr "Deformare pe axa X ..." #: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5559 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 msgid "[success] Geometry shape skew on X axis done..." msgstr "[success] Deformarea formei geometrice pe axa X executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 +#: flatcamEditors/FlatCAMGrbEditor.py:5580 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." -msgstr "[WARNING_NOTCL] Deformarea formei geometrice pe axa X anulata ..." +msgstr "[WARNING_NOTCL] Deformarea formei geometrice pe axa X anulată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5566 +#: flatcamEditors/FlatCAMGrbEditor.py:5583 msgid "Skew on Y axis ..." msgstr "Deformare pe axa Y ..." #: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5576 +#: flatcamEditors/FlatCAMGrbEditor.py:5593 msgid "[success] Geometry shape skew on Y axis done..." msgstr "[success] Deformarea formei geometrice pe axa Y executată ..." #: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5580 +#: flatcamEditors/FlatCAMGrbEditor.py:5597 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "[success] Deformarea formei geometrice pe axa Y executată ..." @@ -3092,7 +3096,7 @@ msgstr "" "nu este selectată." #: flatcamEditors/FlatCAMGeoEditor.py:2711 -#: flatcamEditors/FlatCAMGrbEditor.py:4442 +#: flatcamEditors/FlatCAMGrbEditor.py:4447 msgid "[success] Done. Buffer Tool completed." msgstr "[success] Executat. Unealta Bufer terminată." @@ -3146,7 +3150,7 @@ msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:3793 msgid "[WARNING_NOTCL] Copy cancelled. No shape selected." msgstr "" -"[WARNING_NOTCL] Copiere anulata. Nici-o forma geometrică nu este selectată." +"[WARNING_NOTCL] Copiere anulată. Nici-o forma geometrică nu este selectată." #: flatcamEditors/FlatCAMGeoEditor.py:3800 flatcamGUI/FlatCAMGUI.py:2727 #: flatcamGUI/FlatCAMGUI.py:2773 flatcamGUI/FlatCAMGUI.py:2791 @@ -3412,23 +3416,23 @@ msgid "Apertures Table for the Gerber Object." msgstr "Tabela de aperturi pt obiectul Gerber." #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Code" msgstr "Cod" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 msgid "Type" msgstr "Tip" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Size" msgstr "Dimens." #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Dim" msgstr "Dim" @@ -3682,24 +3686,34 @@ msgstr "[success] Editarea Gerber a fost terminată." msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "[WARNING_NOTCL] Anulat. Nici-o apertură nu este selectată." -#: flatcamEditors/FlatCAMGrbEditor.py:4270 +#: flatcamEditors/FlatCAMGrbEditor.py:4280 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" "[WARNING_NOTCL] Anulat. Nici-o geometrie de apertură nu este selectată." -#: flatcamEditors/FlatCAMGrbEditor.py:4278 +#: flatcamEditors/FlatCAMGrbEditor.py:4288 msgid "[success] Done. Apertures geometry deleted." msgstr "[success] Executat. Geometriile aperturilor au fost șterse." -#: flatcamEditors/FlatCAMGrbEditor.py:4427 +#: flatcamEditors/FlatCAMGrbEditor.py:4431 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." msgstr "" -"[WARNING_NOTCL] Nici-o apertura sel. pt a face bufer. Selectează cel puțin o " -"apertura și încearcă din nou." +"[WARNING_NOTCL] Nici-o apertură sel. pt a face bufer. Selectează cel puțin o " +"apertură și încearcă din nou." -#: flatcamEditors/FlatCAMGrbEditor.py:4456 +#: flatcamEditors/FlatCAMGrbEditor.py:4444 +#, python-format +#| msgid "[ERROR_NOTCL] Failed to open %s" +msgid "" +"[ERROR_NOTCL] Failed.\n" +"%s" +msgstr "" +"[ERROR_NOTCL] Actiune esuată.\n" +"%s" + +#: flatcamEditors/FlatCAMGrbEditor.py:4461 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." @@ -3707,7 +3721,7 @@ msgstr "" "[WARNING_NOTCL] Valoarea factorului de scalare lipseste sau este in format " "gresit. Adaugă din nou și reîncearcă." -#: flatcamEditors/FlatCAMGrbEditor.py:4486 +#: flatcamEditors/FlatCAMGrbEditor.py:4494 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." @@ -3715,7 +3729,7 @@ msgstr "" "[WARNING_NOTCL] Nici-o apertură sel. pt scalare. Selectează cel puțin o " "apertură și încearcă din nou." -#: flatcamEditors/FlatCAMGrbEditor.py:4502 +#: flatcamEditors/FlatCAMGrbEditor.py:4510 msgid "[success] Done. Scale Tool completed." msgstr "[success] Executat. Unealta Scalare a terminat." @@ -10884,7 +10898,7 @@ msgstr "MUTARE: Click pe punctul de Start ..." #: flatcamTools/ToolMove.py:88 msgid "[WARNING_NOTCL] MOVE action cancelled. No object(s) to move." msgstr "" -"[WARNING_NOTCL] Actiunea de Mutare a fost anulata. Nu sunt obiecte care să " +"[WARNING_NOTCL] Actiunea de Mutare a fost anulată. Nu sunt obiecte care să " "fie mutate ..." #: flatcamTools/ToolMove.py:110 @@ -10917,7 +10931,7 @@ msgstr "" #: flatcamTools/ToolMove.py:202 msgid "[WARNING_NOTCL] Move action cancelled." -msgstr "[WARNING_NOTCL] Actiunea de mutare a fost anulata." +msgstr "[WARNING_NOTCL] Actiunea de mutare a fost anulată." #: flatcamTools/ToolMove.py:214 msgid "[WARNING_NOTCL] Object(s) not selected" @@ -11039,7 +11053,7 @@ msgstr "" #: flatcamTools/ToolNonCopperClear.py:513 flatcamTools/ToolPaint.py:568 msgid "[WARNING_NOTCL] Adding tool cancelled. Tool already in Tool Table." msgstr "" -"[WARNING_NOTCL] Adăugarea unei unelte noi este anulata. Unealta exista deja " +"[WARNING_NOTCL] Adăugarea unei unelte noi este anulată. Unealta există deja " "in Tabela de Unelte." #: flatcamTools/ToolNonCopperClear.py:518 flatcamTools/ToolPaint.py:573 @@ -11133,7 +11147,7 @@ msgstr "Încarcă PDF" #: flatcamTools/ToolPDF.py:159 msgid "[WARNING_NOTCL] Open PDF cancelled." -msgstr "[WARNING_NOTCL] Incărcarea fişier PDF anulata." +msgstr "[WARNING_NOTCL] Incărcarea fişier PDF anulată." #: flatcamTools/ToolPDF.py:186 msgid "Parsing PDF file ..." @@ -11882,7 +11896,7 @@ msgstr "Șterge Obiectul" msgid "" "[WARNING_NOTCL] Adding Nozzle tool cancelled. Tool already in Tool Table." msgstr "" -"[WARNING_NOTCL] Adăugarea unei unelte Nozzle a fost anulata. Unealta exista " +"[WARNING_NOTCL] Adăugarea unei unelte Nozzle a fost anulată. Unealta exista " "deja in Tabela de Unelte." #: flatcamTools/ToolSolderPaste.py:794 diff --git a/locale_template/strings.pot b/locale_template/strings.pot index cfb7147a..975f0020 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-11 23:00+0300\n" +"POT-Creation-Date: 2019-06-20 19:31+0300\n" "PO-Revision-Date: 2019-03-25 15:08+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -63,17 +63,17 @@ msgstr "" msgid "Close Editor" msgstr "" -#: FlatCAMApp.py:2311 FlatCAMApp.py:3403 FlatCAMApp.py:5881 +#: FlatCAMApp.py:2311 FlatCAMApp.py:3403 FlatCAMApp.py:5887 #: FlatCAMTranslation.py:89 flatcamGUI/FlatCAMGUI.py:3730 msgid "Yes" msgstr "" -#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5882 +#: FlatCAMApp.py:2312 FlatCAMApp.py:3404 FlatCAMApp.py:5888 #: FlatCAMTranslation.py:90 flatcamGUI/FlatCAMGUI.py:3731 msgid "No" msgstr "" -#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:3737 FlatCAMApp.py:5883 +#: FlatCAMApp.py:2313 FlatCAMApp.py:3405 FlatCAMApp.py:3737 FlatCAMApp.py:5889 msgid "Cancel" msgstr "" @@ -135,7 +135,7 @@ msgstr "" msgid "[ERROR_NOTCL] Failed to open recent files file for writing." msgstr "" -#: FlatCAMApp.py:2984 camlib.py:4454 +#: FlatCAMApp.py:2984 camlib.py:4457 msgid "[ERROR_NOTCL] An internal error has ocurred. See shell.\n" msgstr "" @@ -201,7 +201,7 @@ msgid "" "Do you want to Save the project?" msgstr "" -#: FlatCAMApp.py:3401 FlatCAMApp.py:5879 +#: FlatCAMApp.py:3401 FlatCAMApp.py:5885 msgid "Save changes" msgstr "" @@ -240,8 +240,8 @@ msgstr "" msgid "[success] A Geometry object was converted to SingleGeo type." msgstr "" -#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6154 FlatCAMApp.py:6165 -#: FlatCAMApp.py:6405 FlatCAMApp.py:6415 +#: FlatCAMApp.py:3736 FlatCAMApp.py:4572 FlatCAMApp.py:6160 FlatCAMApp.py:6171 +#: FlatCAMApp.py:6411 FlatCAMApp.py:6421 msgid "Ok" msgstr "" @@ -329,8 +329,8 @@ msgstr "" #: flatcamEditors/FlatCAMGrbEditor.py:1141 #: flatcamEditors/FlatCAMGrbEditor.py:1409 #: flatcamEditors/FlatCAMGrbEditor.py:1666 -#: flatcamEditors/FlatCAMGrbEditor.py:3950 -#: flatcamEditors/FlatCAMGrbEditor.py:3964 flatcamGUI/FlatCAMGUI.py:2414 +#: flatcamEditors/FlatCAMGrbEditor.py:3960 +#: flatcamEditors/FlatCAMGrbEditor.py:3974 flatcamGUI/FlatCAMGUI.py:2414 #: flatcamGUI/FlatCAMGUI.py:2426 msgid "[success] Done." msgstr "" @@ -357,7 +357,7 @@ msgstr "" #: FlatCAMApp.py:5045 FlatCAMApp.py:5085 #: flatcamEditors/FlatCAMGeoEditor.py:1355 -#: flatcamEditors/FlatCAMGrbEditor.py:5331 flatcamTools/ToolTransform.py:748 +#: flatcamEditors/FlatCAMGrbEditor.py:5343 flatcamTools/ToolTransform.py:748 #, python-format msgid "[ERROR_NOTCL] Due of %s, Flip action was not executed." msgstr "" @@ -387,7 +387,7 @@ msgid "[success] Rotation done." msgstr "" #: FlatCAMApp.py:5133 flatcamEditors/FlatCAMGeoEditor.py:1298 -#: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamTools/ToolTransform.py:677 +#: flatcamEditors/FlatCAMGrbEditor.py:5272 flatcamTools/ToolTransform.py:677 #, python-format msgid "[ERROR_NOTCL] Due of %s, rotation movement was not executed." msgstr "" @@ -408,13 +408,13 @@ msgstr "" msgid "[success] Skew on Y axis done." msgstr "" -#: FlatCAMApp.py:5265 +#: FlatCAMApp.py:5266 msgid "Grid On/Off" msgstr "" -#: FlatCAMApp.py:5278 flatcamEditors/FlatCAMGeoEditor.py:937 +#: FlatCAMApp.py:5279 flatcamEditors/FlatCAMGeoEditor.py:937 #: flatcamEditors/FlatCAMGrbEditor.py:2381 -#: flatcamEditors/FlatCAMGrbEditor.py:4853 flatcamGUI/ObjectUI.py:991 +#: flatcamEditors/FlatCAMGrbEditor.py:4861 flatcamGUI/ObjectUI.py:991 #: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:208 #: flatcamTools/ToolNonCopperClear.py:134 flatcamTools/ToolPaint.py:131 #: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:479 @@ -422,7 +422,7 @@ msgstr "" msgid "Add" msgstr "" -#: FlatCAMApp.py:5279 FlatCAMObj.py:3270 +#: FlatCAMApp.py:5280 FlatCAMObj.py:3276 #: 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,278 @@ msgstr "" msgid "Delete" msgstr "" -#: FlatCAMApp.py:5292 +#: FlatCAMApp.py:5293 msgid "New Grid ..." msgstr "" -#: FlatCAMApp.py:5293 +#: FlatCAMApp.py:5294 msgid "Enter a Grid Value:" msgstr "" -#: FlatCAMApp.py:5301 FlatCAMApp.py:5328 +#: FlatCAMApp.py:5302 FlatCAMApp.py:5329 msgid "" "[WARNING_NOTCL] Please enter a grid value with non-zero value, in Float " "format." msgstr "" -#: FlatCAMApp.py:5307 +#: FlatCAMApp.py:5308 msgid "[success] New Grid added ..." msgstr "" -#: FlatCAMApp.py:5310 +#: FlatCAMApp.py:5311 msgid "[WARNING_NOTCL] Grid already exists ..." msgstr "" -#: FlatCAMApp.py:5313 +#: FlatCAMApp.py:5314 msgid "[WARNING_NOTCL] Adding New Grid cancelled ..." msgstr "" -#: FlatCAMApp.py:5335 +#: FlatCAMApp.py:5336 msgid "[ERROR_NOTCL] Grid Value does not exist ..." msgstr "" -#: FlatCAMApp.py:5338 +#: FlatCAMApp.py:5339 msgid "[success] Grid Value deleted ..." msgstr "" -#: FlatCAMApp.py:5341 +#: FlatCAMApp.py:5342 msgid "[WARNING_NOTCL] Delete Grid value cancelled ..." msgstr "" -#: FlatCAMApp.py:5380 +#: FlatCAMApp.py:5381 msgid "[WARNING_NOTCL] No object selected to copy it's name" msgstr "" -#: FlatCAMApp.py:5384 +#: FlatCAMApp.py:5385 msgid "Name copied on clipboard ..." msgstr "" -#: 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 +#: FlatCAMApp.py:5427 flatcamEditors/FlatCAMGrbEditor.py:3901 +msgid "[success] Coordinates copied to clipboard." +msgstr "" + +#: FlatCAMApp.py:5683 FlatCAMApp.py:5686 FlatCAMApp.py:5689 FlatCAMApp.py:5692 +#: FlatCAMApp.py:5707 FlatCAMApp.py:5710 FlatCAMApp.py:5713 FlatCAMApp.py:5716 +#: FlatCAMApp.py:5756 FlatCAMApp.py:5759 FlatCAMApp.py:5762 FlatCAMApp.py:5765 #: ObjectCollection.py:719 ObjectCollection.py:722 ObjectCollection.py:725 #: ObjectCollection.py:728 #, python-brace-format msgid "[selected]{name} selected" msgstr "" -#: FlatCAMApp.py:5876 +#: FlatCAMApp.py:5882 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:5897 +#: FlatCAMApp.py:5903 msgid "[success] New Project created..." msgstr "" -#: FlatCAMApp.py:6013 FlatCAMApp.py:6016 flatcamGUI/FlatCAMGUI.py:608 +#: FlatCAMApp.py:6019 FlatCAMApp.py:6022 flatcamGUI/FlatCAMGUI.py:608 #: flatcamGUI/FlatCAMGUI.py:1832 msgid "Open Gerber" msgstr "" -#: FlatCAMApp.py:6021 +#: FlatCAMApp.py:6027 msgid "[WARNING_NOTCL] Open Gerber cancelled." msgstr "" -#: FlatCAMApp.py:6042 FlatCAMApp.py:6045 flatcamGUI/FlatCAMGUI.py:609 +#: FlatCAMApp.py:6048 FlatCAMApp.py:6051 flatcamGUI/FlatCAMGUI.py:609 #: flatcamGUI/FlatCAMGUI.py:1833 msgid "Open Excellon" msgstr "" -#: FlatCAMApp.py:6050 +#: FlatCAMApp.py:6056 msgid "[WARNING_NOTCL] Open Excellon cancelled." msgstr "" -#: FlatCAMApp.py:6072 FlatCAMApp.py:6075 +#: FlatCAMApp.py:6078 FlatCAMApp.py:6081 msgid "Open G-Code" msgstr "" -#: FlatCAMApp.py:6080 +#: FlatCAMApp.py:6086 msgid "[WARNING_NOTCL] Open G-Code cancelled." msgstr "" -#: FlatCAMApp.py:6098 FlatCAMApp.py:6101 +#: FlatCAMApp.py:6104 FlatCAMApp.py:6107 msgid "Open Project" msgstr "" -#: FlatCAMApp.py:6109 +#: FlatCAMApp.py:6115 msgid "[WARNING_NOTCL] Open Project cancelled." msgstr "" -#: FlatCAMApp.py:6128 FlatCAMApp.py:6131 +#: FlatCAMApp.py:6134 FlatCAMApp.py:6137 msgid "Open Configuration File" msgstr "" -#: FlatCAMApp.py:6135 +#: FlatCAMApp.py:6141 msgid "[WARNING_NOTCL] Open Config cancelled." msgstr "" -#: FlatCAMApp.py:6150 FlatCAMApp.py:6401 FlatCAMApp.py:8551 FlatCAMApp.py:8571 -#: FlatCAMApp.py:8592 FlatCAMApp.py:8614 +#: FlatCAMApp.py:6156 FlatCAMApp.py:6407 FlatCAMApp.py:8560 FlatCAMApp.py:8580 +#: FlatCAMApp.py:8601 FlatCAMApp.py:8623 msgid "[WARNING_NOTCL] No object selected." msgstr "" -#: FlatCAMApp.py:6151 FlatCAMApp.py:6402 +#: FlatCAMApp.py:6157 FlatCAMApp.py:6408 msgid "Please Select a Geometry object to export" msgstr "" -#: FlatCAMApp.py:6162 +#: FlatCAMApp.py:6168 msgid "[ERROR_NOTCL] Only Geometry, Gerber and CNCJob objects can be used." msgstr "" -#: FlatCAMApp.py:6175 FlatCAMApp.py:6179 +#: FlatCAMApp.py:6181 FlatCAMApp.py:6185 msgid "Export SVG" msgstr "" -#: FlatCAMApp.py:6184 +#: FlatCAMApp.py:6190 msgid "[WARNING_NOTCL] Export SVG cancelled." msgstr "" -#: FlatCAMApp.py:6203 +#: FlatCAMApp.py:6209 msgid "[[WARNING_NOTCL]] Data must be a 3D array with last dimension 3 or 4" msgstr "" -#: FlatCAMApp.py:6209 FlatCAMApp.py:6213 +#: FlatCAMApp.py:6215 FlatCAMApp.py:6219 msgid "Export PNG Image" msgstr "" -#: FlatCAMApp.py:6218 +#: FlatCAMApp.py:6224 msgid "Export PNG cancelled." msgstr "" -#: FlatCAMApp.py:6237 +#: FlatCAMApp.py:6243 msgid "" "[WARNING_NOTCL] No object selected. Please select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:6242 FlatCAMApp.py:6365 +#: FlatCAMApp.py:6248 FlatCAMApp.py:6371 msgid "" "[ERROR_NOTCL] Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" -#: FlatCAMApp.py:6254 +#: FlatCAMApp.py:6260 msgid "Save Gerber source file" msgstr "" -#: FlatCAMApp.py:6259 +#: FlatCAMApp.py:6265 msgid "[WARNING_NOTCL] Save Gerber source file cancelled." msgstr "" -#: FlatCAMApp.py:6278 +#: FlatCAMApp.py:6284 msgid "" "[WARNING_NOTCL] No object selected. Please select an Excellon object to " "export." msgstr "" -#: FlatCAMApp.py:6283 FlatCAMApp.py:6324 +#: FlatCAMApp.py:6289 FlatCAMApp.py:6330 msgid "" "[ERROR_NOTCL] Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" -#: FlatCAMApp.py:6291 FlatCAMApp.py:6295 +#: FlatCAMApp.py:6297 FlatCAMApp.py:6301 msgid "Save Excellon source file" msgstr "" -#: FlatCAMApp.py:6300 +#: FlatCAMApp.py:6306 msgid "[WARNING_NOTCL] Saving Excellon source file cancelled." msgstr "" -#: FlatCAMApp.py:6319 +#: FlatCAMApp.py:6325 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Excellon object to " "export." msgstr "" -#: FlatCAMApp.py:6332 FlatCAMApp.py:6336 +#: FlatCAMApp.py:6338 FlatCAMApp.py:6342 msgid "Export Excellon" msgstr "" -#: FlatCAMApp.py:6341 +#: FlatCAMApp.py:6347 msgid "[WARNING_NOTCL] Export Excellon cancelled." msgstr "" -#: FlatCAMApp.py:6360 +#: FlatCAMApp.py:6366 msgid "" "[WARNING_NOTCL] No object selected. Please Select an Gerber object to export." msgstr "" -#: FlatCAMApp.py:6373 FlatCAMApp.py:6377 +#: FlatCAMApp.py:6379 FlatCAMApp.py:6383 msgid "Export Gerber" msgstr "" -#: FlatCAMApp.py:6382 +#: FlatCAMApp.py:6388 msgid "[WARNING_NOTCL] Export Gerber cancelled." msgstr "" -#: FlatCAMApp.py:6412 +#: FlatCAMApp.py:6418 msgid "[ERROR_NOTCL] Only Geometry objects can be used." msgstr "" -#: FlatCAMApp.py:6426 FlatCAMApp.py:6430 +#: FlatCAMApp.py:6432 FlatCAMApp.py:6436 msgid "Export DXF" msgstr "" -#: FlatCAMApp.py:6436 +#: FlatCAMApp.py:6442 msgid "[WARNING_NOTCL] Export DXF cancelled." msgstr "" -#: FlatCAMApp.py:6456 FlatCAMApp.py:6459 +#: FlatCAMApp.py:6462 FlatCAMApp.py:6465 msgid "Import SVG" msgstr "" -#: FlatCAMApp.py:6468 +#: FlatCAMApp.py:6474 msgid "[WARNING_NOTCL] Open SVG cancelled." msgstr "" -#: FlatCAMApp.py:6487 FlatCAMApp.py:6491 +#: FlatCAMApp.py:6493 FlatCAMApp.py:6497 msgid "Import DXF" msgstr "" -#: FlatCAMApp.py:6500 +#: FlatCAMApp.py:6506 msgid "[WARNING_NOTCL] Open DXF cancelled." msgstr "" -#: FlatCAMApp.py:6518 +#: FlatCAMApp.py:6524 #, python-format msgid "%s" msgstr "" -#: FlatCAMApp.py:6538 +#: FlatCAMApp.py:6544 msgid "" "[WARNING_NOTCL] Select an Gerber or Excellon file to view it's source file." msgstr "" -#: FlatCAMApp.py:6545 +#: FlatCAMApp.py:6551 msgid "" "[WARNING_NOTCL] There is no selected object for which to see it's source " "file code." msgstr "" -#: FlatCAMApp.py:6553 +#: FlatCAMApp.py:6559 msgid "Source Editor" msgstr "" -#: FlatCAMApp.py:6563 +#: FlatCAMApp.py:6569 #, python-format msgid "[ERROR]App.on_view_source() -->%s" msgstr "" -#: FlatCAMApp.py:6575 FlatCAMApp.py:7717 FlatCAMObj.py:5551 +#: FlatCAMApp.py:6581 FlatCAMApp.py:7723 FlatCAMObj.py:5560 #: flatcamTools/ToolSolderPaste.py:1278 msgid "Code Editor" msgstr "" -#: FlatCAMApp.py:6587 +#: FlatCAMApp.py:6593 msgid "Script Editor" msgstr "" -#: FlatCAMApp.py:6590 +#: FlatCAMApp.py:6596 msgid "" "#\n" "# CREATE A NEW FLATCAM TCL SCRIPT\n" @@ -722,216 +726,216 @@ msgid "" "\n" msgstr "" -#: FlatCAMApp.py:6613 FlatCAMApp.py:6616 +#: FlatCAMApp.py:6619 FlatCAMApp.py:6622 msgid "Open TCL script" msgstr "" -#: FlatCAMApp.py:6624 +#: FlatCAMApp.py:6630 msgid "[WARNING_NOTCL] Open TCL script cancelled." msgstr "" -#: FlatCAMApp.py:6636 +#: FlatCAMApp.py:6642 #, python-format msgid "[ERROR]App.on_fileopenscript() -->%s" msgstr "" -#: FlatCAMApp.py:6662 FlatCAMApp.py:6665 +#: FlatCAMApp.py:6668 FlatCAMApp.py:6671 msgid "Run TCL script" msgstr "" -#: FlatCAMApp.py:6673 +#: FlatCAMApp.py:6679 msgid "[WARNING_NOTCL] Run TCL script cancelled." msgstr "" -#: FlatCAMApp.py:6723 FlatCAMApp.py:6727 +#: FlatCAMApp.py:6729 FlatCAMApp.py:6733 msgid "Save Project As ..." msgstr "" -#: FlatCAMApp.py:6724 +#: FlatCAMApp.py:6730 #, python-brace-format msgid "{l_save}/Project_{date}" msgstr "" -#: FlatCAMApp.py:6732 +#: FlatCAMApp.py:6738 msgid "[WARNING_NOTCL] Save Project cancelled." msgstr "" -#: FlatCAMApp.py:6776 +#: FlatCAMApp.py:6782 msgid "Exporting SVG" msgstr "" -#: FlatCAMApp.py:6810 FlatCAMApp.py:6916 FlatCAMApp.py:7031 +#: FlatCAMApp.py:6816 FlatCAMApp.py:6922 FlatCAMApp.py:7037 #, python-format msgid "[success] SVG file exported to %s" msgstr "" -#: FlatCAMApp.py:6841 FlatCAMApp.py:6962 +#: FlatCAMApp.py:6847 FlatCAMApp.py:6968 #, python-format msgid "[WARNING_NOTCL] No object Box. Using instead %s" msgstr "" -#: FlatCAMApp.py:6919 FlatCAMApp.py:7034 +#: FlatCAMApp.py:6925 FlatCAMApp.py:7040 msgid "Generating Film ... Please wait." msgstr "" -#: FlatCAMApp.py:7182 +#: FlatCAMApp.py:7188 #, python-format msgid "[success] Excellon file exported to %s" msgstr "" -#: FlatCAMApp.py:7189 +#: FlatCAMApp.py:7195 msgid "Exporting Excellon" msgstr "" -#: FlatCAMApp.py:7194 FlatCAMApp.py:7201 +#: FlatCAMApp.py:7200 FlatCAMApp.py:7207 msgid "[ERROR_NOTCL] Could not export Excellon file." msgstr "" -#: FlatCAMApp.py:7299 +#: FlatCAMApp.py:7305 #, python-format msgid "[success] Gerber file exported to %s" msgstr "" -#: FlatCAMApp.py:7306 +#: FlatCAMApp.py:7312 msgid "Exporting Gerber" msgstr "" -#: FlatCAMApp.py:7311 FlatCAMApp.py:7318 +#: FlatCAMApp.py:7317 FlatCAMApp.py:7324 msgid "[ERROR_NOTCL] Could not export Gerber file." msgstr "" -#: FlatCAMApp.py:7358 +#: FlatCAMApp.py:7364 #, python-format msgid "[success] DXF file exported to %s" msgstr "" -#: FlatCAMApp.py:7364 +#: FlatCAMApp.py:7370 msgid "Exporting DXF" msgstr "" -#: FlatCAMApp.py:7369 FlatCAMApp.py:7376 +#: FlatCAMApp.py:7375 FlatCAMApp.py:7382 msgid "[[WARNING_NOTCL]] Could not export DXF file." msgstr "" -#: FlatCAMApp.py:7396 FlatCAMApp.py:7438 FlatCAMApp.py:7482 +#: FlatCAMApp.py:7402 FlatCAMApp.py:7444 FlatCAMApp.py:7488 msgid "" "[ERROR_NOTCL] Not supported type is picked as parameter. Only Geometry and " "Gerber are supported" msgstr "" -#: FlatCAMApp.py:7406 +#: FlatCAMApp.py:7412 msgid "Importing SVG" msgstr "" -#: FlatCAMApp.py:7417 FlatCAMApp.py:7459 FlatCAMApp.py:7502 FlatCAMApp.py:7579 -#: FlatCAMApp.py:7640 FlatCAMApp.py:7703 flatcamTools/ToolPDF.py:212 +#: FlatCAMApp.py:7423 FlatCAMApp.py:7465 FlatCAMApp.py:7508 FlatCAMApp.py:7585 +#: FlatCAMApp.py:7646 FlatCAMApp.py:7709 flatcamTools/ToolPDF.py:212 #, python-format msgid "[success] Opened: %s" msgstr "" -#: FlatCAMApp.py:7448 +#: FlatCAMApp.py:7454 msgid "Importing DXF" msgstr "" -#: FlatCAMApp.py:7490 +#: FlatCAMApp.py:7496 msgid "Importing Image" msgstr "" -#: FlatCAMApp.py:7531 FlatCAMApp.py:7533 +#: FlatCAMApp.py:7537 FlatCAMApp.py:7539 #, python-format msgid "[ERROR_NOTCL] Failed to open file: %s" msgstr "" -#: FlatCAMApp.py:7536 +#: FlatCAMApp.py:7542 #, python-brace-format msgid "[ERROR_NOTCL] Failed to parse file: {name}. {error}" msgstr "" -#: FlatCAMApp.py:7543 FlatCAMObj.py:4230 +#: FlatCAMApp.py:7549 FlatCAMObj.py:4239 #: flatcamEditors/FlatCAMExcEditor.py:2077 msgid "[ERROR] An internal error has ocurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:7552 +#: FlatCAMApp.py:7558 msgid "" "[ERROR_NOTCL] Object is not Gerber file or empty. Aborting object creation." msgstr "" -#: FlatCAMApp.py:7560 +#: FlatCAMApp.py:7566 msgid "Opening Gerber" msgstr "" -#: FlatCAMApp.py:7570 +#: FlatCAMApp.py:7576 msgid "[ERROR_NOTCL] Open Gerber failed. Probable not a Gerber file." msgstr "" -#: FlatCAMApp.py:7603 flatcamTools/ToolPcbWizard.py:421 +#: FlatCAMApp.py:7609 flatcamTools/ToolPcbWizard.py:421 msgid "[ERROR_NOTCL] This is not Excellon file." msgstr "" -#: FlatCAMApp.py:7606 +#: FlatCAMApp.py:7612 #, python-format msgid "[ERROR_NOTCL] Cannot open file: %s" msgstr "" -#: FlatCAMApp.py:7611 flatcamTools/ToolPcbWizard.py:429 +#: FlatCAMApp.py:7617 flatcamTools/ToolPcbWizard.py:429 msgid "[ERROR_NOTCL] An internal error has occurred. See shell.\n" msgstr "" -#: FlatCAMApp.py:7624 flatcamTools/ToolPDF.py:262 +#: FlatCAMApp.py:7630 flatcamTools/ToolPDF.py:262 #: flatcamTools/ToolPcbWizard.py:442 #, python-format msgid "[ERROR_NOTCL] No geometry found in file: %s" msgstr "" -#: FlatCAMApp.py:7627 +#: FlatCAMApp.py:7633 msgid "Opening Excellon." msgstr "" -#: FlatCAMApp.py:7633 +#: FlatCAMApp.py:7639 msgid "[ERROR_NOTCL] Open Excellon file failed. Probable not an Excellon file." msgstr "" -#: FlatCAMApp.py:7670 +#: FlatCAMApp.py:7676 #, python-format msgid "[ERROR_NOTCL] Failed to open %s" msgstr "" -#: FlatCAMApp.py:7680 +#: FlatCAMApp.py:7686 msgid "[ERROR_NOTCL] This is not GCODE" msgstr "" -#: FlatCAMApp.py:7686 +#: FlatCAMApp.py:7692 msgid "Opening G-Code." msgstr "" -#: FlatCAMApp.py:7694 +#: FlatCAMApp.py:7700 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:7734 +#: FlatCAMApp.py:7740 #, python-format msgid "[ERROR_NOTCL] Failed to open config file: %s" msgstr "" -#: FlatCAMApp.py:7760 FlatCAMApp.py:7777 +#: FlatCAMApp.py:7766 FlatCAMApp.py:7783 #, python-format msgid "[ERROR_NOTCL] Failed to open project file: %s" msgstr "" -#: FlatCAMApp.py:7800 +#: FlatCAMApp.py:7806 #, python-format msgid "[success] Project loaded from: %s" msgstr "" -#: FlatCAMApp.py:7905 +#: FlatCAMApp.py:7911 msgid "Available commands:\n" msgstr "" -#: FlatCAMApp.py:7907 +#: FlatCAMApp.py:7913 msgid "" "\n" "\n" @@ -939,27 +943,27 @@ msgid "" " Example: help open_gerber" msgstr "" -#: FlatCAMApp.py:8057 +#: FlatCAMApp.py:8063 msgid "Shows list of commands." msgstr "" -#: FlatCAMApp.py:8114 +#: FlatCAMApp.py:8120 msgid "[ERROR_NOTCL] Failed to load recent item list." msgstr "" -#: FlatCAMApp.py:8121 +#: FlatCAMApp.py:8127 msgid "[ERROR_NOTCL] Failed to parse recent item list." msgstr "" -#: FlatCAMApp.py:8165 +#: FlatCAMApp.py:8171 msgid "Clear Recent files" msgstr "" -#: FlatCAMApp.py:8182 flatcamGUI/FlatCAMGUI.py:968 +#: FlatCAMApp.py:8188 flatcamGUI/FlatCAMGUI.py:968 msgid "Shortcut Key List" msgstr "" -#: FlatCAMApp.py:8189 +#: FlatCAMApp.py:8195 msgid "" "\n" "

Selected Tab - Choose an Item from " @@ -1009,113 +1013,113 @@ msgid "" " " msgstr "" -#: FlatCAMApp.py:8293 +#: FlatCAMApp.py:8302 msgid "[WARNING_NOTCL] Failed checking for latest version. Could not connect." msgstr "" -#: FlatCAMApp.py:8300 +#: FlatCAMApp.py:8309 msgid "[ERROR_NOTCL] Could not parse information about latest version." msgstr "" -#: FlatCAMApp.py:8310 +#: FlatCAMApp.py:8319 msgid "[success] FlatCAM is up to date!" msgstr "" -#: FlatCAMApp.py:8315 +#: FlatCAMApp.py:8324 msgid "Newer Version Available" msgstr "" -#: FlatCAMApp.py:8316 +#: FlatCAMApp.py:8325 msgid "" "There is a newer version of FlatCAM available for download:\n" "\n" msgstr "" -#: FlatCAMApp.py:8318 +#: FlatCAMApp.py:8327 msgid "info" msgstr "" -#: FlatCAMApp.py:8337 +#: FlatCAMApp.py:8346 msgid "[success] All plots disabled." msgstr "" -#: FlatCAMApp.py:8343 +#: FlatCAMApp.py:8352 msgid "[success] All non selected plots disabled." msgstr "" -#: FlatCAMApp.py:8349 +#: FlatCAMApp.py:8358 msgid "[success] All plots enabled." msgstr "" -#: FlatCAMApp.py:8355 +#: FlatCAMApp.py:8364 msgid "[success] Selected plots enabled..." msgstr "" -#: FlatCAMApp.py:8363 +#: FlatCAMApp.py:8372 msgid "[success] Selected plots disabled..." msgstr "" -#: FlatCAMApp.py:8373 FlatCAMApp.py:8386 +#: FlatCAMApp.py:8382 FlatCAMApp.py:8395 msgid "Working ..." msgstr "" -#: FlatCAMApp.py:8420 +#: FlatCAMApp.py:8429 msgid "Saving FlatCAM Project" msgstr "" -#: FlatCAMApp.py:8441 FlatCAMApp.py:8472 +#: FlatCAMApp.py:8450 FlatCAMApp.py:8481 #, python-format msgid "[success] Project saved to: %s" msgstr "" -#: FlatCAMApp.py:8459 +#: FlatCAMApp.py:8468 #, python-format msgid "[ERROR_NOTCL] Failed to verify project file: %s. Retry to save it." msgstr "" -#: FlatCAMApp.py:8466 +#: FlatCAMApp.py:8475 #, python-format msgid "[ERROR_NOTCL] Failed to parse saved project file: %s. Retry to save it." msgstr "" -#: FlatCAMApp.py:8474 +#: FlatCAMApp.py:8483 #, python-format msgid "[ERROR_NOTCL] Failed to save project file: %s. Retry to save it." msgstr "" -#: FlatCAMObj.py:202 +#: FlatCAMObj.py:207 #, python-brace-format msgid "[success] Name changed from {old} to {new}" msgstr "" -#: FlatCAMObj.py:545 FlatCAMObj.py:2031 FlatCAMObj.py:3275 FlatCAMObj.py:5448 +#: FlatCAMObj.py:553 FlatCAMObj.py:2035 FlatCAMObj.py:3281 FlatCAMObj.py:5457 msgid "Basic" msgstr "" -#: FlatCAMObj.py:557 FlatCAMObj.py:2047 FlatCAMObj.py:3297 FlatCAMObj.py:5454 +#: FlatCAMObj.py:565 FlatCAMObj.py:2051 FlatCAMObj.py:3303 FlatCAMObj.py:5463 msgid "Advanced" msgstr "" -#: FlatCAMObj.py:920 FlatCAMObj.py:975 +#: FlatCAMObj.py:928 FlatCAMObj.py:983 #, python-format msgid "[success] Isolation geometry created: %s" msgstr "" -#: FlatCAMObj.py:1154 +#: FlatCAMObj.py:1162 msgid "Plotting Apertures" msgstr "" -#: FlatCAMObj.py:1870 flatcamEditors/FlatCAMExcEditor.py:1368 +#: FlatCAMObj.py:1878 flatcamEditors/FlatCAMExcEditor.py:1368 msgid "Total Drills" msgstr "" -#: FlatCAMObj.py:1896 flatcamEditors/FlatCAMExcEditor.py:1400 +#: FlatCAMObj.py:1904 flatcamEditors/FlatCAMExcEditor.py:1400 msgid "Total Slots" msgstr "" -#: 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 +#: FlatCAMObj.py:2107 FlatCAMObj.py:3355 FlatCAMObj.py:3655 FlatCAMObj.py:3842 +#: FlatCAMObj.py:3855 FlatCAMObj.py:3972 FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:5040 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 @@ -1134,21 +1138,21 @@ msgstr "" msgid "[ERROR_NOTCL] Wrong value format entered, use a number." msgstr "" -#: FlatCAMObj.py:2327 FlatCAMObj.py:2418 FlatCAMObj.py:2540 +#: FlatCAMObj.py:2331 FlatCAMObj.py:2423 FlatCAMObj.py:2546 msgid "" "[ERROR_NOTCL] Please select one or more tools from the list and try again." msgstr "" -#: FlatCAMObj.py:2334 +#: FlatCAMObj.py:2338 msgid "" "[ERROR_NOTCL] Milling tool for DRILLS is larger than hole size. Cancelled." msgstr "" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Tool_nr" msgstr "" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 #: flatcamEditors/FlatCAMExcEditor.py:819 #: flatcamEditors/FlatCAMExcEditor.py:2020 flatcamGUI/ObjectUI.py:556 #: flatcamTools/ToolNonCopperClear.py:83 flatcamTools/ToolPaint.py:80 @@ -1156,191 +1160,191 @@ msgstr "" msgid "Diameter" msgstr "" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Drills_Nr" msgstr "" -#: FlatCAMObj.py:2348 FlatCAMObj.py:2442 FlatCAMObj.py:2560 +#: FlatCAMObj.py:2352 FlatCAMObj.py:2447 FlatCAMObj.py:2566 msgid "Slots_Nr" msgstr "" -#: FlatCAMObj.py:2428 +#: FlatCAMObj.py:2433 msgid "" "[ERROR_NOTCL] Milling tool for SLOTS is larger than hole size. Cancelled." msgstr "" -#: FlatCAMObj.py:2602 FlatCAMObj.py:4268 FlatCAMObj.py:4484 FlatCAMObj.py:4801 +#: FlatCAMObj.py:2608 FlatCAMObj.py:4277 FlatCAMObj.py:4493 FlatCAMObj.py:4810 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"z_pdepth\"] or self." "options[\"z_pdepth\"]" msgstr "" -#: FlatCAMObj.py:2614 FlatCAMObj.py:4280 FlatCAMObj.py:4496 FlatCAMObj.py:4813 +#: FlatCAMObj.py:2620 FlatCAMObj.py:4289 FlatCAMObj.py:4505 FlatCAMObj.py:4822 msgid "" "[ERROR_NOTCL] Wrong value format for self.defaults[\"feedrate_probe\"] or " "self.options[\"feedrate_probe\"]" msgstr "" -#: FlatCAMObj.py:2646 FlatCAMObj.py:4689 FlatCAMObj.py:4694 FlatCAMObj.py:4844 +#: FlatCAMObj.py:2652 FlatCAMObj.py:4698 FlatCAMObj.py:4703 FlatCAMObj.py:4853 msgid "Generating CNC Code" msgstr "" -#: FlatCAMObj.py:2672 FlatCAMObj.py:4990 camlib.py:5164 camlib.py:5623 -#: camlib.py:5886 +#: FlatCAMObj.py:2678 FlatCAMObj.py:4999 camlib.py:5167 camlib.py:5626 +#: camlib.py:5889 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:2984 FlatCAMObj.py:3889 FlatCAMObj.py:3890 FlatCAMObj.py:3899 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3898 FlatCAMObj.py:3899 FlatCAMObj.py:3908 msgid "Iso" msgstr "" -#: FlatCAMObj.py:2984 FlatCAMObj.py:3233 FlatCAMObj.py:3513 +#: FlatCAMObj.py:2990 FlatCAMObj.py:3239 FlatCAMObj.py:3520 msgid "Rough" msgstr "" -#: FlatCAMObj.py:2984 +#: FlatCAMObj.py:2990 msgid "Finish" msgstr "" -#: FlatCAMObj.py:3268 flatcamGUI/FlatCAMGUI.py:526 flatcamGUI/FlatCAMGUI.py:722 +#: FlatCAMObj.py:3274 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:3483 +#: FlatCAMObj.py:3490 msgid "[ERROR_NOTCL] Please enter the desired tool diameter in Float format." msgstr "" -#: FlatCAMObj.py:3556 +#: FlatCAMObj.py:3565 msgid "[success] Tool added in Tool Table." msgstr "" -#: FlatCAMObj.py:3561 +#: FlatCAMObj.py:3570 msgid "[ERROR_NOTCL] Default Tool added. Wrong value format entered." msgstr "" -#: FlatCAMObj.py:3591 FlatCAMObj.py:3601 +#: FlatCAMObj.py:3600 FlatCAMObj.py:3610 msgid "[WARNING_NOTCL] Failed. Select a tool to copy." msgstr "" -#: FlatCAMObj.py:3630 +#: FlatCAMObj.py:3639 msgid "[success] Tool was copied in Tool Table." msgstr "" -#: FlatCAMObj.py:3663 +#: FlatCAMObj.py:3672 msgid "[success] Tool was edited in Tool Table." msgstr "" -#: FlatCAMObj.py:3694 FlatCAMObj.py:3704 +#: FlatCAMObj.py:3703 FlatCAMObj.py:3713 msgid "[WARNING_NOTCL] Failed. Select a tool to delete." msgstr "" -#: FlatCAMObj.py:3728 +#: FlatCAMObj.py:3737 msgid "[success] Tool was deleted in Tool Table." msgstr "" -#: FlatCAMObj.py:4149 +#: FlatCAMObj.py:4158 #, python-format msgid "" "[WARNING_NOTCL] This Geometry can't be processed because it is %s geometry." msgstr "" -#: FlatCAMObj.py:4166 +#: FlatCAMObj.py:4175 msgid "[ERROR_NOTCL] Wrong Tool Dia value format entered, use a number." msgstr "" -#: FlatCAMObj.py:4193 +#: FlatCAMObj.py:4202 msgid "[ERROR_NOTCL] Failed. No tool selected in the tool table ..." msgstr "" -#: FlatCAMObj.py:4231 +#: FlatCAMObj.py:4240 #, python-format msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s" msgstr "" -#: FlatCAMObj.py:4389 FlatCAMObj.py:4627 +#: FlatCAMObj.py:4398 FlatCAMObj.py:4636 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:4508 flatcamTools/ToolSolderPaste.py:1107 +#: FlatCAMObj.py:4517 flatcamTools/ToolSolderPaste.py:1107 #: flatcamTools/ToolSolderPaste.py:1162 msgid "[ERROR_NOTCL] Cancelled. Empty file, it has no geometry..." msgstr "" -#: FlatCAMObj.py:4877 FlatCAMObj.py:4887 camlib.py:3347 camlib.py:3356 +#: FlatCAMObj.py:4886 FlatCAMObj.py:4896 camlib.py:3348 camlib.py:3357 msgid "[ERROR_NOTCL] Scale factor has to be a number: integer or float." msgstr "" -#: FlatCAMObj.py:4925 +#: FlatCAMObj.py:4934 msgid "[success] Geometry Scale done." msgstr "" -#: FlatCAMObj.py:4942 camlib.py:3425 +#: FlatCAMObj.py:4951 camlib.py:3426 msgid "" "[ERROR_NOTCL] An (x,y) pair of values are needed. Probable you entered only " "one value in the Offset field." msgstr "" -#: FlatCAMObj.py:4962 +#: FlatCAMObj.py:4971 msgid "[success] Geometry Offset done." msgstr "" -#: FlatCAMObj.py:5516 FlatCAMObj.py:5521 flatcamTools/ToolSolderPaste.py:1361 +#: FlatCAMObj.py:5525 FlatCAMObj.py:5530 flatcamTools/ToolSolderPaste.py:1361 msgid "Export Machine Code ..." msgstr "" -#: FlatCAMObj.py:5527 flatcamTools/ToolSolderPaste.py:1364 +#: FlatCAMObj.py:5536 flatcamTools/ToolSolderPaste.py:1364 msgid "[WARNING_NOTCL] Export Machine Code cancelled ..." msgstr "" -#: FlatCAMObj.py:5540 +#: FlatCAMObj.py:5549 #, python-format msgid "[success] Machine Code file saved to: %s" msgstr "" -#: FlatCAMObj.py:5562 +#: FlatCAMObj.py:5571 #, python-format msgid "[ERROR]FlatCAMCNNJob.on_edit_code_click() -->%s" msgstr "" -#: FlatCAMObj.py:5679 +#: FlatCAMObj.py:5688 #, python-format msgid "" "[WARNING_NOTCL] This CNCJob object can't be processed because it is a %s " "CNCJob object." msgstr "" -#: FlatCAMObj.py:5732 +#: FlatCAMObj.py:5741 msgid "[ERROR_NOTCL] G-code does not have a units code: either G20 or G21" msgstr "" -#: FlatCAMObj.py:5745 +#: FlatCAMObj.py:5754 msgid "" "[ERROR_NOTCL] Cancelled. The Toolchange Custom code is enabled but it's " "empty." msgstr "" -#: FlatCAMObj.py:5752 +#: FlatCAMObj.py:5761 msgid "[success] Toolchange G-code was replaced by a custom code." msgstr "" -#: FlatCAMObj.py:5767 flatcamTools/ToolSolderPaste.py:1390 +#: FlatCAMObj.py:5776 flatcamTools/ToolSolderPaste.py:1390 msgid "[WARNING_NOTCL] No such file or directory" msgstr "" -#: FlatCAMObj.py:5787 FlatCAMObj.py:5799 +#: FlatCAMObj.py:5796 FlatCAMObj.py:5808 msgid "" "[WARNING_NOTCL] The used postprocessor file has to have in it's name: " "'toolchange_custom'" msgstr "" -#: FlatCAMObj.py:5805 +#: FlatCAMObj.py:5814 msgid "[ERROR] There is no postprocessor file." msgstr "" @@ -1382,55 +1386,55 @@ msgstr "" msgid "[ERROR_NOTCL] Failed to skew. No object selected" msgstr "" -#: camlib.py:2727 camlib.py:2812 +#: camlib.py:2728 camlib.py:2813 #, python-format msgid "[WARNING] Coordinates missing, line ignored: %s" msgstr "" -#: camlib.py:2728 camlib.py:2813 +#: camlib.py:2729 camlib.py:2814 msgid "[WARNING_NOTCL] GERBER file might be CORRUPT. Check the file !!!" msgstr "" -#: camlib.py:2777 +#: camlib.py:2778 #, 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:3169 +#: camlib.py:3170 #, python-format msgid "" "[ERROR]Gerber Parser ERROR.\n" "%s:" msgstr "" -#: camlib.py:3393 +#: camlib.py:3394 msgid "[success] Gerber Scale done." msgstr "" -#: camlib.py:3458 +#: camlib.py:3459 msgid "[success] Gerber Offset done." msgstr "" -#: camlib.py:3512 +#: camlib.py:3513 msgid "[success] Gerber Mirror done." msgstr "" -#: camlib.py:3558 +#: camlib.py:3559 msgid "[success] Gerber Skew done." msgstr "" -#: camlib.py:3596 +#: camlib.py:3597 msgid "[success] Gerber Rotate done." msgstr "" -#: camlib.py:3875 +#: camlib.py:3878 #, python-format msgid "[ERROR_NOTCL] This is GCODE mark: %s" msgstr "" -#: camlib.py:3990 +#: camlib.py:3993 #, python-format msgid "" "[WARNING] No tool diameter info's. See shell.\n" @@ -1441,26 +1445,26 @@ msgid "" "diameters to reflect the real diameters." msgstr "" -#: camlib.py:4455 +#: camlib.py:4458 #, python-brace-format msgid "" "[ERROR] Excellon Parser error.\n" "Parsing Failed. Line {l_nr}: {line}\n" msgstr "" -#: camlib.py:4534 +#: camlib.py:4537 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:5073 +#: camlib.py:5076 #, python-format msgid "[ERROR] There is no such parameter: %s" msgstr "" -#: camlib.py:5143 +#: camlib.py:5146 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "drill into material.\n" @@ -1469,27 +1473,27 @@ msgid "" "CNC code (Gcode etc)." msgstr "" -#: camlib.py:5150 camlib.py:5646 camlib.py:5909 +#: camlib.py:5153 camlib.py:5649 camlib.py:5912 #, python-format msgid "" "[WARNING] The Cut Z parameter is zero. There will be no cut, skipping %s file" msgstr "" -#: camlib.py:5379 camlib.py:5476 camlib.py:5534 +#: camlib.py:5382 camlib.py:5479 camlib.py:5537 msgid "[ERROR_NOTCL] The loaded Excellon file has no drills ..." msgstr "" -#: camlib.py:5481 +#: camlib.py:5484 msgid "[ERROR_NOTCL] Wrong optimization type selected." msgstr "" -#: camlib.py:5634 camlib.py:5897 +#: camlib.py:5637 camlib.py:5900 msgid "" "[ERROR_NOTCL] Cut_Z parameter is None or zero. Most likely a bad " "combinations of other parameters." msgstr "" -#: camlib.py:5639 camlib.py:5902 +#: camlib.py:5642 camlib.py:5905 msgid "" "[WARNING] The Cut Z parameter has positive value. It is the depth value to " "cut into material.\n" @@ -1498,11 +1502,11 @@ msgid "" "code (Gcode etc)." msgstr "" -#: camlib.py:5651 camlib.py:5914 +#: camlib.py:5654 camlib.py:5917 msgid "[ERROR_NOTCL] Travel Z parameter is None or zero." msgstr "" -#: camlib.py:5655 camlib.py:5918 +#: camlib.py:5658 camlib.py:5921 msgid "" "[WARNING] The Travel Z parameter has negative value. It is the height value " "to travel between cuts.\n" @@ -1511,31 +1515,31 @@ msgid "" "code (Gcode etc)." msgstr "" -#: camlib.py:5662 camlib.py:5925 +#: camlib.py:5665 camlib.py:5928 #, python-format msgid "" "[WARNING] The Z Travel parameter is zero. This is dangerous, skipping %s file" msgstr "" -#: camlib.py:5792 +#: camlib.py:5795 #, python-format msgid "[ERROR]Expected a Geometry, got %s" msgstr "" -#: camlib.py:5798 +#: camlib.py:5801 msgid "" "[ERROR_NOTCL] Trying to generate a CNC Job from a Geometry object without " "solid_geometry." msgstr "" -#: camlib.py:5837 +#: camlib.py:5840 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:6049 +#: camlib.py:6052 msgid "[ERROR_NOTCL] There is no tool data in the SolderPaste geometry." msgstr "" @@ -1766,7 +1770,7 @@ msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:665 #: flatcamEditors/FlatCAMGrbEditor.py:2550 #: flatcamEditors/FlatCAMGrbEditor.py:2586 -#: flatcamEditors/FlatCAMGrbEditor.py:4580 flatcamGUI/FlatCAMGUI.py:5107 +#: flatcamEditors/FlatCAMGrbEditor.py:4588 flatcamGUI/FlatCAMGUI.py:5107 #: flatcamTools/ToolTransform.py:68 msgid "Angle:" msgstr "" @@ -1836,7 +1840,7 @@ msgid "[success] Done. Drill(s) deleted." msgstr "" #: flatcamEditors/FlatCAMExcEditor.py:2705 -#: flatcamEditors/FlatCAMGrbEditor.py:4340 +#: flatcamEditors/FlatCAMGrbEditor.py:4350 msgid "Click on the circular array Center position" msgstr "" @@ -1897,7 +1901,7 @@ msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:2700 #: flatcamEditors/FlatCAMGeoEditor.py:2726 #: flatcamEditors/FlatCAMGeoEditor.py:2752 -#: flatcamEditors/FlatCAMGrbEditor.py:4392 +#: flatcamEditors/FlatCAMGrbEditor.py:4402 msgid "" "[WARNING_NOTCL] Buffer distance value is missing or wrong format. Add it and " "retry." @@ -2042,53 +2046,53 @@ msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:617 #: flatcamEditors/FlatCAMGeoEditor.py:990 -#: flatcamEditors/FlatCAMGrbEditor.py:4531 -#: flatcamEditors/FlatCAMGrbEditor.py:4916 flatcamGUI/FlatCAMGUI.py:654 +#: flatcamEditors/FlatCAMGrbEditor.py:4539 +#: flatcamEditors/FlatCAMGrbEditor.py:4924 flatcamGUI/FlatCAMGUI.py:654 #: flatcamGUI/FlatCAMGUI.py:1879 flatcamTools/ToolTransform.py:398 msgid "Transform Tool" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:618 #: flatcamEditors/FlatCAMGeoEditor.py:679 -#: flatcamEditors/FlatCAMGrbEditor.py:4532 -#: flatcamEditors/FlatCAMGrbEditor.py:4594 flatcamTools/ToolTransform.py:24 +#: flatcamEditors/FlatCAMGrbEditor.py:4540 +#: flatcamEditors/FlatCAMGrbEditor.py:4602 flatcamTools/ToolTransform.py:24 #: flatcamTools/ToolTransform.py:82 msgid "Rotate" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:619 -#: flatcamEditors/FlatCAMGrbEditor.py:4533 flatcamTools/ToolTransform.py:25 +#: flatcamEditors/FlatCAMGrbEditor.py:4541 flatcamTools/ToolTransform.py:25 msgid "Skew/Shear" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:620 #: flatcamEditors/FlatCAMGrbEditor.py:2471 -#: flatcamEditors/FlatCAMGrbEditor.py:4534 flatcamGUI/FlatCAMGUI.py:718 +#: flatcamEditors/FlatCAMGrbEditor.py:4542 flatcamGUI/FlatCAMGUI.py:718 #: flatcamGUI/FlatCAMGUI.py:1947 flatcamGUI/ObjectUI.py:100 #: flatcamTools/ToolTransform.py:26 msgid "Scale" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:621 -#: flatcamEditors/FlatCAMGrbEditor.py:4535 flatcamTools/ToolTransform.py:27 +#: flatcamEditors/FlatCAMGrbEditor.py:4543 flatcamTools/ToolTransform.py:27 msgid "Mirror (Flip)" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:622 -#: flatcamEditors/FlatCAMGrbEditor.py:4536 flatcamGUI/ObjectUI.py:127 +#: flatcamEditors/FlatCAMGrbEditor.py:4544 flatcamGUI/ObjectUI.py:127 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 #: flatcamTools/ToolTransform.py:28 msgid "Offset" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:633 -#: flatcamEditors/FlatCAMGrbEditor.py:4548 +#: flatcamEditors/FlatCAMGrbEditor.py:4556 #, python-format msgid "Editor %s" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:667 -#: flatcamEditors/FlatCAMGrbEditor.py:4582 flatcamTools/ToolTransform.py:70 +#: flatcamEditors/FlatCAMGrbEditor.py:4590 flatcamTools/ToolTransform.py:70 msgid "" "Angle for Rotation action, in degrees.\n" "Float number between -360 and 359.\n" @@ -2097,7 +2101,7 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:681 -#: flatcamEditors/FlatCAMGrbEditor.py:4596 +#: flatcamEditors/FlatCAMGrbEditor.py:4604 msgid "" "Rotate the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2105,14 +2109,14 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:704 -#: flatcamEditors/FlatCAMGrbEditor.py:4619 flatcamTools/ToolTransform.py:107 +#: flatcamEditors/FlatCAMGrbEditor.py:4627 flatcamTools/ToolTransform.py:107 msgid "Angle X:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:706 #: flatcamEditors/FlatCAMGeoEditor.py:724 -#: flatcamEditors/FlatCAMGrbEditor.py:4621 -#: flatcamEditors/FlatCAMGrbEditor.py:4639 flatcamTools/ToolTransform.py:109 +#: flatcamEditors/FlatCAMGrbEditor.py:4629 +#: flatcamEditors/FlatCAMGrbEditor.py:4647 flatcamTools/ToolTransform.py:109 #: flatcamTools/ToolTransform.py:127 msgid "" "Angle for Skew action, in degrees.\n" @@ -2120,14 +2124,14 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:715 -#: flatcamEditors/FlatCAMGrbEditor.py:4630 flatcamTools/ToolTransform.py:118 +#: flatcamEditors/FlatCAMGrbEditor.py:4638 flatcamTools/ToolTransform.py:118 msgid "Skew X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:717 #: flatcamEditors/FlatCAMGeoEditor.py:735 -#: flatcamEditors/FlatCAMGrbEditor.py:4632 -#: flatcamEditors/FlatCAMGrbEditor.py:4650 +#: flatcamEditors/FlatCAMGrbEditor.py:4640 +#: flatcamEditors/FlatCAMGrbEditor.py:4658 msgid "" "Skew/shear the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2135,34 +2139,34 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:722 -#: flatcamEditors/FlatCAMGrbEditor.py:4637 flatcamTools/ToolTransform.py:125 +#: flatcamEditors/FlatCAMGrbEditor.py:4645 flatcamTools/ToolTransform.py:125 msgid "Angle Y:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:733 -#: flatcamEditors/FlatCAMGrbEditor.py:4648 flatcamTools/ToolTransform.py:136 +#: flatcamEditors/FlatCAMGrbEditor.py:4656 flatcamTools/ToolTransform.py:136 msgid "Skew Y" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:761 -#: flatcamEditors/FlatCAMGrbEditor.py:4676 flatcamTools/ToolTransform.py:164 +#: flatcamEditors/FlatCAMGrbEditor.py:4684 flatcamTools/ToolTransform.py:164 msgid "Factor X:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:763 -#: flatcamEditors/FlatCAMGrbEditor.py:4678 flatcamTools/ToolTransform.py:166 +#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:166 msgid "Factor for Scale action over X axis." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:771 -#: flatcamEditors/FlatCAMGrbEditor.py:4686 flatcamTools/ToolTransform.py:174 +#: flatcamEditors/FlatCAMGrbEditor.py:4694 flatcamTools/ToolTransform.py:174 msgid "Scale X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:773 #: flatcamEditors/FlatCAMGeoEditor.py:790 -#: flatcamEditors/FlatCAMGrbEditor.py:4688 -#: flatcamEditors/FlatCAMGrbEditor.py:4705 +#: flatcamEditors/FlatCAMGrbEditor.py:4696 +#: flatcamEditors/FlatCAMGrbEditor.py:4713 msgid "" "Scale the selected shape(s).\n" "The point of reference depends on \n" @@ -2170,41 +2174,41 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:778 -#: flatcamEditors/FlatCAMGrbEditor.py:4693 flatcamTools/ToolTransform.py:181 +#: flatcamEditors/FlatCAMGrbEditor.py:4701 flatcamTools/ToolTransform.py:181 msgid "Factor Y:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:780 -#: flatcamEditors/FlatCAMGrbEditor.py:4695 flatcamTools/ToolTransform.py:183 +#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:183 msgid "Factor for Scale action over Y axis." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:788 -#: flatcamEditors/FlatCAMGrbEditor.py:4703 flatcamTools/ToolTransform.py:191 +#: flatcamEditors/FlatCAMGrbEditor.py:4711 flatcamTools/ToolTransform.py:191 msgid "Scale Y" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:797 -#: flatcamEditors/FlatCAMGrbEditor.py:4712 flatcamGUI/FlatCAMGUI.py:6441 +#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6441 #: flatcamTools/ToolTransform.py:200 msgid "Link" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:799 -#: flatcamEditors/FlatCAMGrbEditor.py:4714 +#: flatcamEditors/FlatCAMGrbEditor.py:4722 msgid "" "Scale the selected shape(s)\n" "using the Scale Factor X for both axis." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:805 -#: flatcamEditors/FlatCAMGrbEditor.py:4720 flatcamGUI/FlatCAMGUI.py:6449 +#: flatcamEditors/FlatCAMGrbEditor.py:4728 flatcamGUI/FlatCAMGUI.py:6449 #: flatcamTools/ToolTransform.py:208 msgid "Scale Reference" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:807 -#: flatcamEditors/FlatCAMGrbEditor.py:4722 +#: flatcamEditors/FlatCAMGrbEditor.py:4730 msgid "" "Scale the selected shape(s)\n" "using the origin reference when checked,\n" @@ -2213,24 +2217,24 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:835 -#: flatcamEditors/FlatCAMGrbEditor.py:4751 flatcamTools/ToolTransform.py:238 +#: flatcamEditors/FlatCAMGrbEditor.py:4759 flatcamTools/ToolTransform.py:238 msgid "Value X:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:837 -#: flatcamEditors/FlatCAMGrbEditor.py:4753 flatcamTools/ToolTransform.py:240 +#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:240 msgid "Value for Offset action on X axis." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:845 -#: flatcamEditors/FlatCAMGrbEditor.py:4761 flatcamTools/ToolTransform.py:248 +#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:248 msgid "Offset X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:847 #: flatcamEditors/FlatCAMGeoEditor.py:865 -#: flatcamEditors/FlatCAMGrbEditor.py:4763 -#: flatcamEditors/FlatCAMGrbEditor.py:4781 +#: flatcamEditors/FlatCAMGrbEditor.py:4771 +#: flatcamEditors/FlatCAMGrbEditor.py:4789 msgid "" "Offset the selected shape(s).\n" "The point of reference is the middle of\n" @@ -2238,46 +2242,46 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:853 -#: flatcamEditors/FlatCAMGrbEditor.py:4769 flatcamTools/ToolTransform.py:255 +#: flatcamEditors/FlatCAMGrbEditor.py:4777 flatcamTools/ToolTransform.py:255 msgid "Value Y:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:855 -#: flatcamEditors/FlatCAMGrbEditor.py:4771 flatcamTools/ToolTransform.py:257 +#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:257 msgid "Value for Offset action on Y axis." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:863 -#: flatcamEditors/FlatCAMGrbEditor.py:4779 flatcamTools/ToolTransform.py:265 +#: flatcamEditors/FlatCAMGrbEditor.py:4787 flatcamTools/ToolTransform.py:265 msgid "Offset Y" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:894 -#: flatcamEditors/FlatCAMGrbEditor.py:4810 flatcamTools/ToolTransform.py:295 +#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:295 msgid "Flip on X" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:896 #: flatcamEditors/FlatCAMGeoEditor.py:904 -#: flatcamEditors/FlatCAMGrbEditor.py:4812 #: flatcamEditors/FlatCAMGrbEditor.py:4820 +#: flatcamEditors/FlatCAMGrbEditor.py:4828 msgid "" "Flip the selected shape(s) over the X axis.\n" "Does not create a new shape." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:902 -#: flatcamEditors/FlatCAMGrbEditor.py:4818 flatcamTools/ToolTransform.py:303 +#: flatcamEditors/FlatCAMGrbEditor.py:4826 flatcamTools/ToolTransform.py:303 msgid "Flip on Y" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:911 -#: flatcamEditors/FlatCAMGrbEditor.py:4827 flatcamTools/ToolTransform.py:312 +#: flatcamEditors/FlatCAMGrbEditor.py:4835 flatcamTools/ToolTransform.py:312 msgid "Ref Pt" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:913 -#: flatcamEditors/FlatCAMGrbEditor.py:4829 +#: flatcamEditors/FlatCAMGrbEditor.py:4837 msgid "" "Flip the selected shape(s)\n" "around the point in Point Entry Field.\n" @@ -2291,12 +2295,12 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:925 -#: flatcamEditors/FlatCAMGrbEditor.py:4841 flatcamTools/ToolTransform.py:325 +#: flatcamEditors/FlatCAMGrbEditor.py:4849 flatcamTools/ToolTransform.py:325 msgid "Point:" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:927 -#: flatcamEditors/FlatCAMGrbEditor.py:4843 +#: flatcamEditors/FlatCAMGrbEditor.py:4851 msgid "" "Coordinates in format (x, y) used as reference for mirroring.\n" "The 'x' in (x, y) will be used when using Flip on X and\n" @@ -2304,7 +2308,7 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:939 -#: flatcamEditors/FlatCAMGrbEditor.py:4855 flatcamTools/ToolTransform.py:339 +#: flatcamEditors/FlatCAMGrbEditor.py:4863 flatcamTools/ToolTransform.py:339 msgid "" "The point coordinates can be captured by\n" "left click on canvas together with pressing\n" @@ -2312,235 +2316,235 @@ msgid "" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1054 -#: flatcamEditors/FlatCAMGrbEditor.py:4980 +#: flatcamEditors/FlatCAMGrbEditor.py:4988 msgid "[WARNING_NOTCL] Transformation cancelled. No shape selected." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1075 -#: flatcamEditors/FlatCAMGrbEditor.py:5000 flatcamTools/ToolTransform.py:468 +#: flatcamEditors/FlatCAMGrbEditor.py:5008 flatcamTools/ToolTransform.py:468 msgid "[ERROR_NOTCL] Wrong value format entered for Rotate, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1112 -#: flatcamEditors/FlatCAMGrbEditor.py:5043 flatcamTools/ToolTransform.py:502 +#: flatcamEditors/FlatCAMGrbEditor.py:5051 flatcamTools/ToolTransform.py:502 msgid "[ERROR_NOTCL] Wrong value format entered for Skew X, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1133 -#: flatcamEditors/FlatCAMGrbEditor.py:5070 flatcamTools/ToolTransform.py:520 +#: flatcamEditors/FlatCAMGrbEditor.py:5078 flatcamTools/ToolTransform.py:520 msgid "[ERROR_NOTCL] Wrong value format entered for Skew Y, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1154 -#: flatcamEditors/FlatCAMGrbEditor.py:5097 flatcamTools/ToolTransform.py:538 +#: flatcamEditors/FlatCAMGrbEditor.py:5105 flatcamTools/ToolTransform.py:538 msgid "[ERROR_NOTCL] Wrong value format entered for Scale X, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1191 -#: flatcamEditors/FlatCAMGrbEditor.py:5138 flatcamTools/ToolTransform.py:572 +#: flatcamEditors/FlatCAMGrbEditor.py:5146 flatcamTools/ToolTransform.py:572 msgid "[ERROR_NOTCL] Wrong value format entered for Scale Y, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1223 -#: flatcamEditors/FlatCAMGrbEditor.py:5176 flatcamTools/ToolTransform.py:601 +#: flatcamEditors/FlatCAMGrbEditor.py:5184 flatcamTools/ToolTransform.py:601 msgid "[ERROR_NOTCL] Wrong value format entered for Offset X, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1244 -#: flatcamEditors/FlatCAMGrbEditor.py:5202 flatcamTools/ToolTransform.py:619 +#: flatcamEditors/FlatCAMGrbEditor.py:5210 flatcamTools/ToolTransform.py:619 msgid "[ERROR_NOTCL] Wrong value format entered for Offset Y, use a number." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1262 -#: flatcamEditors/FlatCAMGrbEditor.py:5225 +#: flatcamEditors/FlatCAMGrbEditor.py:5233 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to rotate!" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1265 -#: flatcamEditors/FlatCAMGrbEditor.py:5228 flatcamTools/ToolTransform.py:640 +#: flatcamEditors/FlatCAMGrbEditor.py:5236 flatcamTools/ToolTransform.py:640 msgid "Appying Rotate" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1293 -#: flatcamEditors/FlatCAMGrbEditor.py:5259 +#: flatcamEditors/FlatCAMGrbEditor.py:5269 msgid "[success] Done. Rotate completed." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1309 -#: flatcamEditors/FlatCAMGrbEditor.py:5278 +#: flatcamEditors/FlatCAMGrbEditor.py:5288 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to flip!" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1312 -#: flatcamEditors/FlatCAMGrbEditor.py:5281 flatcamTools/ToolTransform.py:691 +#: flatcamEditors/FlatCAMGrbEditor.py:5291 flatcamTools/ToolTransform.py:691 msgid "Applying Flip" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1342 -#: flatcamEditors/FlatCAMGrbEditor.py:5318 flatcamTools/ToolTransform.py:733 +#: flatcamEditors/FlatCAMGrbEditor.py:5330 flatcamTools/ToolTransform.py:733 msgid "[success] Flip on the Y axis done ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1345 -#: flatcamEditors/FlatCAMGrbEditor.py:5326 flatcamTools/ToolTransform.py:742 +#: flatcamEditors/FlatCAMGrbEditor.py:5338 flatcamTools/ToolTransform.py:742 msgid "[success] Flip on the X axis done ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1364 -#: flatcamEditors/FlatCAMGrbEditor.py:5346 +#: flatcamEditors/FlatCAMGrbEditor.py:5358 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to shear/skew!" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1367 -#: flatcamEditors/FlatCAMGrbEditor.py:5349 flatcamTools/ToolTransform.py:760 +#: flatcamEditors/FlatCAMGrbEditor.py:5361 flatcamTools/ToolTransform.py:760 msgid "Applying Skew" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1392 -#: flatcamEditors/FlatCAMGrbEditor.py:5382 flatcamTools/ToolTransform.py:791 +#: flatcamEditors/FlatCAMGrbEditor.py:5396 flatcamTools/ToolTransform.py:791 #, python-format msgid "[success] Skew on the %s axis done ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1396 -#: flatcamEditors/FlatCAMGrbEditor.py:5386 flatcamTools/ToolTransform.py:795 +#: flatcamEditors/FlatCAMGrbEditor.py:5400 flatcamTools/ToolTransform.py:795 #, python-format msgid "[ERROR_NOTCL] Due of %s, Skew action was not executed." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1407 -#: flatcamEditors/FlatCAMGrbEditor.py:5405 +#: flatcamEditors/FlatCAMGrbEditor.py:5419 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to scale!" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1410 -#: flatcamEditors/FlatCAMGrbEditor.py:5408 flatcamTools/ToolTransform.py:809 +#: flatcamEditors/FlatCAMGrbEditor.py:5422 flatcamTools/ToolTransform.py:809 msgid "Applying Scale" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1443 -#: flatcamEditors/FlatCAMGrbEditor.py:5444 flatcamTools/ToolTransform.py:848 +#: flatcamEditors/FlatCAMGrbEditor.py:5460 flatcamTools/ToolTransform.py:848 #, python-format msgid "[success] Scale on the %s axis done ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1446 -#: flatcamEditors/FlatCAMGrbEditor.py:5447 flatcamTools/ToolTransform.py:851 +#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:851 #, python-format msgid "[ERROR_NOTCL] Due of %s, Scale action was not executed." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1455 -#: flatcamEditors/FlatCAMGrbEditor.py:5460 +#: flatcamEditors/FlatCAMGrbEditor.py:5476 msgid "[WARNING_NOTCL] No shape selected. Please Select a shape to offset!" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1458 -#: flatcamEditors/FlatCAMGrbEditor.py:5463 flatcamTools/ToolTransform.py:861 +#: flatcamEditors/FlatCAMGrbEditor.py:5479 flatcamTools/ToolTransform.py:861 msgid "Applying Offset" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1469 -#: flatcamEditors/FlatCAMGrbEditor.py:5484 flatcamTools/ToolTransform.py:880 +#: flatcamEditors/FlatCAMGrbEditor.py:5501 flatcamTools/ToolTransform.py:880 #, python-format msgid "[success] Offset on the %s axis done ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1473 -#: flatcamEditors/FlatCAMGrbEditor.py:5488 flatcamTools/ToolTransform.py:884 +#: flatcamEditors/FlatCAMGrbEditor.py:5505 flatcamTools/ToolTransform.py:884 #, python-format msgid "[ERROR_NOTCL] Due of %s, Offset action was not executed." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1477 -#: flatcamEditors/FlatCAMGrbEditor.py:5492 +#: flatcamEditors/FlatCAMGrbEditor.py:5509 msgid "Rotate ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1478 #: flatcamEditors/FlatCAMGeoEditor.py:1535 #: flatcamEditors/FlatCAMGeoEditor.py:1552 -#: flatcamEditors/FlatCAMGrbEditor.py:5493 -#: flatcamEditors/FlatCAMGrbEditor.py:5550 +#: flatcamEditors/FlatCAMGrbEditor.py:5510 #: flatcamEditors/FlatCAMGrbEditor.py:5567 +#: flatcamEditors/FlatCAMGrbEditor.py:5584 msgid "Enter an Angle Value (degrees):" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1487 -#: flatcamEditors/FlatCAMGrbEditor.py:5502 +#: flatcamEditors/FlatCAMGrbEditor.py:5519 msgid "[success] Geometry shape rotate done..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1492 -#: flatcamEditors/FlatCAMGrbEditor.py:5507 +#: flatcamEditors/FlatCAMGrbEditor.py:5524 msgid "[WARNING_NOTCL] Geometry shape rotate cancelled..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1498 -#: flatcamEditors/FlatCAMGrbEditor.py:5513 +#: flatcamEditors/FlatCAMGrbEditor.py:5530 msgid "Offset on X axis ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1499 #: flatcamEditors/FlatCAMGeoEditor.py:1518 -#: flatcamEditors/FlatCAMGrbEditor.py:5514 -#: flatcamEditors/FlatCAMGrbEditor.py:5533 +#: flatcamEditors/FlatCAMGrbEditor.py:5531 +#: flatcamEditors/FlatCAMGrbEditor.py:5550 #, python-format msgid "Enter a distance Value (%s):" msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1508 -#: flatcamEditors/FlatCAMGrbEditor.py:5523 +#: flatcamEditors/FlatCAMGrbEditor.py:5540 msgid "[success] Geometry shape offset on X axis done..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1512 -#: flatcamEditors/FlatCAMGrbEditor.py:5527 +#: flatcamEditors/FlatCAMGrbEditor.py:5544 msgid "[WARNING_NOTCL] Geometry shape offset X cancelled..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1517 -#: flatcamEditors/FlatCAMGrbEditor.py:5532 +#: flatcamEditors/FlatCAMGrbEditor.py:5549 msgid "Offset on Y axis ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1527 -#: flatcamEditors/FlatCAMGrbEditor.py:5542 +#: flatcamEditors/FlatCAMGrbEditor.py:5559 msgid "[success] Geometry shape offset on Y axis done..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1531 -#: flatcamEditors/FlatCAMGrbEditor.py:5546 +#: flatcamEditors/FlatCAMGrbEditor.py:5563 msgid "[WARNING_NOTCL] Geometry shape offset Y cancelled..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1534 -#: flatcamEditors/FlatCAMGrbEditor.py:5549 +#: flatcamEditors/FlatCAMGrbEditor.py:5566 msgid "Skew on X axis ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1544 -#: flatcamEditors/FlatCAMGrbEditor.py:5559 +#: flatcamEditors/FlatCAMGrbEditor.py:5576 msgid "[success] Geometry shape skew on X axis done..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1548 -#: flatcamEditors/FlatCAMGrbEditor.py:5563 +#: flatcamEditors/FlatCAMGrbEditor.py:5580 msgid "[WARNING_NOTCL] Geometry shape skew X cancelled..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1551 -#: flatcamEditors/FlatCAMGrbEditor.py:5566 +#: flatcamEditors/FlatCAMGrbEditor.py:5583 msgid "Skew on Y axis ..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1561 -#: flatcamEditors/FlatCAMGrbEditor.py:5576 +#: flatcamEditors/FlatCAMGrbEditor.py:5593 msgid "[success] Geometry shape skew on Y axis done..." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:1565 -#: flatcamEditors/FlatCAMGrbEditor.py:5580 +#: flatcamEditors/FlatCAMGrbEditor.py:5597 msgid "[WARNING_NOTCL] Geometry shape skew Y cancelled..." msgstr "" @@ -2691,7 +2695,7 @@ msgid "[WARNING_NOTCL] Buffer cancelled. No shape selected." msgstr "" #: flatcamEditors/FlatCAMGeoEditor.py:2711 -#: flatcamEditors/FlatCAMGrbEditor.py:4442 +#: flatcamEditors/FlatCAMGrbEditor.py:4447 msgid "[success] Done. Buffer Tool completed." msgstr "" @@ -2981,23 +2985,23 @@ msgid "Apertures Table for the Gerber Object." msgstr "" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Code" msgstr "" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 #: flatcamGUI/ObjectUI.py:891 flatcamGUI/ObjectUI.py:1465 msgid "Type" msgstr "" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Size" msgstr "" #: flatcamEditors/FlatCAMGrbEditor.py:2291 -#: flatcamEditors/FlatCAMGrbEditor.py:3602 flatcamGUI/ObjectUI.py:228 +#: flatcamEditors/FlatCAMGrbEditor.py:3601 flatcamGUI/ObjectUI.py:228 msgid "Dim" msgstr "" @@ -3213,33 +3217,40 @@ msgstr "" msgid "[WARNING_NOTCL] Cancelled. No aperture is selected" msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4270 +#: flatcamEditors/FlatCAMGrbEditor.py:4280 msgid "[ERROR_NOTCL] Failed. No aperture geometry is selected." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4278 +#: flatcamEditors/FlatCAMGrbEditor.py:4288 msgid "[success] Done. Apertures geometry deleted." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4427 +#: flatcamEditors/FlatCAMGrbEditor.py:4431 msgid "" "[WARNING_NOTCL] No aperture to buffer. Select at least one aperture and try " "again." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4456 +#: flatcamEditors/FlatCAMGrbEditor.py:4444 +#, python-format +msgid "" +"[ERROR_NOTCL] Failed.\n" +"%s" +msgstr "" + +#: flatcamEditors/FlatCAMGrbEditor.py:4461 msgid "" "[WARNING_NOTCL] Scale factor value is missing or wrong format. Add it and " "retry." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4486 +#: flatcamEditors/FlatCAMGrbEditor.py:4494 msgid "" "[WARNING_NOTCL] No aperture to scale. Select at least one aperture and try " "again." msgstr "" -#: flatcamEditors/FlatCAMGrbEditor.py:4502 +#: flatcamEditors/FlatCAMGrbEditor.py:4510 msgid "[success] Done. Scale Tool completed." msgstr ""